ReplicationServer.ChangeDistributorPassword Method (String)

Changes the Distributor password.

Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Rmo (in microsoft.sqlserver.rmo.dll)

Syntax

'Declaration
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
)

Parameters

  • password
    The new password string for the distributor_admin login.

    ms151338.security(en-US,SQL.90).gifSecurity Note:
    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.

Remarks

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.

Example

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

Thread Safety

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.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

ReplicationServer Class
ReplicationServer Members
Microsoft.SqlServer.Replication Namespace

Other Resources

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