Поделиться через


TransSubscription Класс

Определение

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

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

Комментарии

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

Если подписка принадлежит издателю, отличному от SQL Server, ConnectionContext свойству присваивается значение Распространитель, а не Издатель, DatabaseName свойству присваивается база данных распространителя, а не база данных публикации, а PublisherName свойству присваивается имя издателя, не являющегося SQL Server.

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

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

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

TransSubscription()

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

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

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

Свойства

AgentJobId

Возвращает идентификатор задания агента, который используется для синхронизации подписки.

(Унаследовано от 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

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

Name

Возвращает имя, назначенное существующей подписке.

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

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

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

Возвращает или задает имя издателя, если подписка принадлежит издателю, не являющегося SQL Server.

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

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

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

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

SynchronizationAgentName

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

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

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

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

Возвращает или задает способ инициализации подписки.

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

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

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

Методы

CheckValidCreation()

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

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

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

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

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

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

Создает регистрацию подписки на издателе.

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

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

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

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

GetChangeCommand(StringBuilder, String, String)

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

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

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

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

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

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

Инициирует внутреннее обновление из репликации.

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

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

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

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

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

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

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

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

Reinitialize(Boolean)

Выполняет повторную инициализацию подписки.

Remove()

Удаляет регистрацию подписки на издателе и удаляет объекты репликации на подписчике для принудительной подписки.

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

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

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

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

SynchronizeWithJob()

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

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

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