Anzeigen und Ändern der Verteiler- und VerlegereigenschaftenView and Modify Distributor and Publisher Properties

Gilt für: JaSQL Server JaAzure SQL-Datenbank (nur verwaltete Instanz) NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

In diesem Thema wird beschrieben, wie die Distributor-Eigenschaft und die Publisher-Eigenschaft in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mit SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLoder Replikationsverwaltungsobjekten (RMO) angezeigt und geändert werden.This topic describes how to view and modify Distributor and Publisher properties in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or Replication Management Objects (RMO).

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

EmpfehlungenRecommendations

  • Bei Verlegern, auf denen eine niedrigere Versionen als MicrosoftMicrosoft SQL Server 2005 (9.x)SQL Server 2005 (9.x)ausgeführt wird, kann ein Benutzer der festen Serverrolle sysadmin auf der Seite Abonnenten Abonnenten registrieren.For Publishers running versions prior to MicrosoftMicrosoft SQL Server 2005 (9.x)SQL Server 2005 (9.x), a user in the sysadmin fixed server role can register Subscribers on the Subscribers page. Ab SQL Server 2005 (9.x)SQL Server 2005 (9.x)müssen Abonnenten für die Replikation nicht mehr explizit registriert werden.Beginning with SQL Server 2005 (9.x)SQL Server 2005 (9.x), it is no longer necessary to explicitly register Subscribers for replication.

SicherheitSecurity

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So zeigen Sie die Verteilereigenschaften an oder ändern dieseTo view and modify Distributor properties

  1. Stellen Sie in SQL Server Management StudioSQL Server Management Studioeine Verbindung mit dem Verteiler her, und erweitern Sie dann den Serverknoten.Connect to the Distributor in SQL Server Management StudioSQL Server Management Studio, and then expand the server node.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation , und klicken Sie dann auf Verteilereigenschaften.Right-click the Replication folder, and then click Distributor Properties.

  3. Sie können die Eigenschaften im Dialogfeld Verteilereigenschaften – <Verteiler> anzeigen und ändern.View and modify properties in the Distributor Properties - <Distributor> dialog box.

    • Um die Eigenschaften einer Verteilungsdatenbank anzuzeigen und zu ändern, klicken Sie auf die Schaltfläche Eigenschaften ( ... ) für die Datenbank auf der Seite Allgemein des Dialogfelds.To view and modify properties for a distribution database, click the properties button (...) for the database on the General page of thedialog box.

    • Um die mit dem Verteiler verbundenen Verlegereigenschaften anzuzeigen und zu ändern, klicken Sie auf der SeiteVerlegerdes Dialogfelds auf die Schaltfläche Eigenschaften ( ... ) des Verlegers.To view and modify Publisher properties associated with the Distributor, click the properties button (...) for the Publisher on the Publishers page of the dialog box.

    • Klicken Sie auf der Seite Allgemein des Dialogfelds auf Profilstandards , um auf die Profile der Replikations-Agents zuzugreifen.To access profiles for replication agents, click the Profile Defaults button on the General page of the dialog box. Weitere Informationen finden Sie unter Replication Agent Profiles.For more information, see Replication Agent Profiles.

    • Um das Kennwort des zum Ausführen von administrativen gespeicherten Prozeduren auf dem Verleger und Aktualisieren von Informationen auf dem Verteiler verwendeten Kontos zu ändern, geben Sie auf der Seite Verleger des Dialogfelds in den Feldern Kennwort und Kennwort bestätigen ein neues Kennwort ein.To change the password for the account used when administrative stored procedures execute at the Publisher and update information at the Distributor, enter a new password in the Password and Confirm password boxes on the Publishers page of the dialog box. Weitere Informationen finden Sie unter Schützen des Verteilers.For more information, see Secure the Distributor.

  4. Ändern Sie die Eigenschaften nach Bedarf, und klicken Sie dann auf OK.Modify any properties if necessary, and then click OK.

