[MS-SSDPWP]:

Database Publishing Wizard Protocol

Intellectual Property Rights Notice for Open Specifications Documentation

§  Technical Documentation. Microsoft publishes Open Specifications documentation (“this documentation”) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions.

§  Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation.

§  No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

§  Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting .

§  Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks.

§  Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it.

Revision Summary

Date / Revision History / Revision Class / Comments /
8/7/2009 / 0.1 / Major / First release.
11/6/2009 / 0.1.1 / Editorial / Changed language and formatting in the technical content.
3/5/2010 / 0.2 / Minor / Clarified the meaning of the technical content.
4/21/2010 / 0.3 / Minor / Clarified the meaning of the technical content.
6/4/2010 / 0.3.1 / Editorial / Changed language and formatting in the technical content.
9/3/2010 / 0.3.1 / None / No changes to the meaning, language, or formatting of the technical content.
2/9/2011 / 0.3.1 / None / No changes to the meaning, language, or formatting of the technical content.
7/7/2011 / 0.3.1 / None / No changes to the meaning, language, or formatting of the technical content.
11/3/2011 / 0.3.1 / None / No changes to the meaning, language, or formatting of the technical content.
1/19/2012 / 0.3.1 / None / No changes to the meaning, language, or formatting of the technical content.
2/23/2012 / 4.0 / Major / Updated and revised the technical content.
3/27/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
5/24/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
6/29/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
7/16/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
10/8/2012 / 5.0 / Major / Updated and revised the technical content.
10/23/2012 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
3/26/2013 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
6/11/2013 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
8/8/2013 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
12/5/2013 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
2/11/2014 / 6.0 / Major / Updated and revised the technical content.
5/20/2014 / 6.0 / None / No changes to the meaning, language, or formatting of the technical content.
5/10/2016 / 7.0 / Major / Significantly changed the technical content.

Table of Contents

1 Introduction 6

1.1 Glossary 6

1.2 References 6

1.2.1 Normative References 6

1.2.2 Informative References 7

1.3 Overview 7

1.4 Relationship to Other Protocols 7

1.5 Prerequisites/Preconditions 8

1.6 Applicability Statement 8

1.7 Versioning and Capability Negotiation 8

1.8 Vendor-Extensible Fields 9

1.9 Standards Assignments 9

2 Messages 10

2.1 Transport 10

2.2 Common Message Syntax 10

2.2.1 Namespaces 10

2.2.2 Messages 10

2.2.3 Elements 10

2.2.4 Complex Types 10

2.2.5 Simple Types 10

2.2.6 Attributes 10

2.2.7 Groups 11

2.2.8 Attribute Groups 11

2.3 Directory Service Schema Elements 11

3 Protocol Details 12

3.1 PublishServiceSoap Server Details 12

3.1.1 Abstract Data Model 12

3.1.2 Timers 12

3.1.3 Initialization 12

3.1.4 Message Processing Events and Sequencing Rules 12

3.1.4.1 BeginPublish 13

3.1.4.1.1 Messages 13

3.1.4.1.1.1 BeginPublishSoapIn 14

3.1.4.1.1.2 BeginPublishSoapOut 14

3.1.4.1.2 Elements 14

3.1.4.1.2.1 BeginPublish 14

3.1.4.1.2.2 BeginPublishResponse 14

3.1.4.2 CancelPublish 15

3.1.4.2.1 Messages 15

3.1.4.2.1.1 CancelPublishSoapIn 15

3.1.4.2.1.2 CancelPublishSoapOut 15

3.1.4.2.2 Elements 15

3.1.4.2.2.1 CancelPublish 15

3.1.4.2.2.2 CancelPublishResponse 16

3.1.4.3 EndPublish 16

3.1.4.3.1 Messages 16

3.1.4.3.1.1 EndPublishSoapIn 16

3.1.4.3.1.2 EndPublishSoapOut 16

