TransSynchronizationAgent Класс

Определение

Обеспечивает функциональность Replication агент распространения.

public ref class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft::SqlServer::Replication::ITransSynchronizationAgent
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")]
public class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft.SqlServer.Replication.ITransSynchronizationAgent
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
type TransSynchronizationAgent = class
    inherit MarshalByRefObject
    interface IDisposable
    interface ITransSynchronizationAgent
Public Class TransSynchronizationAgent
Inherits MarshalByRefObject
Implements IDisposable, ITransSynchronizationAgent
Наследование
TransSynchronizationAgent
Атрибуты
Реализации

Примеры

В следующем примере Synchronize метод вызывается на экземпляре TransSynchronizationAgent класса, к которому доступен из свойства SynchronizationAgent , для синхронизации push-подписки.

// Define the server, publication, and database names.
string subscriberName = subscriberInstance;
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";

// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

TransSubscription subscription;

try
{
    // Connect to the Publisher.
    conn.Connect();

    // Define the push subscription.
    subscription = new TransSubscription();
    subscription.ConnectionContext = conn;
    subscription.DatabaseName = publicationDbName;
    subscription.PublicationName = publicationName;
    subscription.SubscriptionDBName = subscriptionDbName;
    subscription.SubscriberName = subscriberName;

    // If the push subscription exists, start the synchronization.
    if (subscription.LoadProperties())
    {
        // Check that we have enough metadata to start the agent.
        if (subscription.SubscriberSecurity != null)
        {
            // Synchronously start the Distribution Agent for the subscription.
            subscription.SynchronizationAgent.Synchronize();
        }
        else
        {
            throw new ApplicationException("There is insufficent metadata to " +
                "synchronize the subscription. Recreate the subscription with " +
                "the agent job or supply the required agent properties at run time.");
        }
    }
    else
    {
        // Do something here if the push subscription does not exist.
        throw new ApplicationException(String.Format(
            "The subscription to '{0}' does not exist on {1}",
            publicationName, subscriberName));
    }
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("The subscription could not be synchronized.", ex);
}
finally
{
    conn.Disconnect();
}
' Define the server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Dim subscription As TransSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Define the push subscription.
    subscription = New TransSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = publicationDbName
    subscription.PublicationName = publicationName
    subscription.SubscriptionDBName = subscriptionDbName
    subscription.SubscriberName = subscriberName

    ' If the push subscription exists, start the synchronization.
    If subscription.LoadProperties() Then
        ' Check that we have enough metadata to start the agent.
        If Not subscription.SubscriberSecurity Is Nothing Then

            ' Synchronously start the Distribution Agent for the subscription.
            subscription.SynchronizationAgent.Synchronize()
        Else
            Throw New ApplicationException("There is insufficent metadata to " + _
             "synchronize the subscription. Recreate the subscription with " + _
             "the agent job or supply the required agent properties at run time.")
        End If
    Else
        ' Do something here if the push subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "The subscription to '{0}' does not exist on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
    conn.Disconnect()
End Try

Комментарии

Класс TransSynchronizationAgent поддерживает возможность программной синхронизации подписок на транзакционные или снимочные публикации.

Конструкторы

Имя Описание
TransSynchronizationAgent()

Создает экземпляр класса TransSynchronizationAgent.

Свойства

Имя Описание
AltSnapshotFolder

Получает или устанавливает альтернативную папку снимков для подписки.

ComErrorCollection

Получает набор ошибок, которые генерирует агент репликации.

Distributor

Получает или устанавливает имя экземпляра Microsoft SQL Server, который выступает в роли дистрибьютора подписки.

DistributorAddress

Получает или устанавливает сетевой адрес, который используется для подключения к дистрибьютору при указании свойства DistributorNetwork .

DistributorEncryptedPassword

Получает или устанавливает зашифрованный пароль, используемый при подключении к дистрибьютору, с помощью аутентификации SQL Server.

DistributorLogin

Получает или устанавливает имя входа, используемое при подключении к дистрибьютору с помощью аутентификации SQL Server.

DistributorNetwork

Получает или устанавливает клиентский Net-Library, который используется при подключении к дистрибьютору.

DistributorPassword

Получает или устанавливает пароль, используемый при подключении к Дистрибьютору, с помощью аутентификации SQL Server.

