2013-04-26 66 views
0

我需要配置2個數據庫之間的合併複製。這些數據庫有外鍵的完整性,這使得複製無法工作,所以我使出:合併複製鎖定用戶數據庫嗎?

  1. 刪除的用戶數據庫中的所有FKS,
  2. 複製,並
  3. 重塑FKS。

然而,這使用戶數據庫容易受到FK違規。


所以我的問題是:

  1. 是否複製鎖定的用戶數據庫,提高交易,並且導致數據庫的過程中,任何方式無法使用?
  2. 如果不是,我可以通過TSQL手動啓動這種鎖嗎?
  3. 如果以上都不可能,有什麼我失蹤?

回答

0

不知道由複製啓動的鎖定,但在維護時您可以將整個數據庫設置爲single_user或restricted_user。

ALTER DATABASE SET RESTRICTED_USER 

我推薦的第二個,因爲它允許對數據庫的訪問到誰是所有用戶,報價:db_owner固定數據庫角色成員以及dbcreator和 sysadmin固定服務器角色

成員

(在這裏看到:http://msdn.microsoft.com/en-us/library/aa933082%28SQL.80%29.aspx

,只有普通用戶都受到限制。它將等待,直到所有常規用戶連接完成

ALTER DATABASE SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE 

將立即終止所有此類連接。這

select DATABASEPROPERTYEX ('ocon_reportdb','UserAccess') DATABASEPROPERTYEX_UserAccess 

讀取當前狀態

UPDATE: 有修的活動,如由數據庫引擎進行統計。使用WITH ROLLBACK IMMEDIATE也會殺死這些連接,所以要小心

UPDATE2:規範,以在RESTRICTED_USER模式ACCES

+0

謝謝。它工作完美。 – 2013-05-08 14:19:40