后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
The Script method generates a Transact-SQL command batch that can be used to re-create the Microsoft SQL Server component referenced by the SQL Distributed Management Objects (SQL-DMO) object.
语法
object
.Script( [ ScriptType ] , [ ScriptFilePath ] )as String
Parts
- object
 Expression that evaluates to an object in the Applies To list.
- ScriptType
 Optional. A long integer that overrides default scripting behavior as described in Settings.
- ScriptFilePath
 Optional. A string that specifies an operating system file as an additional target for the generated Transact-SQL statements script.
Prototype (C/C++)
HRESULT Script(
SQLDMO_REPSCRIPT_TYPE ScriptType = SQLDMORepScript_Default,
SQLDMO_LPCSTR ScriptFilePath = NULL,
SQLDMO_LPBSTR ScriptText = NULL);
(Distributor Object)
HRESULT Script(
SQLDMO_REPSCRIPT_TYPE ScriptType = SQLDMORepScript_InstallDistributor,
SQLDMO_LPCSTR ScriptFilePath = NULL,
SQLDMO_LPBSTR ScriptText = NULL);
| .gif) 注意: | 
|---|
| SQL-DMO strings are always returned as OLE BSTR objects. A C/C++ application obtains a reference to the string. The application must release the reference using SysFreeString. | 
Settings
When setting the ScriptType argument specifying multiple behaviors, combine values using an OR logical operator. Use these SQLDMO_REPSCRIPT_TYPE values to set ScriptType.
| Constant | Value | Description | 
|---|---|---|
| SQLDMORepScript_AnsiFile | 16777216 | Output to a file is written as ANSI character text. | 
| SQLDMORepScript_/AppendToFile | 8192 | Output is appended to a designated operating system file. If not set, output overwrites any data in an existing, designated file. | 
| SQLDMORepScript_/Creation | 16384 | Script includes database object creation. | 
| SQLDMORepScript_Default | 256 | SQLDMORepScript_InstallDistributor. | 
| SQLDMORepScript_Deletion | 32768 | Script includes deletion of existing database objects. | 
| SQLDMORepScript_/DisableReplicationDB | 134217728 | Script disables a replication database. | 
| SQLDMORepScript_/EnableReplicationDB | 67108864 | Script enables a replication database. | 
| SQLDMORepScript_/InstallDistributor | 256 | Default. The script installs the replication Distributor. | 
| SQLDMORepScript_/InstallPublisher | 1024 | Script installs a Publisher. | 
| SQLDMORepScript_/InstallReplication | 1048576 | Script installs replication. | 
| SQLDMORepScript_/NoCommandTerm | 268435456 | No command terminator is added to script commands. | 
| SQLDMORepScript_/NoSubscription | 128 | Script creation of publication, excluding push subscriptions. | 
| SQLDMORepScript_/PublicationCreation | 65536 | Script includes publication creation text. | 
| SQLDMORepScript_/PublicationDeletion | 131072 | Script includes text that removes publications. | 
| SQLDMORepScript_/PullSubscriptionCreation | 262144 | Script pull subscription creation. | 
| SQLDMORepScript_/PullSubscriptionDeletion | 524288 | Script pull subscription deletion. | 
| SQLDMORepScript_/ReplicationJobs | 4194304 | Script creation of replication-related jobs to preserve job schedule and steps. The corresponding job script must be run before the replication script. This constant can only be used with Microsoft SQL Server. Only a member of the sysadmin fixed server role or the owner of a job have access to a job creation script. | 
| SQLDMORepScript_/SubscriptionCreation | 262144 | Obsolete. | 
| SQLDMORepScript_/SubscriptionDeletion | 524288 | Obsolete. | 
| SQLDMORepScript_/ToFileOnly | 4096 | Output generated by an executed script is directed to an operating system file only. If not set, output is available as status or error messages. | 
| SQLDMORepScript_/UnicodeFile | 33554432 | Output to a file is written as Unicode character text. | 
| SQLDMORepScript_/UninstallDistributor | 512 | Script removes the replication Distributor. | 
| SQLDMORepScript_/UninstallPublisher | 2048 | Script removes a Publisher. | 
| SQLDMORepScript_/UninstallReplication | 2097152 | Script removes replication. | 
Returns
A Transact-SQL command batch as a string.
备注
The Script method of replication objects captures an image of a SQL Server replication installation. For example, using the Script method of the TransArticle object generates a command batch that can be used to create the transactional or snapshot replication article referenced, not the object replicated by the article.
To script the creation of a single pull subscription, call the Script method using SQLDMORepScript_PullSubscriptionCreation on a TransPullSubscription or MergePullSubscription object. To script the removal of a single pull subscription, call the Script method using SQLDMORepScript_PullSubscriptionDeletion on a TransPullSubscription or MergePullSubscription object.
To script the creation of pull subscriptions in the TransPullSubscriptions or MergePullSubscriptions collection, call the Script method using SQLDMORepScript_PullSubscriptionCreation. To script the removal of pull subscriptions from the TransPullSubscriptions or MergePullSubscriptions collection, call the Script method using SQLDMORepScript_PullSubscriptionDeletion.
To script the creation of or dropping pull subscriptions in a database, call the Script method using SQLDMORepScript_PullSubscriptionCreation on a ReplicationDatabase object. To script the removal of pull subscriptions from a database, call the Script method using SQLDMORepScript_PullSubscriptionDeletion on a ReplicationDatabase object.
To script the creation of pull subscriptions on a server, call the Script method using SQLDMORepScript_PullSubscriptionCreation on a ReplicationDatabases collection or Subscriber object. To script the removal of pull subscriptions from a server, call the Script method using SQLDMORepScript_PullSubscriptionDeletion on a ReplicationDatabases collection or Subscriber object.
For SQL-DMO objects publish database objects, SQL-DMO implements the ScriptDestinationObject method to generate command batches that re-create the objects published. For more information, see ScriptDestinationObject Method.
| .gif) 注意: | 
|---|
| SQL-DMO object scripting methods are fully compatible with an instance of SQL Server version 7.0. However, database compatibility level affects Transact-SQL command batch contents. | 
When scripting a database with a compatibility level of less than 7.0, or when scripting any of its objects, the resulting Transact-SQL command batch includes only keywords reserved by that level.
Transact-SQL command syntax is always compliant with an instance of SQL Server 7.0. Where provided, you can use optional scripting arguments, such as SQLDMOScript2_NoFG to remove some syntax of an instance of SQL Server 7.0.
Applies To:
| 
 |