So zeigen Sie die Verlegereigenschaften an oder ändern dieseTo view and modify Publisher properties

  1. Stellen Sie in SQL Server Management StudioSQL Server Management Studioeine Verbindung mit dem Verleger her, und erweitern Sie dann den Serverknoten.Connect to the Publisher in SQL Server Management StudioSQL Server Management Studio, and then expand the server node.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation , und klicken Sie dann auf Verlegereigenschaften.Right-click the Replication folder, and then click Publisher Properties.

  3. Sie können die Eigenschaften im Dialogfeld Verlegereigenschaften - < Verleger > anzeigen und ändern.View and modify properties in the Publisher Properties - < Publisher > dialog box.

    • Ein Benutzer der festen Serverrolle sysadmin kann Datenbanken für die Replikation auf der Seite Veröffentlichungsdatenbanken aktivieren.A user in the sysadmin fixed server role can enable databases for replication on the Publication Databases page. Durch das Aktivieren wird eine Datenbank nicht veröffentlicht, sondern Benutzer der festen Datenbankrolle db_owner für diese Datenbank können dann eine oder mehrere Veröffentlichungen in der Datenbank erstellen.Enabling a database does not publish that database; rather, it allows any user in the db_owner fixed database role for that database to create one or more publications in the database.
  4. Ändern Sie die Eigenschaften nach Bedarf, und klicken Sie dann auf OK.Modify any properties if necessary, and then click OK.

Verwenden von Transact-SQLUsing Transact-SQL

Die Verleger- und Verteilereigenschaften können mit gespeicherten Replikationsprozeduren programmgesteuert angezeigt werden.Publisher and Distributor properties can be viewed programmatically using replication stored procedures.

So zeigen Sie Verleger- und Verteilerdatenbankeigenschaften anTo view Distributor and distribution database properties

  1. Führen Sie sp_helpdistributor aus, um Informationen über Verteiler, Verteilungsdatenbank und Arbeitsverzeichnis zurückzugeben.Execute sp_helpdistributor to return information about the Distributor, distribution database, and working directory.

  2. Führen Sie sp_helpdistributiondb aus, um die Eigenschaften einer angegebenen Verteilungsdatenbank zurückzugeben.Execute sp_helpdistributiondb to return properties of a specified distribution database.

So ändern Sie Verleger- und VerteilerdatenbankeigenschaftenTo change Distributor and distribution database properties

  1. Führen Sie auf dem Verteiler sp_changedistributor_property aus, um Verteilereigenschaften zu ändern.At the Distributor, execute sp_changedistributor_property to modify Distributor properties.

  2. Führen Sie auf dem Verteiler sp_changedistributiondb aus, um Eigenschaften der Verteilerdatenbank zu ändern.At the Distributor, execute sp_changedistributiondb to modify distribution database properties.

  3. Führen Sie auf dem Verteiler sp_changedistributor_password aus, um das Verteilerkennwort zu ändern.At the Distributor, execute sp_changedistributor_password to change the Distributor password.

    Wichtig

    Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Sie Anmeldeinformationen in einer Skriptdatei speichern müssen, sollten Sie die Datei schützen, um nicht autorisierten Zugriff zu verhindern.If you must store credentials in a script file, secure the file to prevent unauthorized access.

  4. Führen Sie auf dem Verteiler sp_changedistpublisher aus, um mit dem Verteiler die Eigenschaften eines Verlegers zu ändern.At the Distributor, execute sp_changedistpublisher to change the properties of a Publisher using the Distributor.

Beispiele (Transact-SQL)Examples (Transact-SQL)

Das folgende Beispielskript Transact-SQLTransact-SQL gibt Informationen über den Verteiler und die Verteilerdatenbank zurück.The following example Transact-SQLTransact-SQL script returns information about the Distributor and distribution database.

-- View information about the Distributor, distribution database, 
-- working directory, and SQL Server Agent user account. 
USE master
EXEC sp_helpdistributor;
GO
-- View information about the specified distribution database. 
USE distribution
EXEC sp_helpdistributiondb;
GO

Im folgenden Beispiel werden die Beibehaltungsdauer für den Verteiler, das Kennwort für den Verbindungsaufbau zum Verteiler und das Intervall geändert, in dem der Verteiler den Status verschiedener Replikations-Agents überprüft (auch Taktintervall genannt).This example changes retention periods for the Distributor, the password used when connecting to the Distributor, and the interval at which the Distributor checks the status of various replication agents (also known as the heartbeat interval).

Wichtig

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Sie Anmeldeinformationen in einer Skriptdatei speichern müssen, sollten Sie die Datei schützen, um nicht autorisierten Zugriff zu verhindern.If you must store credentials in a script file, secure the file to prevent unauthorized access.


-- Change the heartbeat interval at the Distributor to 5 minutes. 
USE master 
exec sp_changedistributor_property 
    @property = N'heartbeat_interval', 
    @value = 5;
