有谁知道在不将数据库设置为单用户模式的情况下将文件组设置为 AUTOGROW_ALL_FILES 的方法吗?我经常将新的文件组/文件添加到 24/7 生产数据库,其中终止活动会话和回滚事务(通过 SET SINGLE_USER WITH ROLLBACK IMMEDIATE)绝对不是首选。IMO 此操作应该能够与数据库上的其他活动会话一起完成。
有谁知道在不将数据库设置为单用户模式的情况下将文件组设置为 AUTOGROW_ALL_FILES 的方法吗?我经常将新的文件组/文件添加到 24/7 生产数据库,其中终止活动会话和回滚事务(通过 SET SINGLE_USER WITH ROLLBACK IMMEDIATE)绝对不是首选。IMO 此操作应该能够与数据库上的其他活动会话一起完成。
似乎没有办法解决它。这是与来自 SQL Skills 的 Paul Randal 的离线对话。所以这意味着我需要在数据库上没有其他打开的会话,或者在运行 set 语句之前将其设置为单用户模式。感谢保罗的帮助。
根据Microsoft 的文档,运行时不需要将数据库设置为单用户模式
ALTER DATABASE MODIFY FILEGROUP <FILEGROUP> AUTOGROW_ALL_FILES
。如果您发现自己正在设置单用户模式,我建议您查看一下阻止该更改的锁。
另一种方法是增加数据文件本身而不是文件组,并考虑使用跟踪标志 1117。