本案例适用于Microsoft Sql Server 2008/2012/2012 r2/2014/2016/2017/2019版本,以下简称MSSQLSERVER(大致类似,可以举一反三)
MSSQL默认是不允许远程连接,并且禁用sa账户的。如果想要在本地用SSMS连接远程服务器上的MSSQLSERVER,需要做两个部分的配置:
1. SQL SERVER MANAGEMENT STUDIO(SSMS)
2. SQL SERVER配置管理器(SQL SERVER CONFIGURATION MANAGER - SSCM)
并且需要注意的是,有些地方如果没有生效,请重启一下sql server(可以从SSCM里,也可以从系统服务中找),下面是详细的步骤:
第一步. 打开SSMS,使用Windows身份连接数据库,登录后,右键选择“属性”
第二步. 选择“安全性”,选中SQL SERVER和Windows身份验证模式
第三步. 再选择“连接”,勾选“允许远程连接此服务器”,然后点击“确定”按钮。
第四步: 展开“安全性” -》登录名 -》sa,右键选择“属性”
第五步: 在“常规”中,改好你自己的密码,这是你sa登录的密码。
第六步:在“状态”中,启用sa登录,点击“确定”按钮
第七步:右键数据库server,选择“方面”
第八步: 选择“服务器配置”,找到RemoteAccessEnabled,设置为“True”
第九步:重新启动SQL SERVER服务,退出当前的连接,这时候应该可以用sa进行登录了。
第十步:配置SSCM,选中左侧的“SQL SERVER服务”,确保右侧的“SQL SERVER”以及“SQL SERVER BROWER”正在运行,选择“网络配置”,双击TCP/IP,确保状态为“启用”
第十一步:在Client里也确保TCP/IP是启用的,默认的端口都是1433,可以自己修改,非默认端口需要在连接字符串里显式指明。
第十二步:到这里再次重启SQL SERVER服务,应该就可以用了。不过还不能用,确认防火墙端口设置,并把SQL SERVER安装目录下,C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe添加到允许的列表中。
PS:如果用的阿里云的ECS需要在ECS安全设置里开启1433端口哦;
原文地址《SQL Server 2012允许远程连接(Windows Server 2016)》