9.7 启动单用户模式

9.7 启动单用户模式


9.7.1 单用户模式

  在某些情况下,可能必须在单用户模式下启动 SQL Server 实例。例如,您可能要更改服务器配置选项或恢复已损坏的 master 数据库或其他系统数据库。这两个操作都需要在单用户模式下启动 SQL Server 的实例。

  在单用户模式下不执行 CHECKPOINT 进程(CHECKPOINT 保证将已完成的事务定期从磁盘缓存写入数据库设备)。通常,在遇到需要修复的系统数据库问题时使用此选项。

  启用 sp_configure allow updates 选项。默认情况下,将禁用 allow updates

  在单用户模式下启动 SQL Server 可使计算机本地 Administrators 组的任何成员作为 sysadmin 固定服务器角色的成员连接到 SQL Server 实例。

  在单用户模式下连接到 SQL Server 实例之前,停止 SQL Server Agent 服务;否则 SQL Server Agent 服务将使用该连接,从而使其阻塞。



9.7.2 图形界面启动单用户模式

  打开 SSCM(SQL Server 配置管理器),找到需要进行操作的实例。如果该实例正在运行,请先停止它。

  修改该实例的属性,在“启动”选项卡中添加“-m”参数行。

wKioL1aHjpPzVIFOAACHo-xGwmI616.png


提示:

  SQL Server 2012 之前的版本则在“高级”选项卡的“启动参数”编辑框的字符串的末尾添加“;-m”。


  修改了启动参数之后,重新启动该实例。查看 SQL Server 的错误日志,可以看到“started in signle-user mode”信息。

2015-07-02 16:50:57.33 spid8s      SQL Server started in single-user mode. This an informational message only. No user action is required.


  如果操作结果后需要重新启动到正常模式(多用户模式),请停止该实例,然后修改启动参数,删除“-m”参数行。



9.7.3 从命令行启动单用户模式

(1) 搜索 sqlserver.exe 的路径

  在Windows的“服务”中找到这个命名实例,查出“可执行文件的路径”。例如:

"C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER

wKioL1aHkW7xHQCsAADSX7DR8JM551.png


(2)启动实例 

  打开一个命令行窗口。将“可执行文件的路径”复制到这个命令行窗口,然后添加“ -m”参数,指定单用户模式启动。

wKioL1aHknrRKdJaAAAfexlm2Jo097.png


  启动日志将直接显示在命令行窗口,请检查启动日志,确认已成功启用了单用户模式。

wKiom1aHkvnQ-dh5AABrfdZG-fQ094.png


(3) 客户端连接

  新建一个命令行窗口,可以使用 sqlcmd 执行操作。或者通过 SSMS 图形界面连接到该实例。


(4) 停止实例

  如需停止SQL Server 实例,只需要在 sqlservr.exe 窗口按 Ctrl-C 或者 Ctrl-Break 组合键(甚至直接关闭 sqlservr.exe 的窗口),在遇到提问时回答“Y”。

 Do you wish to shutdown SQL Server (Y/N)?



9.7.4 限制客户端应用程序

  从命令行启动时可以将连接限制为指定的客户端应用程序。例如:

◆ -m "sqlcmd" 

  将连接限制为单个连接并且该连接必须将自身标识为 SQLCMD 客户端程序

 

◆ -m "Microsoft SQL Server Management Studio -Query" 

  指定只有 SSMS 中的查询编辑器可以连接到 SQL Server 实例。


  客户端应用程序名称区分大小写。



9.7.5 最小配置模式

  在启动选项中添加“-m”参数行,将以最小配置启动 SQL Server。在配置值的设置(例如,过度分配内存)妨碍服务器启动时,这非常有用。在最低配置模式下启动 SQL Server 会将 SQL Server 置于单用户模式。



本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(单用户)