染卷不卷'blog

12年站长,AI实践中。互联网 IT行业,工作见闻、技术教程全分享。

学习资料 / 系统安全

18456报错,sql单用户模式创建登录账号

实在没有办法的情况才建议进入单用户模式,否则可能导致不可预料后果!

一、停止SQL服务,建议在sql的配置管理器里面停掉sql服务(sql broswer服务好像不能关,具体关不关自己试下吧)。

net stop mssqlserver

ps:有时候登录不上是没有将sql server 服务启动账号改成local system,或者指定成用户名+密码形式,一旦改密码就不能登录了!

二、在【配置管理器】-【网络配置】里禁用VIA协议,启用Named Pipes和TCP/IP协议。

三、使用sql的sqlservr.exe进入单用户模式(使用windows搜索sqlservr就能找到了)

以管理员身份运行cmd,切换到sqlservr.exe目录执行 sqlservr -m 命令,保持当前窗口开启状态(一旦关闭会退出单用户模式)!

-m参数后面加应用程序名称,可以强行指定连接到sql的客户端程序。
servr -m "sqlcmd"

四、sqlcmd创建可登录sql的账户,管理员打开cmd窗口,依次执行下列命令:

>sqlcmd
>create login satemp with password='sa123456'
>go
>sp_addsrvrolemember 'satemp','sysadmin'
>go

结束第三、四步的DOS窗口,即可使用satemp账户登录sql

注意事项:

建议使用sqlcmd登录单用户模式下的sql,使用ssms登录不熟悉的朋友可能会提示只允许一个用户登录,sql代理服务也要关闭。如果还是提示“当前服务器处于单用户模式,目前只有一位管理员能够连接”,可以使用如下命令排查是哪些程序在连接sql服务!

netstat -ano |findstr 1433

使用上述命令前,在任务管理器的进程里查看选择pid列,执行命令后的最后的数字就是占用该端口的应用程序pid,在任务管理器里可找到对应的程序名字将它结束就行。

C:\Users\Administrator>netstat -ano |findstr 80
TCP 192.168.1.2:49188 161.155.185.130:8099 CLOSE_WAIT 1676
TCP 192.168.1.2:49571 36.125.147.123:80 CLOSE_WAIT 1640
TCP 192.168.1.2:55914 8.8.8.8:80 ESTABLISHED 5292
TCP 192.168.1.2:64533 112.134.184.18:80 ESTABLISHED 3060
TCP 192.168.1.2:64566 125.39.205.35:80 ESTABLISHED 5292
TCP 192.168.1.2:64573 219.147.35.144:80 CLOSE_WAIT 5292
TCP 192.168.1.2:64574 123.151.30.60:80 CLOSE_WAIT 5292
TCP 192.168.1.2:64594 220.131.132.162:80 ESTABLISHED 2396
TCP 192.168.1.2:64595 191.199.37.175:80 ESTABLISHED 2396

 

 

 

染卷

本站文章也会定期同步到微信公众号,可以关注下避免错过~

建站 11年 359天
微信公众号

发表评论

邮箱不会公开,带 * 为必填。