TransSubscription Класс

Определение

Представляет собой push-подписку на транзакционную или снимковую публикацию.

public ref class TransSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class TransSubscription : Microsoft.SqlServer.Replication.Subscription
type TransSubscription = class
    inherit Subscription
Public NotInheritable Class TransSubscription
Inherits Subscription
Наследование

Примеры

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

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

           // Create the objects that we need.
           TransPublication publication;
           TransSubscription subscription;

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

               // Ensure that the publication exists and that 
               // it supports push subscriptions.
               publication = new TransPublication();
               publication.Name = publicationName;
               publication.DatabaseName = publicationDbName;
               publication.ConnectionContext = conn;

               if (publication.IsExistingObject)
               {
                   if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
                   {
                       publication.Attributes |= PublicationAttributes.AllowPush;
                   }

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

                   // Specify the Windows login credentials for the Distribution Agent job.
                   subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
                   subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

                   // By default, subscriptions to transactional publications are synchronized 
                   // continuously, but in this case we only want to synchronize on demand.
                   subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;

                   // Create the push subscription.
                   subscription.Create();
               }
               else
               {
                   // Do something here if the publication does not exist.
                   throw new ApplicationException(String.Format(
                       "The publication '{0}' does not exist on {1}.",
                       publicationName, publisherName));
               }
           }
           catch (Exception ex)
           {
               // Implement the appropriate error handling here.
               throw new ApplicationException(String.Format(
                   "The subscription to {0} could not be created.", publicationName), ex);
           }
           finally
           {
               conn.Disconnect();
           }
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

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

' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription

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

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New TransPublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

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

        ' Specify the Windows login credentials for the Distribution Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' By default, subscriptions to transactional publications are synchronized 
        ' continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand

        ' Create the push subscription.
        subscription.Create()
    Else
        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If

Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
        "The subscription to {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

Комментарии

При настройке Publisher с удалённым дистрибьютором значения, предоставленные для всех параметров, включая SynchronizationAgentProcessSecurity, передаются дистрибьютору в виде простого текста. Перед вызовом метода Create следует зашифровать подключение между издателем и его удаленным распространителем. Для получения дополнительной информации см. sp_reinitsubscription (Transact-SQL).

Когда подписка принадлежит не-SQL Server Publisher, свойство ConnectionContext устанавливается на дистрибьютора вместо Publisher, DatabaseName свойство — в базу данных распределения вместо базы публикаций, а свойство PublisherName — на имя не-SQL Server Publisher.

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

Любые публичные статические (Sharedв Microsoft Visual Basic) члены этого типа безопасны для многопоточных операций. Никакие члены экземпляра не гарантированы как потокобезопасные.

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

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

Создает новый экземпляр класса TransSubscription.

TransSubscription(String, String, String, String, ServerConnection)

Создаёт новый экземпляр TransSubscription класса с указанной публикацией, базой данных, базы данных подписчиков и подписчиков, а также с указанным соединением к экземпляру Microsoft SQL Server.

Свойства

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

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

(Унаследовано от Subscription)
AgentOffload

Получает или устанавливает, работает ли синхронизационный агент на компьютере, отличном от того, на котором была создана задача агента. Это свойство больше не поддерживается для дистрибьюторов с использованием Microsoft SQL Server 2005 и более поздних версий.

(Унаследовано от Subscription)
AgentOffloadServer

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

(Унаследовано от Subscription)
AgentSchedule

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

(Унаследовано от Subscription)
BackupInformation

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

CachePropertyChanges

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

(Унаследовано от ReplicationObject)
ConnectionContext

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

(Унаследовано от ReplicationObject)
CreateSyncAgentByDefault

Определяет, создаётся ли по умолчанию задание агента для синхронизации подписки.

(Унаследовано от Subscription)
DatabaseName

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

(Унаследовано от Subscription)
DtsPackageLocation

Получает или устанавливает местоположение пакета Microsoft SQL Server 2000 Data Transformation Services (DTS).

DtsPackageName

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

DtsPackagePassword

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

EnabledForSynchronizationManager

Указывает, можно ли синхронизировать подписку с помощью Microsoft Windows Менеджера синхронизации.

