Publication.StartSnapshotGenerationAgentJob Method
パブリケーションの初期スナップショットを生成するジョブを開始します。
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (microsoft.sqlserver.rmo.dll 内)
構文
'宣言
Public Sub StartSnapshotGenerationAgentJob
public void StartSnapshotGenerationAgentJob ()
public:
void StartSnapshotGenerationAgentJob ()
public void StartSnapshotGenerationAgentJob ()
public function StartSnapshotGenerationAgentJob ()
例外
例外の種類 | 条件 |
---|---|
ApplicationException | サーバーで Microsoft SQL Server 2005 以降が実行されていないか、パブリケーションがサーバーに存在しない場合に発生します。 |
解説
StartSnapshotGenerationAgentJob メソッドを呼び出すことができるのは、パブリッシャ側の固定サーバー ロール sysadmin のメンバ、またはパブリケーション データベースの固定データベース ロール db_owner のメンバだけです。
StartSnapshotGenerationAgentJob を呼び出すと、sp_startpublication_snapshot (Transact-SQL) を実行したのと同じことになります。
StartSnapshotGenerationAgentJob メソッドは、SQL Server 2005 以降のバージョンでのみ使用できます。
この名前空間、クラス、またはメンバは、.NET Framework 2.0 でのみサポートされています。
使用例
// Set the Publisher, publication database, and publication names.
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks";
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 = "AdventureWorks"
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
スレッド セーフ
この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
参照
関連項目
Publication Class
Publication Members
Microsoft.SqlServer.Replication Namespace