Procedura: Visualizzazione e modifica delle proprietà del server di pubblicazione e del server di distribuzione (programmazione Transact-SQL della replica)

È possibile visualizzare le proprietà del server di pubblicazione e del server di distribuzione a livello di programmazione utilizzando le stored procedure di replica.

Per visualizzare le proprietà del database di distribuzione

  1. Eseguire sp_helpdistributor per restituire informazioni sul server di distribuzione, il database di distribuzione e la directory di lavoro.

  2. Eseguire sp_helpdistributiondb per restituire le proprietà di un database di distribuzione specificato.

Per modificare le proprietà del server di distribuzione e del database di distribuzione

  1. Nel server di distribuzione eseguire sp_changedistributor_property per modificare le proprietà del server di distribuzione.

  2. Nel server di distribuzione eseguire sp_changedistributiondb per modificare le proprietà del database di distribuzione.

  3. Nel server di distribuzione eseguire sp_changedistributor_password per modificare la password del server di distribuzione.

    Nota sulla sicurezzaNota sulla sicurezza

    Se possibile, richiedere agli utenti di immettere le credenziali in fase di esecuzione. Evitare l'archiviazione delle credenziali in un file script.

  4. Nel server di distribuzione eseguire sp_changedistpublisher per modificare le proprietà di un server di pubblicazione utilizzando il server di distribuzione.

Esempio

Lo script Transact-SQL di esempio riportato di seguito restituisce informazioni sul server di distribuzione e sul database di distribuzione.

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

In questo esempio vengono modificati i periodi di memorizzazione per il server di distribuzione, la password utilizzata per la connessione al server di distribuzione e l'intervallo con cui il server di distribuzione verifica lo stato di diversi agenti di replica, noto anche come intervallo di heartbeat.

Nota sulla sicurezzaNota sulla sicurezza

Se possibile, richiedere agli utenti di immettere le credenziali di protezione in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

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