2013-04-26 102 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