单用户模式连接以及故障排除
2015-01-07 10:47
204 查看
场景:这是一个命名实例,使用动态端口,需要进入单用户模式进行维护。
一、启动实例
我们将直接使用命令行窗口启动单用户模式。
1. 找到 sqlservr.exe 的路径
在Windows的“服务”中找到这个命名实例,查出“可执行文件的路径”。例如:
"C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe" -sSQL2008R2
2. 启动实例
打开一个命令行窗口。将“可执行文件的路径”复制到这个命令行窗口,然后添加“ -m "sqlcmd" ” 参数,指定单用户模式启动而且只有 sqlcmd 可以连接到这个实例。
启动后,这个窗口将显示一大堆的启动信息。
注意:为了保证启动帐户有足够的权限,建议改为 Local System 启动。请在 SQL Server 配置管理器中修改。
二、确认端口配置
针对 TCP/IP 端口,面临两种选择。一种是统一配置本机所有的 IP 的端口,另一种是单独为本机每个 IP 地址配置端口。
1. 选择1:启用“全部侦听”
在前面的步骤中,在命令行窗口中注意寻找端口信息。例如:
注意:由于每个实例的配置不尽相同,所以不一定都会看到本例完全一样的信息。“Server is listening on [ 'any' <ipv4> 49157]”表示全部侦听,而且侦听的端口号为 49157 。
一旦“全部侦听”启用了,那么就只有最底下一栏“IPAll”生效,其它的IP单独的配置都无效!
说明:
(1)“TCP动态端口”如果留空,表示使用静态端口;如果在配置时设置为0,表示使用动态端口。使用动态端口时,在实例启动之后,才会显示当前的端口。每次重启实例都可能换成另一个端口。
(2)如果在“TCP端口”中填写一个固定的数据,同时将“TCP动态端口”留空,那么重启后,实例将使用这个静态端口。对于服务器上的默认实例,默认使用 TCP1433 端口。
2. 选择2:不启用“全部侦听”
下面的信息则显示只侦听127.0.0.1端口。
在配置界面,仅针对127.0.0.1这个IP,将“活动”和“已启用”都设为“是”。可以分别为每个IP配置不同的端口以及设置端口的活动状态。
故障排除:
如果本机曾经修改过IP地址,导致在不启用“全部侦听”时会将错误的旧IP地址绑定到该实例,这样会报错并导致启动失败。请参考 《修改 SQL Server 服务器的 IP 地址》 /article/4246089.html
三、客户端连接
由于前面的步骤仅允许使用 SQLCMD 方式连接,所以需要另外打开一个命令行窗口。使用“-S”参数,后面加上IP地址以及端口号(两者之间用逗号隔开)。例如,下面的命令已经成功地建立了连接。
连接成功后,即可参考《忘记管理员密码的补救办法》 /article/4246230.html 进行一些维护操作。例如,重设sa的密码。
注:在本例中,我们直接使用端口号。如果使用实例名(127.0.0.1\SQL2008R2),那么还需要启用 SQL Server Browser服务,并为防火墙打开 UDP1434 端口。请参考《SQL Server 客户端连接的问题》 /article/4246208.html
四、停止实例
在启动实例的那个命令行窗口,使用 Ctrl-C 或者 Ctrl-Break 组合键,停止实例。
甚至,可以直接关闭这个命令行窗口。
本文出自 “我们一起追过的MSSQL” 博客,请务必保留此出处http://jimshu.blog.51cto.com/3171847/1600070
一、启动实例
我们将直接使用命令行窗口启动单用户模式。
1. 找到 sqlservr.exe 的路径
在Windows的“服务”中找到这个命名实例,查出“可执行文件的路径”。例如:
"C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe" -sSQL2008R2
2. 启动实例
打开一个命令行窗口。将“可执行文件的路径”复制到这个命令行窗口,然后添加“ -m "sqlcmd" ” 参数,指定单用户模式启动而且只有 sqlcmd 可以连接到这个实例。
C:\Users\Administrator> "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\Binn\sqlservr.exe" -sSQL2008R2 -m "sqlcmd" |
注意:为了保证启动帐户有足够的权限,建议改为 Local System 启动。请在 SQL Server 配置管理器中修改。
二、确认端口配置
针对 TCP/IP 端口,面临两种选择。一种是统一配置本机所有的 IP 的端口,另一种是单独为本机每个 IP 地址配置端口。
1. 选择1:启用“全部侦听”
在前面的步骤中,在命令行窗口中注意寻找端口信息。例如:
2015-01-07 10:42:49.09 服务器 Server is listening on [ 'any' <ipv6> 49157]. 2015-01-07 10:42:49.09 服务器 Server is listening on [ 'any' <ipv4> 49157]. 2015-01-07 10:42:49.10 服务器 Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\SQL2008R2 ]. 2015-01-07 10:42:49.11 服务器 Server local connection provider is ready to accept connection on [ \\.\pipe\MSSQL$SQL2008R2\sql\query ]. 2015-01-07 10:42:49.11 服务器 Server is listening on [ ::1 <ipv6> 49163]. 2015-01-07 10:42:49.11 服务器 Server is listening on [ 127.0.0.1 <ipv4> 49163]. 2015-01-07 10:42:49.12 服务器 Dedicated admin connection support was established for listening locally on port 49163. |
一旦“全部侦听”启用了,那么就只有最底下一栏“IPAll”生效,其它的IP单独的配置都无效!
说明:
(1)“TCP动态端口”如果留空,表示使用静态端口;如果在配置时设置为0,表示使用动态端口。使用动态端口时,在实例启动之后,才会显示当前的端口。每次重启实例都可能换成另一个端口。
(2)如果在“TCP端口”中填写一个固定的数据,同时将“TCP动态端口”留空,那么重启后,实例将使用这个静态端口。对于服务器上的默认实例,默认使用 TCP1433 端口。
2. 选择2:不启用“全部侦听”
下面的信息则显示只侦听127.0.0.1端口。
2015-01-07 11:03:53.76 服务器 Server is listening on [ 127.0.0.1 <ipv4> 49168]. 2015-01-07 11:03:53.77 服务器 Dedicated admin connection support was established for listening locally on port 49168. |
故障排除:
如果本机曾经修改过IP地址,导致在不启用“全部侦听”时会将错误的旧IP地址绑定到该实例,这样会报错并导致启动失败。请参考 《修改 SQL Server 服务器的 IP 地址》 /article/4246089.html
三、客户端连接
由于前面的步骤仅允许使用 SQLCMD 方式连接,所以需要另外打开一个命令行窗口。使用“-S”参数,后面加上IP地址以及端口号(两者之间用逗号隔开)。例如,下面的命令已经成功地建立了连接。
C:\Users\Administrator> sqlcmd -S 127.0.0.1,49163 1> |
1> Alter Login [sa] with password='newpassword';2> GO |
四、停止实例
在启动实例的那个命令行窗口,使用 Ctrl-C 或者 Ctrl-Break 组合键,停止实例。
Do you wish to shutdown SQL Server (Y/N)? y 2015-01-07 11:36:37.76 spid7s SQL Server shutdown due to Ctrl-C or Ctrl-Break signal. This is an informational message only. No user action is required. 2015-01-07 11:36:37.76 spid7s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required. |
本文出自 “我们一起追过的MSSQL” 博客,请务必保留此出处http://jimshu.blog.51cto.com/3171847/1600070
相关文章推荐
- SQL SERVER的单用户模式以及专用管理员连接
- SQL SERVER的单用户模式以及专用管理员连接
- SQL Server连接失败错误故障的分析与排除
- 孤立用户故障排除
- arcsight不能连接checkpoint读取日志的故障排除
- 服务器授权模式每服务器,同时连接数与每设备或每用户的区别
- Team Foundation Server Beta3(TFS)中关于连接和用户验证的bug以及解决方案(TFS高手进)
- Linux网络ADSL连接故障排除
- BIND主从服务器配置以及故障排除
- 八种方法排除网络连接故障
- 八大方法巧妙排除网络连接故障
- SQLServer连接失败错误故障的分析与排除
- SQL SERVER 2005 windows身份验证模式转为sql server验证,以及连接显示TCP/IP问题解决
- SAMBA服务器设置为共享模式,无法访问故障排除。(如何修改linux主机名?)
- SQL Server连接失败错误故障的分析与排除
- 八种技巧轻松排除网络连接故障
- ORACLE 11G 无法连接到数据库实例故障排除