1

SQL Server Management Studioを使用すると、Replicationフォルダーの下のサブスクライバーデータベースにあるローカルサブスクリプションのリストを簡単に確認できます。私の質問は、プログラムでそのリストを取得するにはどうすればよいですか。RMOを使用してサブスクリプションを作成できることを知っています。既存のすべてのローカルサブスクリプションのリストを取得する方法を知りたいです。

4

1 に答える 1

1

Publication.EnumSubscriptionsメソッドは、パブリケーションをサブスクライブするサブスクリプションを返します。これは、sp_helpsubscriptionまたはsp_helpmergesubscriptionを実行するのと同じです。

サブスクライバーに接続し、ReplicationDatabaseCollectionを取得して、レプリケートされたデータベースのサブスクリプションを介して列挙することもできます。次に例を示します。

// Connect to the Subscriber
subscriberName = "SubscriberName";
subscriberConnection = new ServerConnection(subscriberName);
subscriberConnection.Connect();

// Get Subscriber replication databases
ReplicationServer subscriberServer = new ReplicationServer(subscriberConnection);
ReplicationDatabaseCollection subscriberReplicationDatabases = subscriberServer.ReplicationDatabases;

// Enumerate Subscriber replication databases
foreach (ReplicationDatabase subscriptionDatabase in subscriberReplicationDatabases)
{
    foreach (MergePullSubscription mergePullSubscription in subscriptionDatabase.MergePullSubscriptions)
    {
        // do something...
    }
}
于 2012-11-20T20:34:05.690 に答える