我正在尝试在Windows Azure数据库上执行以下查询 使用主人
ALTER DATABASE Test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE Test SET MULTI_USER
尝试运行时我收到错误
ALTER DATABASE语句必须是批处理中唯一的语句。
有关如何解决此问题的任何建议。我基本上想要的是关闭我的数据库上的所有当前连接。
答案 0 :(得分:3)
正如错误所暗示的那样,你的alter语句可能是批处理中唯一的 - 这样的东西应该起作用:
GO
ALTER DATABASE Test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE Test SET MULTI_USER
GO
GO表示批处理结束,因此每个alter语句都是一个单独的批处理。
答案 1 :(得分:0)
如果您只想关闭连接,可以尝试将其设置为restricted_user。在V12中不支持ALTER DATABASE单个用户。如果要关闭所有连接并且如果它们重新连接就可以,则可以通过将Kill语句与sys.dm_Exec_Requests一起使用来终止它们。另一个选项是设置ReadOnly然后设置Read_write。 SQL DB中没有单个用户选项。