Метод Publication.StartSnapshotGenerationAgentJob
Starts the job that generates the initial snapshot for the publication.
Пространство имен: 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 | The server is not running Microsoft SQL Server 2005 or later, or the publication does not exist on the server. |
Замечания
The StartSnapshotGenerationAgentJob method can only be called by members of the sysadmin fixed server role at the Publisher or by members of the db_owner fixed database role on the publication database.
Calling StartSnapshotGenerationAgentJob is equivalent to executing 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
Другие ресурсы
Как создать исходный моментальный снимок (программирование объектов RMO)