(Унаследовано от Subscription)
FullSubscription

Получает значение, указывающее, заполнена ли подписка.

IsExistingObject

Понимает, существует ли объект на сервере или нет.

(Унаследовано от ReplicationObject)
LoopBackDetection

Получает или устанавливает, отправляет ли агент распространения транзакции, исходящие от абонента, обратно абоненту.

MemoryOptimized

Представляет собой push-подписку на транзакционную или снимковую публикацию.

Name

Имя присваивается существующей подписке.

(Унаследовано от Subscription)
PublicationName

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

(Унаследовано от Subscription)
PublisherName

Получает или устанавливает имя Publisher, когда подписка принадлежит не-SQL Server Publisher.

SecureDtsPackagePassword

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

SqlServerName

Получает имя экземпляра Microsoft SQL Server, к которому подключён этот объект.

(Унаследовано от ReplicationObject)
Status

Получает статус подписки.

(Унаследовано от Subscription)
SubscriberCatalog

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

SubscriberDatasource

Название источника данных, понятное поставщиком OLE DB для абонента без SQL Server.

SubscriberDatasourceType

Определяет тип источника данных, который является абонентом без SQL Server.

SubscriberLocation

Расположение базы данных в понимании поставщика OLE DB для абонента без SQL Server.

SubscriberName

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

(Унаследовано от Subscription)
SubscriberProvider

Уникальный программный идентификатор (PROGID), с которым регистрируется поставщик OLE DB для абонента без SQL Server

SubscriberProviderString

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

SubscriberSecurity

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

(Унаследовано от Subscription)
SubscriberType

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

SubscriptionDBName

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

(Унаследовано от Subscription)
SubscriptionLSN

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

SubscriptionType

Понимает, является ли регистрация подписки для push или pull.

(Унаследовано от Subscription)
SynchronizationAgent

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

SynchronizationAgentName

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

(Унаследовано от Subscription)
SynchronizationAgentProcessSecurity

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

(Унаследовано от Subscription)
SyncType

Определяет или устанавливает способ инициализации подписки.

(Унаследовано от Subscription)
UserData

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

(Унаследовано от ReplicationObject)

Методы

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

Проверяет допустимое создание репликации.

(Унаследовано от ReplicationObject)
CheckValidDefinition(Boolean)

Указывает, действительно ли определение подписки.

(Унаследовано от Subscription)
CommitPropertyChanges()

Отправляет все кэшированные операторы изменения свойств на экземпляр Microsoft SQL Server.

(Унаследовано от ReplicationObject)
Create()

Создаёт регистрацию подписки в Publisher.

(Унаследовано от Subscription)
Decouple()

Отделяет объект репликации, на который связан, от сервера.

(Унаследовано от ReplicationObject)
DoUpdateMemoryOptimizedProperty(String)

Представляет собой push-подписку на транзакционную или снимковую публикацию.

GetChangeCommand(StringBuilder, String, String)

Возвращает команду изменения из репликации.

(Унаследовано от ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Возвращает команду create из репликации.

(Унаследовано от ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Возвращает команду drop из репликации.

(Унаследовано от ReplicationObject)
InternalRefresh(Boolean)

Запускает внутреннее обновление после репликации.

(Унаследовано от ReplicationObject)
Load()

Загружает свойства существующего объекта с сервера.

(Унаследовано от ReplicationObject)
LoadProperties()

Загружает свойства существующего объекта с сервера.

(Унаследовано от ReplicationObject)
Refresh()

Перезагружает свойства объекта.

(Унаследовано от ReplicationObject)
Reinitialize()

Отмечает подписку для повторной инициализации при следующем запуске агент распространения для синхронизации подписки.

Reinitialize(Boolean)

Переинициализация подписки.

Remove()

Удаляет регистрацию подписки в Publisher и удаляет объекты репликации у подписчика для push-подписки.

(Унаследовано от Subscription)
Script(ScriptOptions)

Возвращает скрипт Transact-SQL, который можно использовать для создания или удаления подписки.

(Унаследовано от Subscription)
StopSynchronizationJob()

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

SynchronizeWithJob()

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

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

См. также раздел