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() |
Запускает задание агента для синхронизации подписки. |