3.1.4.3.2 Elements 17

3.1.4.3.2.1 EndPublish 17

3.1.4.3.2.2 EndPublishResponse 17

3.1.4.4 GetServiceOptions 17

3.1.4.4.1 Messages 17

3.1.4.4.1.1 GetServiceOptionsSoapIn 17

3.1.4.4.1.2 GetServiceOptionsSoapOut 18

3.1.4.4.2 Elements 18

3.1.4.4.2.1 GetServiceOptions 18

3.1.4.4.2.2 GetServiceOptionsResponse 18

3.1.4.5 PublishData 18

3.1.4.5.1 Messages 19

3.1.4.5.1.1 PublishDataSoapIn 19

3.1.4.5.1.2 PublishDataSoapOut 19

3.1.4.5.2 Elements 19

3.1.4.5.2.1 PublishData 19

3.1.4.5.2.2 PublishDataResponse 19

3.1.4.6 PublishScript 20

3.1.4.6.1 Messages 20

3.1.4.6.1.1 PublishScriptSoapIn 20

3.1.4.6.1.2 PublishScriptSoapOut 20

3.1.4.6.2 Elements 20

3.1.4.6.2.1 PublishScript 20

3.1.4.6.2.2 PublishScriptResponse 21

3.1.5 Timer Events 21

3.1.6 Other Local Events 21

4 Protocol Examples 22

5 Security 24

5.1 Security Considerations for Implementers 24

5.2 Index of Security Parameters 24

6 Appendix A: Full WSDL 25

7 Appendix B: Product Behavior 30

8 Change Tracking 31

9 Index 33

1  Introduction

The Database Publishing Wizard Protocol is a format that enables communication with an instance of Microsoft SQL Server by using open, industry-standard protocols. By using this format, a publishing session can be initiated, data can be published, and scripts can be executed against an instance of SQL Server.

Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in this specification are informative.

1.1  Glossary

This document uses the following terms:

Web Services Description Language (WSDL): An XML format for describing network services as a set of endpoints that operate on messages that contain either document-oriented or procedure-oriented information. The operations and messages are described abstractly and are bound to a concrete network protocol and message format in order to define an endpoint. Related concrete endpoints are combined into abstract endpoints, which describe a network service. WSDL is extensible, which allows the description of endpoints and their messages regardless of the message formats or network protocols that are used.

WSDL message: An abstract, typed definition of the data that is communicated during a WSDL operation [WSDL]. Also, an element that describes the data being exchanged between web service providers and clients.

XML: The Extensible Markup Language, as described in [XML1.0].

XML document: A document object that is well formed, as described in [XML10/5], and might be valid. An XML document has a logical structure that is composed of declarations, elements, comments, character references, and processing instructions. It also has a physical structure that is composed of entities, starting with the root, or document, entity.

XML namespace: A collection of names that is used to identify elements, types, and attributes in XML documents identified in a URI reference [RFC3986]. A combination of XML namespace and local name allows XML documents to use elements, types, and attributes that have the same names but come from different sources. For more information, see [XMLNS-2ED].

XML schema: A description of a type of XML document that is typically expressed in terms of constraints on the structure and content of documents of that type, in addition to the basic syntax constraints that are imposed by XML itself. An XML schema provides a view of a document type at a relatively high level of abstraction.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.

1.2  References

Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata.

1.2.1  Normative References

We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact . We will assist you in finding the relevant information.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, http://www.rfc-editor.org/rfc/rfc2119.txt

[SOAP1.1] Box, D., Ehnebuske, D., Kakivaya, G., et al., "Simple Object Access Protocol (SOAP) 1.1", May 2000, http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

[SOAP1.2-1/2003] Gudgin, M., Hadley, M., Mendelsohn, N., et al., "SOAP Version 1.2 Part 1: Messaging Framework", W3C Recommendation, June 2003, http://www.w3.org/TR/2003/REC-soap12-part1-20030624