GO
DECLARE @distributionDB AS sysname;
SET @distributionDB = N'distribution';

-- Change the history retention period to 24 hours and the
-- maximum retention period to 48 hours.  
USE distribution
EXEC sp_changedistributiondb @distributionDB, N'history_retention', 24
EXEC sp_changedistributiondb @distributionDB, N'max_distretention', 48
GO 
-- Change the password on the Distributor. 
-- To avoid storing the password in the script file, the value is passed 
-- into SQLCMD as a scripting variable. For information about how to use 
-- scripting variables on the command line and in SQL Server Management
-- Studio, see the "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
USE master
EXEC sp_changedistributor_password $(Password)
GO

Verwenden von Replikationsverwaltungsobjekten (RMO)Using Replication Management Objects (RMO)

So zeigen Sie die Verteilereigenschaften an oder ändern dieseTo view and modify Distributor properties

  1. Erstellen Sie eine Verbindung mit dem Verteiler, indem Sie die ServerConnection -Klasse verwenden.Create a connection to the Distributor by using the ServerConnection class.

  2. Erstellen Sie eine Instanz der ReplicationServer-Klasse.Create an instance of the ReplicationServer class. Übergeben Sie das ServerConnection -Objekt aus Schritt 1.Pass the ServerConnection object from step 1.

  3. (Optional) überprüfen Sie die IsDistributor -Eigenschaft, um sich davon zu überzeugen, dass der aktuell verbundene Server ein Verteiler ist.(Optional) Check the IsDistributor property to verify that the currently connected server is a Distributor.

  4. Rufen Sie die Load -Methode auf, um die Eigenschaften vom Server abzurufen.Call the Load method to get the properties from the server.

  5. (Optional) Zum Ändern der Eigenschaften legen Sie einen neuen Wert für eine oder mehrere der Verteilereigenschaften fest, die im ReplicationServer -Objekt festgelegt werden können.(Optional) To change properties, set a new value for one or more of the Distributor properties that can be set on the ReplicationServer object.

  6. (Optional) Wenn die CachePropertyChanges -Eigenschaft des ReplicationServer -Objekts auf truefestgelegt ist, rufen Sie die CommitPropertyChanges -Methode auf, um Änderungen auf dem Server einzutragen.(Optional) If the CachePropertyChanges property on the ReplicationServer object is set to true, call the CommitPropertyChanges method to commit the changes to the server.

So zeigen Sie Verteilerdatenbankeigenschaften an oder ändern Sie diese EigenschaftenTo view and modify distribution database properties

  1. Erstellen Sie eine Verbindung mit dem Verteiler, indem Sie die ServerConnection -Klasse verwenden.Create a connection to the Distributor by using the ServerConnection class.

  2. Erstellen Sie eine Instanz der DistributionDatabase-Klasse.Create an instance of the DistributionDatabase class. Geben Sie die Namenseigenschaft an, und übergeben Sie das ServerConnection -Objekt aus Schritt 1.Specify the name property and pass the ServerConnection object from step 1.

  3. Rufen Sie die LoadProperties -Methode auf, um die Eigenschaften vom Server abzurufen.Call the LoadProperties method to get the properties from the server. Wenn diese Methode falsezurückgibt, ist die Datenbank mit dem angegebenen Namen nicht auf dem Server vorhanden.If this method returns false, the database with the specified name does not exist on the server.

  4. (Optional) Um Eigenschaften zu ändern, legen Sie einen neuen Wert für eine der definierbaren DistributionDatabase -Eigenschaften fest.(Optional) To change properties, set a new value for one of the DistributionDatabase properties that can be set.

  5. (Optional) Wenn die CachePropertyChanges -Eigenschaft des DistributionDatabase -Objekts auf truefestgelegt ist, rufen Sie die CommitPropertyChanges -Methode auf, um Änderungen auf dem Server einzutragen.(Optional) If the CachePropertyChanges property on the DistributionDatabase object is set to true, call the CommitPropertyChanges method to commit the changes to the server.

