2011-08-29 59 views
0

如果連接的SQL Server不支持複製以及它支持哪種類型的複製(快照,合併,事務處理),那麼我需要禁用某些部分的用戶界面。我查看了SERVERPROPERTY函數的文檔,但沒有看到任何看起來像我需要的東西。有什麼建議麼?如何確定SQL Server是否支持複製

注 - 最好不要訴諸開啓版本。

回答

0

所以它看起來像有沒有簡單的方法來確定是否支持複製,但是,它是可能的,以確定是否對數據庫進行復制:

SELECT name, CASE WHEN is_published = 1 OR is_merge_published = 1 OR is_distributor = 1 THEN 1 ELSE 0 END AS uses_replication FROM sys.databases 

這是對親如我能得到我認爲。

0

即使SQL Server實例能夠進行復制,它仍不確定是否配置,以及管理員是否具有活動狀態。

對於所有這些不確定性,最有用的應用程序解決方案是在您的應用程序表中定義一個標誌,指示是否應啓用與複製相關的邏輯。這也使得系統測試變得簡單。

+0

那麼,在這種情況下,應用程序是用於配置/管理SQL Server的接口。我真的需要能夠檢測*支持,因爲當我們構建應用程序時它不會被知道。 – mhildreth

0

您可以嘗試在Try Catch塊中使用Microsoft.SqlServer.Replication namespace的對象設置複製。如果炸彈,則禁用應用程序的複製部分。

+0

好吧,我正在尋找在Web服務器上執行此操作,Microsoft.SqlServer程序集可能不安裝。最好使用TSQL查詢來完成此操作。 – mhildreth