Ø 前言
本文主要介绍 SQL Server Management Studio 工具的使用,相信很多开发人员都比较熟悉此工具,特别是做 C# 开发的程序员,基本上都会经常使用该工具,当然也可以使用 Navicat Premium、HeidiSQL 等。下面介绍下 SQL Server Management Studio 的一些使用技巧,主要包括:
1. 解决“以网格显示结果”遇到超长字符的字段显示不全的情况
2. 设置数据库服务支持远程连接
3. 解决 SQL Server Management 远程连接报错
1) 问题描述
1. 当我们使用 SQL Server Management Studio 工具去查某张表的数据时,而某个字段是 varchar(max) 或 nvarchar(max)、text 类型,而且存储了上几百KB的数据,这时该字段查询出来的结果将可能被截断。
2. 因为在 SQL Server Management Studio 指定了查询最大的字符是65535,但是经本人测试,字符在 43679 就已经被截断,原因不详。如图:
2) 解决办法
1. 首先,还是正常查询。
2. 右键单击查询结果 -> 选择“将结果另存为” -> 选择 csv 或 txt,保存即可。
3. 这样保存的数据就是完整的,不会被截断了。
3) 其他说明
1. 这种截断情况只是在使用 SQL Server Management Studio 查询时会发生,放心,我们的程序去查询依然是完整数据。
2. 可见,数据库真实存储的是完整数据,只是在查询时未显示完整而已。
3. 这种情况其实也不多,因为我们并不会经常在一个字段存储那么多的字符,可能存在于日志记录、备注字段等。
1) 首先,进行基本设置,或参考https://www.cnblogs.com/seekdream/p/6820960.html的基本设置。(该步骤默认可忽略)
1. 数据库设置
1) 登录数据库 -> 安全性 -> 登录名 -> 右键sa -> 属性 -> 常规 -> 设置 sa 登录密码。
2) 登录数据库 -> 安全性 -> 登录名 -> 右键sa -> 属性 -> 状态 -> 勾选 授予 和 启用。
3) 登录数据库 -> 服务器 -> 属性 -> 安全性 -> 勾选 SQL Server和Window身份证验证模式。
4) 登录数据库 -> 服务器 -> 属性 -> 连接 -> 勾选“允许远程连接到此服务器”。
5) 登录数据库 -> 服务器 -> 方面 -> 方面下拉框选择“服务器配置” -> RemoteAccessEnabled -> True。
2. SQL Server 配置管理器设置
1) 打开 SQL Server 配置管理器 -> SQL Server 网络配置 -> (MSSQLSERVER(企业版或者开发版)/SQLEXPRESS(Express 版)/实例名)的协议 -> 启用(Shared Memory、Named Pipes、TCP/IP)。
2) 打开 SQL Server 配置管理器 -> SQL Server 网络配置 -> (MSSQLSERVER(企业版或者开发版)/SQLEXPRESS(Express 版)/实例名)的协议 -> TCP/IP -> IPALL -> 端口 -> 设置为1433。
2) 如果还不能连接,应该是数据库服务器防火墙所导致,再进行如下设置:
1. 打开防火墙 -> 高级设置 -> 入站规则 -> 新建规则。
2. 选择端口 -> TCP&特定本地端口输入1433 -> 后面都选择下一步,命名即可。
3. 双击新建的入栈规则 -> 作用域 -> 远程IP地址,添加需要远程访问的IP地址,或者选择任何IP地址,如图:
Ø 提示:除了以上设置,也可以直接关闭防火墙功能,但是不建议这么做。
3) 如果是阿里云的 ECS 服务器,还需要在安全组中进行端口授权配置,如图:
可参考:https://www.cnblogs.com/MrZheng/p/8023686.html
1) 实例名错误(吭了我好久!!)
1. 错误描述:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错) (Microsoft SQL Server,错误: -1),如图:
2. 解决办法:检查实例名是否拼写正确,或是否存在!