My Computer · 2024/11/13 0

SQL server配置管理器中启用TCP/IP后sqlserver服务无法启动

日志中错误大概如下:
服务器 TCP 提供程序无法在 [ 192.168.2.100 1433] 上侦听。TCP 端口已在使用中。
服务器 TCP 提供程序无法在 [ 'any' 1433] 上侦听。TCP 端口已在使用中。

先看是否有进程占用了1433端口,然而并没有。。。
netstat -ano | findstr "1433"

禁用TCP/IP后sqlserver服务可以启动

手动重启主机网络服务后sqlserver服务可以启动,但重启电脑后sqlserver服务依然无法自动启动,所以通过简单的批处理来搞定:获取管理员权限然后重启主机网络服务,再启动sqlserver,最后把批处理加入到任务计划。

bat批处理文件内容:

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
net stop hns
net start hns
net start mssqlserver
exit

把保存好的批处理文件加入到任务计划程序,安全选项中要选定不管用户是否登录都要运行和使用最高权限运行。

重启测试,bat后台自动运行,sqlserver服务可以自动启动,即使开机不登陆也一切正常。