首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单用户模式下建立连接

在单用户模式下建立连接
EN

Stack Overflow用户
提问于 2015-07-28 11:52:58
回答 2查看 446关注 0票数 0

因此,我有一个第三方供应商软件,我必须调用一个SQL代理作业来恢复我的数据库。因此,我的第一步是在单用户模式下设置数据库,第二步是调用软件启动恢复。问题是,软件需要很长时间才能真正启动恢复(通过网络来完成),因此另一个用户可以突然进入并接管数据库。

有没有办法将DB放在单用户模式下,然后立即抓取该连接?我尝试了几个"Select ()“,但我觉得这是从系统中获取的,而不是数据库。是否必须从数据库中的特定表中进行选择才能使其正常工作?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-28 12:00:03

与其将数据库置于单一用户模式下,不如将数据库脱机放在另一个数据库的上下文中:

代码语言:javascript
复制
USE tempdb;
ALTER DATABASE DatabaseToRestore
    SET OFFLINE WITH ROLLBACK IMMEDIATE;
票数 2
EN

Stack Overflow用户

发布于 2015-07-28 12:04:59

使用“”选项和"-m“选项,该选项将SQL置于单个用户模式中。

这样,只有与给定名称匹配的应用程序才能连接并接受连接。显然,您需要确保正在执行还原的客户端进程有一个不同的名称!

有关各种Server启动选项的信息,请参见此处:https://msdn.microsoft.com/en-us/library/ms190737.aspx

此外,我的印象是,你必须是管理员才能在单一用户模式下进行连接,当然你的正常用户不应该这样做。如果我在这一点上错了,请有人纠正我!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31675518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档