sqloptions:initialDatabase element nagłówka
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
The sqloptions:initialDatabase SOAP header enables the klient to specify which database to first connect to, for example:
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<sqloptions:initialDatabase SOAP-ENV:mustUnderstand="1" value="databaseName" optional="true" | "false" filename="databaseFileName" />
</SOAP-ENV:Header>
The sqloptions:initialDatabase option appears as a SOAP header.W nagłówku składa się z jednego elementu o nazwie sqloptions:initialDatabase. Element ma jeden atrybut obowiązkowy, value. Jest to ciąg znaków.The value atrybut specifies the name of the initial database to connect to. Ciąg jest interpretowane tak samo, jak USE Transact-SQL polecenie. Element ma dwie opcjonalne atrybuty: optional, która logiczny (wartość domyślna to false) i filename, która jest wartością w ciąg (wartość domyślna to null). The optional atrybut specifies whether failure to connect to the database should fail. Identyfikator logowania: false oznacza identyfikator logowania ulegnie awarii. true oznacza identyfikator logowania może być kontynuowana. The filename value gives the file name of the database to attach on login.Dzięki temu użytkownika, zaloguj się do odłączoną bazę danych, powodując bazy danych ma być dołączona.
Tylko jedno wystąpienie sqloptions:initialDatabase opcji mogą być wyświetlane na żądanie.Opcja nie pojawia się w odpowiedzi.Wiele wystąpień opcji spowoduje wygenerowanie błędu.
Jeśli punkt końcowy, który odebrał żądanie domyślna baza danych, skonfigurowane, zostanie wygenerowany błąd.Ze względów bezpieczeństwa nie można określić klient sqloptions:initialDatabase nagłówka na punkty końcowe, które mają domyślna baza danych.
Jeśli sesje SOAP są używane, ta opcja musi pojawić się w jednym żądaniu jako Zainicjuj sqloptions:sqlsession atrybut. Jeśli ta opcja pojawia się w żądaniu, każdy z sqloptions:sqlSession nagłówka, który nie zawiera także Inicjowanie atrybut, błąd jest generowany.
Poniżej przedstawiono fragment schematu dla sqloptions:initialDatabase option:
<xs:element name="initialDatabase" form="qualified">
<xs:annotation>
<xs:documentation>
Set initial database on login.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute use="required" name="value" type="xs:string" form="unqualified">
<xs:annotation>
<xs:documentation>
The name of the initial database to attach to.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute
name="optional"
default="false"
type="xs:boolean"
form="unqualified">
<xs:annotation>
<xs:documentation>
Whether the initial database is optional or not.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="filename" type="xs:string" form="unqualified">
<xs:annotation>
<xs:documentation>
The filename of the database to attach.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Przykłady
Poniżej podano przykłady używania sqloptions:initialDatabase Nagłówek w komunikatach żądanie i odpowiedź SOAP.
Żądanie
<SOAP-ENV:Envelope xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sqlparam="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlParameter"
xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<SOAP-ENV:Header>
<sqloptions:initialDatabase SOAP-ENV:mustUnderstand="1"
value="dbTestForAttaching"
optional="false"
filename="!DBDATADIR!\dbTestForAttaching.mdf" />
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<sql:sqlbatch>
<sql:BatchCommands>
SELECT name FROM sys.databases WHERE database_id=(SELECT dbid FROM master.dbo.sysprocesses WHERE spid=@@spid)
SELECT TOP 1 object_id FROM sys.objects WHERE object_id=(SELECT TOP 1 object_id FROM dbTestForAttaching.sys.objects)
</sql:BatchCommands>
</sql:sqlbatch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Odpowiedź
<SOAP-ENV:Envelope xml:space="preserve"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP"
xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types"
xmlns:sqlrowcount="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount"
xmlns:sqlmessage="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage"
xmlns:sqlresultstream="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream"
xmlns:sqltransaction="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction"
xmlns:sqltypes="https://schemas.microsoft.com/sqlserver/2004/sqltypes">
<SOAP-ENV:Body>
<sql:sqlbatchResponse>
<sql:sqlbatchResult>
<sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet">
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<SqlRowSet1 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
<row>
<name>dbTestForAttaching</name>
</row>
</SqlRowSet1>
</diffgr:diffgram>
</sqlresultstream:SqlRowSet>
<sqlresultstream:SqlRowCount xsi:type="sqlrowcount:SqlRowCount">
<sqlrowcount:Count>1</sqlrowcount:Count>
</sqlresultstream:SqlRowCount>
<sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet">
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<SqlRowSet2 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet2">
<row>
<object_id>val</object_id>
</row>
</SqlRowSet2>
</diffgr:diffgram>
</sqlresultstream:SqlRowSet>
<sqlresultstream:SqlRowCount xsi:type="sqlrowcount:SqlRowCount">
<sqlrowcount:Count>1</sqlrowcount:Count>
</sqlresultstream:SqlRowCount>
</sql:sqlbatchResult>
</sql:sqlbatchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>