我们有一些在安装应用程序期间执行的脚本。
其中一个用于设置数据库排序规则,另一个用于设置兼容性级别。我们对这些脚本使用以下构造:
ALTER DATABASE [DB_NAME] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [DB_NAME] SET COMPATIBILITY_LEVEL = DB_COMPATIBILITY_LEVEL
-- ALTER DATABASE [DB_NAME] COLLATE 'Collation Name'
GO
ALTER DATABASE [DB_NAME] SET MULTI_USER
GO
问题是:
设置单用户模式后,某些后台进程是否有可能获得访问权限?在这种情况下,我们的脚本无法执行。我看到了这个问题,看起来很相似,所以我决定问一个问题。
此问题与还原数据库有关。
alter database [test-db] set single_user with rollback immediate; --This sql is run using test-db
use master;restore database [test-db] from database_snapshot = 'snapshot_test-db';
alter database [test-db] set multi_user;
但是我不完全理解在单用户模式下恢复和更改数据库之间的区别。
在第一种情况下,将数据库设置为脱机就足够了。
任何帮助将不胜感激。
提前致谢。