5

トランザクションレプリケーションでサブスクライバでデータベースがサブスクリプションされているかどうかを調べるT-SQL。私はディストリビューションに詳細を問い合わせたくない。トランザクションレプリケーションでサブスクライバーでデータベースがサブスクライバされているかどうかを確認するT-SQL

以下は動作しません。

SELECT is_subscribed FROM sys.databases 

SELECT DATABASEPROPERTYEX('database', 'IsSubscribed') 
+0

http://social.msdn.microsoft.com/Forums/en-US/sqlreplication/thread/5914a9bd-bbc2-4d8f-b961-86ba0c1a0cb8​​ – bummi

+0

「あなたが取ることができますMSsubscriptionsテーブルを見て、これはあなたのために働くかもしれません.... "私はディストリビュータではなく、この情報のサブスクライバを照会したいと思います。 – Afr

+0

私はこの関数に慣れていないので便利かもしれませんsp_MSenumsubscriptions – bummi

答えて

7

これまでのところ私が見つけた最良の方法ですが、非トランザクションレプリケーションでこれが動作するかどうかはわかりません。

SELECT COALESCE(OBJECTPROPERTY(OBJECT_ID('dbo.MSreplication_objects'), 'IsMSShipped'),0) AS IsSubscribed 

OR

SELECT name 
FROM sys.databases 
WHERE OBJECT_ID(name+'.dbo.MSreplication_objects') IS NOT NULL 
+0

第2のオプションが私のためにはうまくいった。ニースを見つける! – NateJ

関連する問題