[WSDLSOAP] Angelov, D., Ballinger, K., Butek, R., et al., "WSDL 1.1 Binding Extension for SOAP 1.2", W3C Member Submission, April 2006, http://www.w3.org/Submission/2006/SUBM-wsdl11soap12-20060405/

[WSDL] Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S., "Web Services Description Language (WSDL) 1.1", W3C Note, March 2001, http://www.w3.org/TR/2001/NOTE-wsdl-20010315

[XMLNS] Bray, T., Hollander, D., Layman, A., et al., Eds., "Namespaces in XML 1.0 (Third Edition)", W3C Recommendation, December 2009, http://www.w3.org/TR/2009/REC-xml-names-20091208/

[XMLSCHEMA1] Thompson, H., Beech, D., Maloney, M., and Mendelsohn, N., Eds., "XML Schema Part 1: Structures", W3C Recommendation, May 2001, http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/

[XMLSCHEMA2] Biron, P.V., Ed. and Malhotra, A., Ed., "XML Schema Part 2: Datatypes", W3C Recommendation, May 2001, http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/

1.2.2  Informative References

[DPS] Microsoft Corporation, "SQL Server Hosting Web Service (and toolkit): Database Publishing Services", http://sqlhost.codeplex.com/Wiki/View.aspx?title=Database%20Publishing%20Services&referringTitle=Home

[MSDN-CRED] Microsoft Corporation, "Credentials (Database Engine)", http://msdn.microsoft.com/en-us/library/ms161950.aspx

[MSDN-Transact-SQLRef] Microsoft Corporation, "Transact-SQL Reference (Database Engine)", http://msdn.microsoft.com/en-us/library/bb510741.aspx

1.3  Overview

The Database Publishing Wizard Protocol enables a user to publish an existing database to a remote server via a web service. This enables database deployment in hosted scenarios without requiring direct access to the database server.

1.4  Relationship to Other Protocols

The Database Publishing Wizard Protocol uses SOAP over HTTP as shown in the following layering diagram.

Figure 1: SOAP over HTTP

The Database Publishing Wizard Protocol uses SOAP over HTTPS as shown in the following layering diagram.

Figure 2: SOAP over HTTPS

1.5  Prerequisites/Preconditions

Before using the Database Publishing Wizard Protocol, it is necessary to install and configure an instance of the Database Publishing Services web service. For more information about how to do this, see [DPS].

1.6  Applicability Statement

The Database Publishing Wizard Protocol is applicable whenever a user wants to deploy a database but the target instance of SQL Server is not accessible by using the typical SQL Server client tools, such as SQL Server Management Studio, SQL Server Management Objects (SMO), or Microsoft ADO.NET. The Database Publishing Wizard Protocol allows the deployment to occur via a proxy web service that does have direct access to the target instance of SQL Server.

1.7  Versioning and Capability Negotiation

This document covers versioning issues in the following areas:

§  Supported Transports: This protocol uses multiple transports with SOAP, as specified in section2.1.

§  Protocol Versions: This protocol has a separate Web Services Description Language (WSDL) port type for each version of the protocol. The operations that are available through each port are identical. The two ports support clients using SOAP1.1 and SOAP1.2, respectively.

§  Localization: This protocol includes text strings in various messages. Localization considerations for such strings are specified in sections2.2 and 3.1.4.

§  Capability Negotiation: This protocol does explicit negotiation.

There is currently only one version of the protocol (version1.1). However, clients may confirm that they are communicating with version1.1 by invoking the GetServiceOptions method and then checking the service_version return value.

1.8  Vendor-Extensible Fields

This protocol does not include any vendor-extensible fields.

1.9  Standards Assignments

None.

2  Messages

2.1  Transport

The web service message protocols SOAP1.1, as specified in [SOAP1.1], and SOAP1.2, as specified in [SOAP1.2-1/2003], are supported.