Sql 合并复制是否锁定订阅服务器数据库?
我需要在2个数据库之间配置合并复制。这些数据库具有外键完整性,这使得复制无法工作,因此我求助于:Sql 合并复制是否锁定订阅服务器数据库?,sql,foreign-keys,merge-replication,locks,Sql,Foreign Keys,Merge Replication,Locks,我需要在2个数据库之间配置合并复制。这些数据库具有外键完整性,这使得复制无法工作,因此我求助于: 正在删除订阅服务器数据库上的所有FK 复制,以及 重新创建FKs 但是,这会使订阅服务器数据库容易受到FK冲突的影响 因此,我的问题是: 复制是否会锁定订阅服务器数据库,引发事务,并使数据库在复制过程中以任何方式不可用 如果没有,我可以通过TSQL手动启动这样一个锁吗 如果以上任何一项都不可能的话,我有没有遗漏什么 不知道由复制启动的锁,但在维护期间,您可以将整个数据库设置为单用户或受限用户 AL
因此,我的问题是:
不知道由复制启动的锁,但在维护期间,您可以将整个数据库设置为单用户或受限用户
ALTER DATABASE SET RESTRICTED_USER
我推荐第二个,因为它允许以下所有用户访问数据库:
db_owner固定数据库角色和dbcreator的成员,以及
sysadmin固定服务器角色
(见此处:)
,仅限制普通用户。它将等待所有常规用户连接完成
ALTER DATABASE SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
将立即终止所有此类连接。这个
select DATABASEPROPERTYEX ('ocon_reportdb','UserAccess') DATABASEPROPERTYEX_UserAccess
读取当前状态
更新:
还有一些维护活动,例如数据库引擎执行的统计。将与立即回滚一起使用也会终止这些连接,因此要小心
更新2:在受限用户模式下具有访问权限的规范