次の方法で共有


PublisherMonitor.EnumDatabaseSubscriptions メソッド

指定したパブリケーション データベースを使用するパブリケーションに属するサブスクリプションに関する情報を返します。

名前空間:  Microsoft.SqlServer.Replication
アセンブリ:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)

構文

'宣言
Public Function EnumDatabaseSubscriptions ( _
    publicationDatabase As String, _
    publicationType As PublicationType, _
    resultOption As SubscriptionResultOption _
) As DataSet
'使用
Dim instance As PublisherMonitor 
Dim publicationDatabase As String 
Dim publicationType As PublicationType 
Dim resultOption As SubscriptionResultOption 
Dim returnValue As DataSet 

returnValue = instance.EnumDatabaseSubscriptions(publicationDatabase, _
    publicationType, resultOption)
public DataSet EnumDatabaseSubscriptions(
    string publicationDatabase,
    PublicationType publicationType,
    SubscriptionResultOption resultOption
)
public:
DataSet^ EnumDatabaseSubscriptions(
    String^ publicationDatabase, 
    PublicationType publicationType, 
    SubscriptionResultOption resultOption
)
member EnumDatabaseSubscriptions : 
        publicationDatabase:string * 
        publicationType:PublicationType * 
        resultOption:SubscriptionResultOption -> DataSet
public function EnumDatabaseSubscriptions(
    publicationDatabase : String, 
    publicationType : PublicationType, 
    resultOption : SubscriptionResultOption
) : DataSet

パラメーター

  • publicationDatabase
    型: System.String
    パブリケーション データベースの名前です。

戻り値

型: System.Data.DataSet
次の列を含む DataSet オブジェクトです。

列名

データ型

説明

status

int

パブリケーションに関連付けられているすべてのレプリケーション エージェントの状態の最大値です。次のいずれかの値をとります。

1 = 開始

2 = 成功

3 = 進行中

4 = アイドル状態

5 = 再試行

6 = 失敗

warning

int

パブリケーションに属しているサブスクリプションによって生成されるしきい値警告の最大値です。次の 1 つ以上の値の論理和になります。

1 = expiration。トランザクション パブリケーションに対するサブスクリプションが、保有期間のしきい値内に同期されませんでした。

2 = latency。トランザクション パブリッシャーからサブスクライバーへのデータのレプリケートにかかった時間が、秒単位のしきい値を超過しました。

4 = mergeexpiration。マージ パブリケーションに対するサブスクリプションが、保有期間のしきい値内に同期されませんでした。

8 = mergefastrunduration。高速ネットワーク接続上で、マージ サブスクリプションの同期の完了にかかった時間が、秒単位のしきい値を超過しました。

16 = mergeslowrunduration。低速またはダイヤルアップ ネットワーク接続上で、マージ サブスクリプションの同期の完了にかかった時間が、秒単位のしきい値を超過しました。

32 = mergefastrunspeed。高速ネットワーク接続上で、マージ サブスクリプションの同期中の行の配信率が、1 秒あたりの行数で表された配信率のしきい値を下回りました。

64 = mergeslowrunspeed。低速またはダイヤルアップ ネットワーク接続を経由したマージ サブスクリプションの同期中に、行の配信速度がしきい値 (1 秒あたりの行数) を下回りました。

subscriber

sysname

サブスクライバーの名前です。

subscriber_db

sysname

サブスクリプションで使用されるデータベースの名前です。

publisher_db

sysname

パブリケーション データベースの名前です。

publication

sysname

パブリケーションの名前です。

publication_type

int

パブリケーションの種類です。次のいずれかの値をとります。

0 = トランザクション パブリケーション

1 = スナップショット パブリケーション

2 = マージ パブリケーション

subtype

int

サブスクリプションの種類です。次のいずれかの値をとります。

0 = プッシュ

1 = プル

2 = 匿名

latency

int

データ変更が、トランザクション パブリケーションのログ リーダー エージェントとディストリビューション エージェントで伝達されるまでの最大待機時間 (秒単位) です。

latencythreshold

int

トランザクション パブリケーションの最大待機時間です。この値を超過すると警告が生成されます。

agentnotrunning

int

エージェントが実行されていない期間 (時間単位) です。

agentnotrunningthreshold

int

エージェントが実行されていない期間 (時間単位) です。この値を超過すると警告が生成されます。

timetoexpiration

int

同期されていないサブスクリプションが失効するまでの期間 (時間単位) です。

expirationthreshold

int

サブスクリプションが失効するまでの期間 (時間単位) です。この値を超過した場合は警告が生成されます。

last_distsync

datetime

ディストリビューション エージェントが最後に実行された日時です。

distribution_agentname

sysname

トランザクション パブリケーションに対するサブスクリプションに関するディストリビューション エージェント ジョブの名前です。

mergeagentname

sysname

マージ パブリケーションへのサブスクリプションに関するマージ エージェント ジョブの名前です。

mergesubscriptionfriendlyname

sysname

サブスクリプションに付けられた表示名です。

mergeagentlocation

sysname

マージ エージェントが実行されるサーバーの名前です。

mergeconnectiontype

int

マージ パブリケーションに対するサブスクリプションの同期時に使用される接続です。次のいずれかの値をとります。

1 = ローカル エリア ネットワーク (LAN)

2 = ダイヤルアップ ネットワーク接続

3 = Web 同期

mergePerformance

int

すべてのサブスクリプションの同期と比較した、前回の同期のパフォーマンスです。前回の同期の配信率を、これまでのすべての配信率の平均で割った値を基準としています。

mergerunspeed

float

前回のサブスクリプションの同期の配信率です。

mergerunduration

int

前回のサブスクリプションの同期の完了にかかった時間です。

monitorranking

int

結果セットのサブスクリプションに順序を付けるために使用される順位値です。次のいずれかの値をとります。

トランザクション パブリケーションの場合 :

60 = エラー

56 = 警告 : パフォーマンス クリティカル

52 = 警告 : 間もなく期限切れまたは期限切れ

50 = 警告 : 初期化されていないサブスクリプション

40 = 失敗したコマンドの再試行

30 = 実行していない (成功)

20 = 実行中 (開始、実行中、またはアイドル状態)

マージ パブリケーションの場合

60 = エラー

56 = 警告: パフォーマンス クリティカル

54 = 警告 : 長期マージ

52 = 警告 : 間もなく期限切れまたは期限切れ

50 = 警告 : 初期化されていないサブスクリプション

40 = 失敗したコマンドの再試行

30 = 実行中 (開始、実行中、またはアイドル状態)

20 = 実行していない (成功)

distributionagentjobid

binary(16)

トランザクション パブリケーションへのサブスクリプションに関するディストリビューション エージェント ジョブの ID です。

mergeagentjobid

binary(16)

マージ パブリケーションへのサブスクリプションに関するマージ エージェント ジョブの ID です。

distributionagentid

int

サブスクリプションに関するディストリビューション エージェント ジョブの ID です。

distributionagentprofileid

int

ディストリビューション エージェントで使用されるエージェント プロファイルの ID です。

mergeagentid

int

サブスクリプションに関するマージ エージェント ジョブの ID です。

mergeagentprofileid

int

マージ エージェントで使用されるエージェント プロファイルの ID です。

説明

EnumDatabaseSubscriptions メソッドを呼び出せるのは、ディストリビューション データベースの固定データベース ロール db_owner または replmonitor のメンバーだけです。

EnumDatabaseSubscriptions を呼び出すと、sp_replmonitorhelpsubscription を実行したのと同じことになります。

関連項目

参照

PublisherMonitor クラス

Microsoft.SqlServer.Replication 名前空間