ReplicationServer.ChangeDistributorPassword Method (String)

Changes the Distributor password.

命名空间: Microsoft.SqlServer.Replication
程序集: Microsoft.SqlServer.Rmo (in microsoft.sqlserver.rmo.dll)

语法

声明
Public Sub ChangeDistributorPassword ( _
    password As String _
)
public void ChangeDistributorPassword (
    string password
)
public:
void ChangeDistributorPassword (
    String^ password
)
public void ChangeDistributorPassword (
    String password
)
public function ChangeDistributorPassword (
    password : String
)

参数

  • password
    The new password string for the distributor_admin login.

    ms151338.security(zh-cn,SQL.90).gif安全说明:
    When possible, prompt users to enter security credentials at run time. If you must store credentials, use the cryptographic services provided by the Windows .NET Framework.

备注

The DistributorInstalled property must be true to set this property.

The ChangeDistributorPassword method can be called by members of the sysadmin fixed server role at the Distributor.

The ChangeDistributorPassword method is equivalent to the sp_changedistributor_password (Transact-SQL) stored procedure.

This namespace, class, or member is supported only in version 2.0 of the .NET Framework.

示例

// 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();
}

线程安全

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

平台

开发平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

目标平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

请参阅

参考

ReplicationServer Class
ReplicationServer Members
Microsoft.SqlServer.Replication Namespace

其他资源

How to: View and Modify Publisher and Distributor Properties (RMO Programming)