对于第一次进入 SQL Server 2016 的用户,连接服务器最直接的方法就是打开 SQL Server Management Studio,在服务器名称框中输入计算机名或 IP 地址,如果是命名实例则加上 实例名,选择 Windows 身份验证,点击连接,如果遇到问题,以下是完整的排查步骤,从确认服务到配置防火墙。
第一次连接 SQL Server 2016,先确认这些基本信息
连接之前,花两分钟确认以下信息,可以避免很多问题。
确认 SQL Server 服务运行
服务没有运行,连接肯定失败,按 Win+R,输入 services.msc,找到 SQL Server (MSSQLSERVER)或 SQL Server (实例名),确保状态为“正在运行”,如果未运行,右键启动,也可以在命令行用 net start mssqlserver 启动默认实例,命名实例用 net start MSSQL$实例名。
明确实例名称
默认实例的服务器名称就是计算机名,命名实例名称是计算机名实例名,在 SQL Server 配置管理器中,展开 SQL Server 服务,实例名称显示在括号中,或者打开命令提示符,输入 sqlcmd -L,它会列出网络上的所有可用实例,如果为空,说明服务可能未启动或 SQL Server Browser 未运行。
检查所用协议
本地连接默认使用共享内存,不需要额外配置,但如果你使用 IP 地址连接,或者需要通过远程连接,必须启用 TCP/IP,在 SQL Server 配置管理器中,进入 SQL Server 网络配置,选择你的实例,确保 TCP/IP 协议状态为“已启用”。
SQL Server 2016 连接服务器教程:使用 SSMS 的完整步骤
SSMS 是连接 SQL Server 的主要工具,以下步骤适合所有 SQL Server 2016 版本。
启动 SSMS
从开始菜单找到 SQL Server Management Studio,或者直接运行 ssms.exe,如果尚未安装,从微软官网下载 SSMS 18.x 或更高版本,安装后重启。
填写服务器名称
在“连接到服务器”对话框中,按以下规则填写:
- 本地默认实例:计算机名或 localhost
- 本地命名实例:计算机名实例名,
WIN10-PCSQLEXPRESS - 远程连接:IP 地址,或 IP 地址实例名,或 IP 地址,端口号
如果不确定,先尝试 localhost 或计算机名。
选择身份验证
- Windows 身份验证:使用当前 Windows 用户登录,无需输入密码,推荐首次使用。
- SQL Server 身份验证:需要输入用户名和密码,默认 sa 账户禁用,需先启用。
选择后,点击连接,如果成功,对象资源管理器会显示服务器对象,如果失败,参考下一节。
连接失败?SQL Server 2016 本地连接失败原因与解决方法
连接失败的原因很多,但大多数集中在以下四个方面。
服务器名称错误
检查服务器名称是否准确,实例名是否拼写正确,如果使用默认实例,不要添加实例名,如果使用命名实例,格式是计算机名实例名,localhostSQLEXPRESS,注意反斜杠方向。
服务未运行
按之前的方法检查服务是否启动,如果服务启动了又停止,可能是配置错误,查看 SQL Server 错误日志(位于安装目录下的 MSSQLLog 目录)或 Windows 事件查看器。
协议或防火墙问题
本地连接失败通常是因为使用了 IP 地址但 TCP/IP 未启用,或者防火墙阻止了 sqlservr.exe,可以尝试使用共享内存,即服务器名称输入 lpc: 或直接使用计算机名,如果必须使用 TCP/IP,在 SQL Server 配置管理器中启用 TCP/IP 并重启服务,然后测试端口:telnet 127.0.0.1 1433,如果提示连接失败,说明端口未监听或防火墙阻止。
身份验证问题
如果使用 SQL Server 身份验证,确保 sa 账户已启用并且密码正确,启用步骤:用 Windows 身份验证连接,展开安全性→登录名,右键 sa,选择属性,状态,勾选启用,并设置密码,然后在服务器属性中,将身份验证模式设置为“SQL Server 和 Windows 身份验证模式”,重启服务。
SQL Server 2016 远程连接设置:让其他电脑也能访问
远程连接需要额外配置,按照以下步骤,确保其他电脑可以连接你的 SQL Server 2016。
启用 SQL Server Browser 服务
对于命名实例,客户端需要 Browser 服务来解析实例名,在 SQL Server 配置管理器中,进入 SQL Server 服务,右键 SQL Server Browser,设置启动模式为自动,然后启动。
启用 TCP/IP 并设置端口
在配置管理器中,进入 SQL Server 网络配置,选择你的实例,右键 TCP/IP,启用,然后右键 TCP/IP 属性,在 IP 地址选项卡,找到 IPAll,清除 TCP 动态端口,设置 TCP 端口为 1433(或自定义端口),如果有多个 IP 地址,每个 IP 也需要设置 TCP 端口,然后重启 SQL Server 服务。
允许远程连接
在 SSMS 中,右键服务器属性,选择连接,勾选“允许远程连接此服务器”,这一步非常重要。
配置防火墙
在 Windows 防火墙中,创建入站规则,允许 TCP 端口 1433(或自定义端口),如果使用动态端口,必须允许 sqlservr.exe 程序,但固定端口更方便。
客户端连接
客户端使用 IP 地址连接,168.1.100,1433,如果使用命名实例且 Browser 服务运行,可以直接用 168.1.100实例名。
SQL Server 2016 连接字符串示例
开发场景中,连接字符串的写法需要正确。
- Windows 身份验证(本地):
Server=localhost;Database=数据库名;Integrated Security=True; - Windows 身份验证(远程):
Server=192.168.1.100,1433;Database=数据库名;Integrated Security=True; - SQL Server 身份验证:
Server=192.168.1.100实例名;Database=数据库名;User Id=sa;Password=密码; - 本地命名实例:
Server=.SQLEXPRESS;Database=数据库名;Integrated Security=True;
如果需要信任证书,可以添加 TrustServerCertificate=True;,对于 .NET 应用,连接字符串中还可以指定 Connection Timeout=15 等。
方法覆盖了从本地连接到远程配置的完整流程,只要按照这些步骤操作,第一次连接 SQL Server 2016 基本不会遇到大问题。
Q&A:SQL Server 2016 连接服务器常见问题
Q:SQL Server 2016 连接服务器时,服务器名称应该填什么?
A:本地默认实例填计算机名或 localhost;命名实例填计算机名实例名,WIN10-PCSQLEXPRESS;远程连接填 IP 地址,如果需要指定端口,用 IP 地址,端口号。
Q:为什么 SQL Server 2016 连接服务器一直失败,提示“找不到服务器”或“连接超时”?
A:首先检查服务是否运行,然后检查 TCP/IP 是否启用,防火墙是否放行,远程连接是否允许,如果服务器名称包含实例名,SQL Server Browser 服务必须运行,如果使用 SQL Server 身份验证,确认 sa 账户启用,尝试用 IP 地址连接,排除 DNS 问题,使用 telnet 测试端口,确认端口可达。
Q:如何配置 SQL Server 2016 允许远程连接服务器?
A:按照“SQL Server 2016 远程连接设置”部分,依次启用 TCP/IP、设置端口、允许远程连接、配置防火墙,然后重启服务,客户端使用 IP 地址和端口连接。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/520506.html


