Navicat/SSMS连接SQL Server 2008 R2的坑

0 起因

对MySQL熟悉一点,但是对SQL Server数据库。。。因项目需要搭建测试用的数据库,所以就开始踩坑之路。这算第一次正式接触SQL Server数据库。面对新事物还是记一笔,怕忘了。

1 问题

  1. 安装SQL Server时,好像没让我设置用户和密码

  2. 别人连接不到我的数据库

  3. SSMS可以连接本地数据库,但是Navicat不行

2 原因

SQL Server 2008默认是不允许远程连接的,但本地用SSMS可以连接本地服务器上的SQL Server 2008,Navicat不能连接本地数据库。

3 解决办法

参考: https://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html,基本解决问题,以下是我的整理。

3.1 缩写

  1. SQL Server Management Studio Express(简写SSMS)

2.SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)

3.2 工具/原料

SQLServer2008;Windows 7

3.3 步骤/方法

  1. 打开SQLServer2008 SSMS,使用windows身份登录
SSMS
身份验证
  1. 登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
属性
安全性
  1. 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
连接
  1. 展开数据库“安全性”,“登录名”;“sa”,右键选择“属性”
sa
  1. 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
sa常规
  1. 选择“状态”,右侧登录选择“启用”
sa状态
  1. 右击数据库选择“方面”
方面
  1. 在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”
服务器配置
  1. 至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
sa登录
  1. 打开sql server配置管理器 SSCM,也可以在我的电脑的管理里“服务和应用程序”找到sql server配置管理器
配置管理
  1. 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”正在运行
SQL Server服务
  1. 在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”
sqlexpress的协议
TCP/IP
  1. 选择“IP 地址”选项卡,设置TCP的端口为“1433”,可以配置IPALL中的端口
IP端口
  1. 将"客户端协议"的"TCP/IP"也修改为“已启用”
客户端协议
  1. 配置完成,重新启动SQL Server 2008。此时应该可以使用了,但是还是要确认一下防火墙。粗暴点就关了防火墙吧。
重启

3.4 注意事项

远程连接的字符串:"server=ip地址,port端口;Initial Catalog=数据库名;User ID=sa;Password=密码",可能和实际有差异,注意端口前的逗号。

  1. 2005的外围应用配置器在2008中换了地方

  2. 有些设置生效需要重启一下SQL Server

4 后话

以上操作步骤基本可以解决无法连接数据库的问题,其实这坑是真的坑,当时本地Navicat连接不上时提示说明的太宽泛,不好百度,还是经开发提点才搞定,在此感谢我的开发小伙伴思摸迪。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容