So zeigen Sie die Verlegereigenschaften an oder ändern dieseTo view and modify Publisher properties

  1. Erstellen Sie eine Verbindung mit dem Verleger, indem Sie die ServerConnection -Klasse verwenden.Create a connection to the Publisher by using the ServerConnection class.

  2. Erstellen Sie eine Instanz der DistributionPublisher-Klasse.Create an instance of the DistributionPublisher class. Geben Sie die Name -Eigenschaft an, und übergeben Sie das ServerConnection -Objekt aus Schritt 1.Specify the Name property and pass the ServerConnection object from step 1.

  3. (Optional) Um Eigenschaften zu ändern, legen Sie einen neuen Wert für eine der definierbaren DistributionPublisher -Eigenschaften fest.(Optional) To change properties, set a new value for one of the DistributionPublisher properties that can be set.

  4. (Optional) Wenn die CachePropertyChanges -Eigenschaft des DistributionPublisher -Objekts auf truefestgelegt ist, rufen Sie die CommitPropertyChanges -Methode auf, um Änderungen auf dem Server einzutragen.(Optional) If the CachePropertyChanges property on the DistributionPublisher object is set to true, call the CommitPropertyChanges method to commit the changes to the server.

So ändern Sie das Kennwort für die Verwaltungsverbindung zwischen dem Verleger und dem VerteilerTo change the password for the administrative connection from the Publisher to the Distributor

  1. Erstellen Sie eine Verbindung mit dem Verteiler, indem Sie die ServerConnection -Klasse verwenden.Create a connection to the Distributor by using the ServerConnection class.

  2. Erstellen Sie eine Instanz der ReplicationServer-Klasse.Create an instance of the ReplicationServer class.

  3. Legen Sie die ConnectionContext -Eigenschaft auf die in Schritt 1 erstellte Verbindung fest.Set the ConnectionContext property to the connection created in step 1.

  4. Rufen Sie die Load -Methode auf, um die Eigenschaften des Objekts abzurufen.Call the Load method to get the properties of the object.

  5. Rufen Sie die ChangeDistributorPassword -Methode auf.Call the ChangeDistributorPassword method. Übergeben Sie den neuen Kennwortwert für den password -Parameter.Pass the new password value for the password parameter.

    Wichtig

    Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Sie Anmeldeinformationen speichern müssen, verwenden Sie die Kryptografiedienste von MicrosoftMicrosoft Windows .NET Framework.If you must store credentials, use the cryptographic services provided by the MicrosoftMicrosoft Windows .NET Framework.

  6. (Optional) Führen Sie die folgenden Schritte aus, um das Kennwort bei jedem Remoteverleger zu ändern, der diesen Verteiler verwendet:(Optional) Perform the following steps to change the password at each remote Publisher that uses this Distributor:

    1. Erstellen Sie eine Verbindung mit dem Verleger, indem Sie die ServerConnection -Klasse verwenden.Create a connection to the Publisher by using the ServerConnection class.

    2. Erstellen Sie eine Instanz der ReplicationServer-Klasse.Create an instance of the ReplicationServer class.

    3. Legen Sie die ConnectionContext -Eigenschaft auf die in Schritt 6a erstellte Verbindung fest.Set the ConnectionContext property to the connection created in step 6a.

    4. Rufen Sie die Load -Methode auf, um die Eigenschaften des Objekts abzurufen.Call the Load method to get the properties of the object.

    5. Rufen Sie die ChangeDistributorPassword -Methode auf.Call the ChangeDistributorPassword method. Übergeben Sie den neuen Kennwortwert aus Schritt 5 für den password -Parameter.Pass the new password value from Step 5 for the password parameter.

Beispiel (RMO)Example (RMO)

In diesem Beispiel wird gezeigt, wie Verteilungs- und Verteilungsdatenbankeigenschaften geändert werden.This example shows how to change Distribution and distribution database properties.

Wichtig

Um die Speicherung von Anmeldeinformationen im Code vermeiden, wird das neue Verteilerkennwort zur Laufzeit angegeben.To avoid storing credentials in the code, the new Distributor password is supplied at runtime.

// 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

Weitere InformationenSee Also

Replication Management Objects Concepts Replication Management Objects Concepts
Deaktivieren der Veröffentlichung und Verteilung Disable Publishing and Distribution
Verteilung konfigurieren Configure Distribution
Replication Management Objects Concepts Replication Management Objects Concepts
Informationsskript für Verleger und Verteiler Distributor and Publisher Information Script
Replication System Stored Procedures Concepts Replication System Stored Procedures Concepts
Anzeigen von Informationen und Ausführen von Aufgaben für einen Verleger (Replikationsmonitor)View Information and Perform Tasks for a Publisher (Replication Monitor)