DistributorSecurityMode

Получает или устанавливает режим безопасности, который используется при подключении к дистрибьютору.

DtsPackageFileName

Получает или устанавливает имя и путь пакета Microsoft SQL Server 2000 Data Transformation Services (DTS), который используется для преобразования командных рядов перед их применением абоненту.

DtsPackagePassword

Получает или устанавливает пароль владельца, который использовался для доступа к пакету Microsoft SQL Server 2000 Data Transformation Services (DTS), указанному в этом DtsPackageFileName свойстве.

FileTransferType

Получает или задаёт, как исходные файлы снимков передаются абоненту.

HostName

Получает или устанавливает используемое имя хоста.

LastUpdatedTime

Получает временную метку последнего раза, когда этот агент синхронизировал подписку.

LoginTimeout

Получает или устанавливает максимальное количество секунд для ожидания установления соединений.

MaxDeliveredTransactions

Получает или устанавливает максимальное количество транзакций, приложенных абоненту за выполнение одного агента.

Output

Получает или устанавливает имя файла и путь выходного файла агента.

OutputVerboseLevel

Получает или задаёт объём информации, которую ведёт агент распространения в выходном файле агента.

ProfileName

Получает или устанавливает имя профиля, используемого агентом.

Publication

Получает или устанавливает название издания.

Publisher

Получает или устанавливает имя экземпляра Microsoft SQL Server, который является Publisher для подписки.

PublisherDatabase

Получает или устанавливает название базы данных публикаций.

QueryTimeout

Получает или устанавливает количество секунд, позволяемых для выполнения внутренних запросов.

SecureDistributorEncryptedPassword

Получает или устанавливает зашифрованный пароль для дистрибьютора.

SecureSubscriberEncryptedPassword

Получает или устанавливает защищённый пароль для абонента.

SkipErrors

Получает или устанавливает список ошибок, разделённых с двоеточием, которые этот агент должен пропустить.

Subscriber

Получает или устанавливает имя экземпляра Microsoft SQL Server, который является подписчиком.

SubscriberDatabase

Получает или устанавливает имя базы данных подписок.

SubscriberDatabasePath

Получите или установите путь к базе данных для абонента.

SubscriberDataSourceType

Получает или устанавливает тип источника данных, используемого в качестве абонента.

SubscriberEncryptedPassword

Получает или устанавливает зашифрованный пароль для абонента.

SubscriberLogin

Получает или устанавливает имя входа, используемое при подключении к абоненту с помощью аутентификации SQL Server.

SubscriberPassword

Получает или устанавливает пароль, используемый при подключении к абоненту, с помощью аутентификации SQL Server.

SubscriberSecurityMode

Получает или устанавливает режим безопасности, который используется при подключении к издателю.

SubscriptionType

Определяет, является ли подписка push или pull.

UndeliveredCommands

Получает количество недоставленных команд.

UndeliveredTransactions

Получает количество недоставленных транзакций.

UseInProcLoader

Получает или устанавливает значение, указывающее, стоит ли использовать команду BULK INSERT при приложении снимков к абоненту.

WorkingDirectory

Получает или устанавливает рабочую директорию, из которой получаются файлы снимков при использовании протокола передачи файлов (FTP).

Методы

Имя Описание
Abort()

Отменяет TransSynchronizationAgent операцию.

Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса TransSynchronizationAgent.

Dispose(Boolean)

Освобождает все ресурсы, используемые классом TransSynchronizationAgent .

Finalize()

Завершает .TransSynchronizationAgent

IsSnapshotRequired()

Подключается к Дистрибьютору и Подписчику, чтобы определить, будет ли новый снимок применён при следующей синхронизации агента.

Synchronize()

Запускает агент распространения для синхронизации подписки.

События

Имя Описание
ComStatus

Возникает, когда агент распространения возвращает информацию о статусе синхронизации Com.

Status

Возникает, когда агент распространения возвращает информацию о статусе синхронизации.

Применяется к

Потокобезопасность

Класс TransSynchronizationAgent не поддерживает многопоточные квартиры. Вы можете указать однопоточную квартиру, объявив [STAThread] атрибут на методе, который является основной точкой входа для приложения. Это стандарт для приложений на базе Microsoft Windows, которые создаются с помощью Microsoft Visual Studio.