我们在一个SQL Server 2000实例中有一些数据库,其中一个是沙盒。我的老板需要能够使用我没有源代码的实用程序通过沙箱恢复新数据。如果有人连接到沙盒,则此类恢复将失败。
我访问它的另一个应用程序使用连接池,也可能有人使用其他应用程序访问我无法控制的沙箱。
如何在不触及同一实例上运行的任何其他数据库的情况下,从沙盒中启动所有人,包括池化连接?
(我见过那些使用Management Studio 2008(来自2008 Express)的解决方案,但是a)我需要能够以某种方式从命令行或脚本中执行此操作,以便我的老板可以在不安装Management的情况下运行它Studio,以及b)他们谈到的上下文菜单选项似乎并不存在。)
答案 0 :(得分:1)
我在网上找到了它:
ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE
创建一个运行此恢复的sp,然后将其恢复为常规。
(ALTER DATABASE foo SET MULTI_USER;)