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

 

 

 

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/18456报错,sql单用户模式创建登录账号/

赞赏

微信赞赏支付宝赞赏

发表评论