Publication.StartSnapshotGenerationAgentJob メソッド
パブリケーションの初期スナップショットを生成するジョブを開始します。
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)
構文
'宣言
Public Sub StartSnapshotGenerationAgentJob
'使用
Dim instance As Publication
instance.StartSnapshotGenerationAgentJob()
public void StartSnapshotGenerationAgentJob()
public:
void StartSnapshotGenerationAgentJob()
member StartSnapshotGenerationAgentJob : unit -> unit
public function StartSnapshotGenerationAgentJob()
例外
例外 | 条件 |
---|---|
ApplicationException | サーバーで Microsoft SQL Server 2005 以降が実行されていないか、パブリケーションがサーバーに存在しない場合に発生します。 |
説明
StartSnapshotGenerationAgentJob メソッドを呼び出すことができるのは、パブリッシャー側の固定サーバー ロール sysadmin のメンバー、またはパブリケーション データベースの固定データベース ロール db_owner のメンバーだけです。
StartSnapshotGenerationAgentJob を呼び出すと、sp_startpublication_snapshot (Transact-SQL) を実行したのと同じことになります。
使用例
// Set the Publisher, publication database, and publication names.
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
string publisherName = publisherInstance;
TransPublication publication;
// Create a connection to the Publisher using Windows Authentication.
ServerConnection conn;
conn = new ServerConnection(publisherName);
try
{
// Connect to the Publisher.
conn.Connect();
// Set the required properties for an existing publication.
publication = new TransPublication();
publication.ConnectionContext = conn;
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
if (publication.LoadProperties())
{
// Start the Snapshot Agent job for the publication.
publication.StartSnapshotGenerationAgentJob();
}
else
{
throw new ApplicationException(String.Format(
"The {0} publication does not exist.", publicationName));
}
}
catch (Exception ex)
{
// Implement custom application error handling here.
throw new ApplicationException(String.Format(
"A snapshot could not be generated for the {0} publication."
, publicationName), ex);
}
finally
{
conn.Disconnect();
}
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publisherName As String = publisherInstance
Dim publication As TransPublication
' Create a connection to the Publisher using Windows Authentication.
Dim conn As ServerConnection
conn = New ServerConnection(publisherName)
Try
' Connect to the Publisher.
conn.Connect()
' Set the required properties for an existing publication.
publication = New TransPublication()
publication.ConnectionContext = conn
publication.Name = publicationName
publication.DatabaseName = publicationDbName
If publication.LoadProperties() Then
' Start the Snapshot Agent job for the publication.
publication.StartSnapshotGenerationAgentJob()
Else
Throw New ApplicationException(String.Format( _
"The {0} publication does not exist.", publicationName))
End If
Catch ex As Exception
' Implement custom application error handling here.
Throw New ApplicationException(String.Format( _
"A snapshot could not be generated for the {0} publication." _
, publicationName), ex)
Finally
conn.Disconnect()
End Try
関連項目
参照
Microsoft.SqlServer.Replication 名前空間