Klasa ReplicationDatabase
Reprezentuje publikacja lub baza danych subskrypcji w topologii replikacja.
Hierarchia dziedziczenia
System.Object
Microsoft.SqlServer.Replication.ReplicationObject
Microsoft.SqlServer.Replication.ReplicationDatabase
Przestrzeń nazw: Microsoft.SqlServer.Replication
Zestaw: Microsoft.SqlServer.Rmo (w Microsoft.SqlServer.Rmo.dll)
Składnia
'Deklaracja
Public NotInheritable Class ReplicationDatabase _
Inherits ReplicationObject
'Użycie
Dim instance As ReplicationDatabase
public sealed class ReplicationDatabase : ReplicationObject
public ref class ReplicationDatabase sealed : public ReplicationObject
[<SealedAttribute>]
type ReplicationDatabase =
class
inherit ReplicationObject
end
public final class ReplicationDatabase extends ReplicationObject
Typ ReplicationDatabase uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
ReplicationDatabase() | Inicjuje nowe wystąpienie ReplicationDatabase klasy | |
ReplicationDatabase(String, ServerConnection) | Inicjuje nowe wystąpienie ReplicationDatabase klasy o nazwie określonej bazy danych, zapewniając połączenia z serwerem, na którym baza danych istnieje. |
Do góry
Właściwości
Nazwa | Opis | |
---|---|---|
AllowMergePublication | Określa, czy bazy danych mogą być publikowane przy użyciu replikacja scalająca. | |
CachePropertyChanges | Pobiera lub ustawia, czy zmiany właściwości replikacja w pamięci podręcznej, czy stosuje je niezwłocznie. (Dziedziczony z ReplicationObject). | |
CompatibilityLevel | Pobiera minimalna wersja SQL Server z którym baza danych jest zachowanie zgodne. | |
ConnectionContext | Gets or sets the connection to an instance of Microsoft SQL Server. (Dziedziczony z ReplicationObject). | |
DBOwner | Pobiera Jeśli logowania używany przez połączenie bieżące posiada prawa własności do bazy danych. | |
DBReadOnly | Pobiera się, czy baza danych jest tylko do odczytu. | |
EnabledMergePublishing | Pobiera lub ustawia, czy baza danych jest włączona dla publikacji korespondencji seryjnej, lub nie. | |
EnabledTransPublishing | Pobiera lub ustawia, czy baza danych jest włączona dla transakcyjnych lub migawka publikacji lub nie. | |
HasPublications | Pobiera się, czy baza danych ma istniejące publikacje. | |
HasPullSubscriptions | Pobiera się, czy baza danych ma istniejących ściągać subskrypcji. | |
IsExistingObject | Pobiera się, czy obiekt istnieje na serwerze. (Dziedziczony z ReplicationObject). | |
LogReaderAgentExists | Pobiera czy Agent czytnik dziennika zostały utworzone dla baza danych publikacja. | |
LogReaderAgentName | Pobiera nazwę istniejącej Agent odczytywania dziennika lub ustawia nazwę podczas tworzenia nowego Agent odczytywania dziennika opublikowanych bazy danych. | |
LogReaderAgentProcessSecurity | Pobiera Microsoft konta systemu Windows, w którym Agent odczytywania dziennika zadanie jest uruchamiane na dystrybutora. | |
LogReaderAgentPublisherSecurity | Pobiera logowania używane przez agenta czytnik dziennika do łączenia się z Wydawca. | |
MergePublications | Zwraca publikacji seryjnej zdefiniowane w bazie danych replikacja. | |
MergePullSubscriptions | Zwraca scalania ściągać subskrypcje zdefiniowane w bazie danych replikacja. | |
Name | Pobiera lub ustawia nazwę replikacja bazy danych. | |
QueueReaderAgentExists | Pobiera się, czy zadanie agenta czytnik kolejka istnieje w bazie danych. | |
QueueReaderAgentProcessSecurity | Pobiera Microsoft konta systemu Windows, pod którym działa zadanie agenta czytnik kolejki dystrybutora. | |
SqlServerName | Gets the name of the Microsoft SQL Server instance to which this object is connected. (Dziedziczony z ReplicationObject). | |
TransPublications | Zwraca wartość transakcyjna lub migawka publikacje, zdefiniowane w bazie danych replikacja. | |
TransPullSubscriptions | Reprezentuje ściągać subskrypcje do publikacja zdefiniowane w bazie danych replikacja transakcyjnej lub migawka. | |
UserData | Pobiera lub ustawia właściwość obiektu, który umożliwia użytkownikom dołączanie własnych danych do obiektu. (Dziedziczony z ReplicationObject). |
Do góry
Metody
Nazwa | Opis | |
---|---|---|
CheckValidCreation | Infrastruktura. (Dziedziczony z ReplicationObject). | |
CheckValidDefinition | Infrastruktura. (Dziedziczony z ReplicationObject). | |
CommitPropertyChanges | Sends all the cached property change statements to the instance of Microsoft SQL Server. (Dziedziczony z ReplicationObject). | |
CreateLogReaderAgent | Tworzy zadanie Agent czytnik dziennika dla bazy danych jest publikowana z replikacja transakcyjna. | |
CreateQueueReaderAgent | Tworzy zadanie agenta czytnik kolejki dla baza danych dystrybucji. | |
Decouple | Oddzielono obiekt odwołanie replikacja z serwera. (Dziedziczony z ReplicationObject). | |
EnumConflictTables | Zwraca sprzeczne informacje dla wszystkich publikacji korespondencji seryjnej i subskrypcje, które używają replikacja bazy danych. | |
EnumMergeConflictCounts | Zwraca informacje przechowywane w publikacja seryjnej konflikty lub baza danych subskrypcja. | |
EnumMergePublications | Zwraca listę publikacji korespondencji seryjnej, używających replikacja bazy danych. | |
EnumMergePullSubscriptions | Zwraca wszystkie subskrypcje scalania ściągać, korzystające z tej bazy danych replikacja. | |
EnumPublicationArticles | Zwraca informacje o replikacja dla obiektów opublikowanych w replikacja bazy danych. | |
EnumReplicationSchemaBoundViews | Zwraca wszystkie obiekty zdefiniowane przez użytkownika widoku związanych ze schematem bazy danych. | |
EnumReplicationStoredProcedures | Zwraca wszystkie obiekty zdefiniowane przez użytkownika procedura składowana w bazie danych. | |
EnumReplicationTables | Zwraca wszystkie obiekty zdefiniowane przez użytkownika tabela w bazie danych. | |
EnumReplicationUserDefinedAggregates | Zwraca listę agregatów zdefiniowane przez użytkownika w bazie danych. | |
EnumReplicationUserDefinedFunctions | Zwraca listę funkcji zdefiniowanych przez użytkownika w bazie danych. | |
EnumReplicationViews | Zwraca listę obiektów widoków zdefiniowanych przez użytkownika w bazie danych. | |
EnumTransConflictCounts | Zwraca informacje przechowywane w publikacja aktualizacji transakcyjnej konflikty lub baza danych subskrypcja. | |
EnumTransPublications | Zwraca listę transakcyjnych i migawka publikacje korzystające z bazy danych. | |
EnumTransPullSubscriptions | Zwraca listę transakcyjnych i migawka ściągać subskrypcje, które korzystają z bazy danych. | |
Equals | (Dziedziczony z Object). | |
Finalize | (Dziedziczony z Object). | |
GetChangeCommand | Infrastruktura. (Dziedziczony z ReplicationObject). | |
GetCreateCommand | Infrastruktura. (Dziedziczony z ReplicationObject). | |
GetDropCommand | Infrastruktura. (Dziedziczony z ReplicationObject). | |
GetHashCode | (Dziedziczony z Object). | |
GetType | (Dziedziczony z Object). | |
InternalRefresh | Infrastruktura. (Dziedziczony z ReplicationObject). | |
LinkPublicationForUpdateableSubscription | Ustawia informacje o konfiguracja i zabezpieczeń używane przez wyzwalacze synchronizacji subskrypcji mogą być aktualizowane podczas łączenia się z Wydawca. | |
Load | Ładuje właściwości istniejącego obiektu z serwera. (Dziedziczony z ReplicationObject). | |
LoadProperties | Ładuje właściwości istniejącego obiektu z serwera. (Dziedziczony z ReplicationObject). | |
MemberwiseClone | (Dziedziczony z Object). | |
ReadSubscriptionFailoverMode | Przywraca tryb pracy awaryjnej dla subskrypcja aktualizacji transakcyjnej lub migawka publikacja. | |
Refresh | Ponownie ładuje właściwości obiektu. (Dziedziczony z ReplicationObject). | |
Script | Zwraca Transact-SQL skrypt, aby włączyć lub wyłączyć publikowanie replikacja i subskrypcje w bazie danych na podstawie właściwości z ReplicationDatabase. | |
ScriptReplicationDBOption | Zwraca Transact-SQL skrypt, aby włączyć lub wyłączyć opcje replikacja bazy danych na podstawie właściwości z ReplicationDatabase. | |
ToString | (Dziedziczony z Object). | |
WriteSubscriptionFailoverMode | Ustawia tryb pracy awaryjnej dla subskrypcja aktualizacji transakcyjnej lub migawka publikacja. |
Do góry
Uwagi
ReplicationDatabasemogą być używane do reprezentowania publikacja lub baza danych subskrypcji.ReplicationDatabasenie można użyć do reprezentowania bazy danych systemu, takich jak wzorca, tempdb, msdb i modelu.baza danych dystrybucji jest reprezentowana przez DistributionDatabase.
Ten obszar nazw, klasy lub element członkowski jest obsługiwany tylko w wersja 2.0.NET Framework.
Bezpieczeństwo wątków
Wszystkie publiczne statyczne (Shared w Microsoft języka Visual Basic) elementy tego typu są bezpieczne dla operacji wielowątkowe.Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.
Przykłady
W tym przykładzie tworzy baza danych dystrybucji dystrybutor jest zainstalowany.Umożliwia także korespondencji seryjnej i publikowanie transakcyjnych na AdventureWorks2008R2 bazy danych.
// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2008R2";
DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;
// Create a connection to the server using Windows Authentication.
ServerConnection conn = new ServerConnection(publisherName);
try
{
// Connect to the server acting as the Distributor
// and local Publisher.
conn.Connect();
// Define the distribution database at the Distributor,
// but do not create it now.
distributionDb = new DistributionDatabase(distributionDbName, conn);
distributionDb.MaxDistributionRetention = 96;
distributionDb.HistoryRetention = 120;
// Set the Distributor properties and install the Distributor.
// This also creates the specified distribution database.
distributor = new ReplicationServer(conn);
distributor.InstallDistributor((string)null, distributionDb);
// Set the Publisher properties and install the Publisher.
publisher = new DistributionPublisher(publisherName, conn);
publisher.DistributionDatabase = distributionDb.Name;
publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
publisher.PublisherSecurity.WindowsAuthentication = true;
publisher.Create();
// Enable AdventureWorks as a publication database.
publicationDb = new ReplicationDatabase(publicationDbName, conn);
publicationDb.EnabledTransPublishing = true;
publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
// Implement appropriate error handling here.
throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
conn.Disconnect();
}
' Set the server and database names
Dim distributionDbName As String = "distribution"
Dim publisherName As String = publisherInstance
Dim publicationDbName As String = "AdventureWorks2008R2"
Dim distributionDb As DistributionDatabase
Dim distributor As ReplicationServer
Dim publisher As DistributionPublisher
Dim publicationDb As ReplicationDatabase
' Create a connection to the server using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(publisherName)
Try
' Connect to the server acting as the Distributor
' and local Publisher.
conn.Connect()
' Define the distribution database at the Distributor,
' but do not create it now.
distributionDb = New DistributionDatabase(distributionDbName, conn)
distributionDb.MaxDistributionRetention = 96
distributionDb.HistoryRetention = 120
' Set the Distributor properties and install the Distributor.
' This also creates the specified distribution database.
distributor = New ReplicationServer(conn)
distributor.InstallDistributor((CType(Nothing, String)), distributionDb)
' Set the Publisher properties and install the Publisher.
publisher = New DistributionPublisher(publisherName, conn)
publisher.DistributionDatabase = distributionDb.Name
publisher.WorkingDirectory = "\\" + publisherName + "\repldata"
publisher.PublisherSecurity.WindowsAuthentication = True
publisher.Create()
' Enable AdventureWorks as a publication database.
publicationDb = New ReplicationDatabase(publicationDbName, conn)
publicationDb.EnabledTransPublishing = True
publicationDb.EnabledMergePublishing = True
Catch ex As Exception
' Implement appropriate error handling here.
Throw New ApplicationException("An error occured when installing distribution and publishing.", ex)
Finally
conn.Disconnect()
End Try
W tym przykładzie zmienia właściwości baza danych dystrybucji.
// Set the Distributor and distribution database names.
string distributionDbName = "distribution";
string distributorName = publisherInstance;
ReplicationServer distributor;
DistributionDatabase distributionDb;
// Create a connection to the Distributor using Windows Authentication.
ServerConnection conn = new ServerConnection(distributorName);
try
{
// Open the connection.
conn.Connect();
distributor = new ReplicationServer(conn);
// Load Distributor properties, if it is installed.
if (distributor.LoadProperties())
{
// Password supplied at runtime.
distributor.ChangeDistributorPassword(password);
distributor.AgentCheckupInterval = 5;
// Save changes to the Distributor properties.
distributor.CommitPropertyChanges();
}
else
{
throw new ApplicationException(
String.Format("{0} is not a Distributor.", publisherInstance));
}
// Create an object for the distribution database
// using the open Distributor connection.
distributionDb = new DistributionDatabase(distributionDbName, conn);
// Change distribution database properties.
if (distributionDb.LoadProperties())
{
// Change maximum retention period to 48 hours and history retention
// period to 24 hours.
distributionDb.MaxDistributionRetention = 48;
distributionDb.HistoryRetention = 24;
// Save changes to the distribution database properties.
distributionDb.CommitPropertyChanges();
}
else
{
// Do something here if the distribution database does not exist.
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException("An error occured when changing Distributor " +
" or distribution database properties.", ex);
}
finally
{
conn.Disconnect();
}
' Set the Distributor and distribution database names.
Dim distributionDbName As String = "distribution"
Dim distributorName As String = publisherInstance
Dim distributor As ReplicationServer
Dim distributionDb As DistributionDatabase
' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(distributorName)
Try
' Open the connection.
conn.Connect()
distributor = New ReplicationServer(conn)
' Load Distributor properties, if it is installed.
If distributor.LoadProperties() Then
' Password supplied at runtime.
distributor.ChangeDistributorPassword(password)
distributor.AgentCheckupInterval = 5
' Save changes to the Distributor properties.
distributor.CommitPropertyChanges()
Else
Throw New ApplicationException( _
String.Format("{0} is not a Distributor.", publisherInstance))
End If
' Create an object for the distribution database
' using the open Distributor connection.
distributionDb = New DistributionDatabase(distributionDbName, conn)
' Change distribution database properties.
If distributionDb.LoadProperties() Then
' Change maximum retention period to 48 hours and history retention
' period to 24 hours.
distributionDb.MaxDistributionRetention = 48
distributionDb.HistoryRetention = 24
' Save changes to the distribution database properties.
distributionDb.CommitPropertyChanges()
Else
' Do something here if the distribution database does not exist.
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException("An error occured when changing Distributor " + _
" or distribution database properties.", ex)
Finally
conn.Disconnect()
End Try
W tym przykładzie wyłącza scalania i publikowanie transakcyjnych na AdventureWorks2008R2 bazy danych i spadnie baza danych dystrybucji.
// Set the Distributor and publication database names.
// Publisher and Distributor are on the same server instance.
string publisherName = publisherInstance;
string distributorName = publisherInstance;
string distributionDbName = "distribution";
string publicationDbName = "AdventureWorks";
// Create connections to the Publisher and Distributor
// using Windows Authentication.
ServerConnection publisherConn = new ServerConnection(publisherName);
ServerConnection distributorConn = new ServerConnection(distributorName);
// Create the objects we need.
ReplicationServer distributor =
new ReplicationServer(distributorConn);
DistributionPublisher publisher;
DistributionDatabase distributionDb =
new DistributionDatabase(distributionDbName, distributorConn);
ReplicationDatabase publicationDb;
publicationDb = new ReplicationDatabase(publicationDbName, publisherConn);
try
{
// Connect to the Publisher and Distributor.
publisherConn.Connect();
distributorConn.Connect();
// Disable all publishing on the AdventureWorks2008R2 database.
if (publicationDb.LoadProperties())
{
if (publicationDb.EnabledMergePublishing)
{
publicationDb.EnabledMergePublishing = false;
}
else if (publicationDb.EnabledTransPublishing)
{
publicationDb.EnabledTransPublishing = false;
}
}
else
{
throw new ApplicationException(
String.Format("The {0} database does not exist.", publicationDbName));
}
// We cannot uninstall the Publisher if there are still Subscribers.
if (distributor.RegisteredSubscribers.Count == 0)
{
// Uninstall the Publisher, if it exists.
publisher = new DistributionPublisher(publisherName, distributorConn);
if (publisher.LoadProperties())
{
publisher.Remove(false);
}
else
{
// Do something here if the Publisher does not exist.
throw new ApplicationException(String.Format(
"{0} is not a Publisher for {1}.", publisherName, distributorName));
}
// Drop the distribution database.
if (distributionDb.LoadProperties())
{
distributionDb.Remove();
}
else
{
// Do something here if the distribition DB does not exist.
throw new ApplicationException(String.Format(
"The distribution database '{0}' does not exist on {1}.",
distributionDbName, distributorName));
}
// Uninstall the Distributor, if it exists.
if (distributor.LoadProperties())
{
// Passing a value of false means that the Publisher
// and distribution databases must already be uninstalled,
// and that no local databases be enabled for publishing.
distributor.UninstallDistributor(false);
}
else
{
//Do something here if the distributor does not exist.
throw new ApplicationException(String.Format(
"The Distributor '{0}' does not exist.", distributorName));
}
}
else
{
throw new ApplicationException("You must first delete all subscriptions.");
}
}
catch (Exception ex)
{
// Implement appropriate error handling here.
throw new ApplicationException("The Publisher and Distributor could not be uninstalled", ex);
}
finally
{
publisherConn.Disconnect();
distributorConn.Disconnect();
}
' Set the Distributor and publication database names.
' Publisher and Distributor are on the same server instance.
Dim publisherName As String = publisherInstance
Dim distributorName As String = subscriberInstance
Dim distributionDbName As String = "distribution"
Dim publicationDbName As String = "AdventureWorks2008R2"
' Create connections to the Publisher and Distributor
' using Windows Authentication.
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
Dim distributorConn As ServerConnection = New ServerConnection(distributorName)
' Create the objects we need.
Dim distributor As ReplicationServer
distributor = New ReplicationServer(distributorConn)
Dim publisher As DistributionPublisher
Dim distributionDb As DistributionDatabase
distributionDb = New DistributionDatabase(distributionDbName, distributorConn)
Dim publicationDb As ReplicationDatabase
publicationDb = New ReplicationDatabase(publicationDbName, publisherConn)
Try
' Connect to the Publisher and Distributor.
publisherConn.Connect()
distributorConn.Connect()
' Disable all publishing on the AdventureWorks database.
If publicationDb.LoadProperties() Then
If publicationDb.EnabledMergePublishing Then
publicationDb.EnabledMergePublishing = False
ElseIf publicationDb.EnabledTransPublishing Then
publicationDb.EnabledTransPublishing = False
End If
Else
Throw New ApplicationException( _
String.Format("The {0} database does not exist.", publicationDbName))
End If
' We cannot uninstall the Publisher if there are still Subscribers.
If distributor.RegisteredSubscribers.Count = 0 Then
' Uninstall the Publisher, if it exists.
publisher = New DistributionPublisher(publisherName, distributorConn)
If publisher.LoadProperties() Then
publisher.Remove(False)
Else
' Do something here if the Publisher does not exist.
Throw New ApplicationException(String.Format( _
"{0} is not a Publisher for {1}.", publisherName, distributorName))
End If
' Drop the distribution database.
If distributionDb.LoadProperties() Then
distributionDb.Remove()
Else
' Do something here if the distribition DB does not exist.
Throw New ApplicationException(String.Format( _
"The distribution database '{0}' does not exist on {1}.", _
distributionDbName, distributorName))
End If
' Uninstall the Distributor, if it exists.
If distributor.LoadProperties() Then
' Passing a value of false means that the Publisher
' and distribution databases must already be uninstalled,
' and that no local databases be enabled for publishing.
distributor.UninstallDistributor(False)
Else
'Do something here if the distributor does not exist.
Throw New ApplicationException(String.Format( _
"The Distributor '{0}' does not exist.", distributorName))
End If
Else
Throw New ApplicationException("You must first delete all subscriptions.")
End If
Catch ex As Exception
' Implement appropriate error handling here.
Throw New ApplicationException("The Publisher and Distributor could not be uninstalled", ex)
Finally
publisherConn.Disconnect()
distributorConn.Disconnect()
End Try
Bezpieczeństwo wątków
Wszystkie publiczne statyczny (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.