0 起因
对MySQL熟悉一点,但是对SQL Server数据库。。。因项目需要搭建测试用的数据库,所以就开始踩坑之路。这算第一次正式接触SQL Server数据库。面对新事物还是记一笔,怕忘了。
1 问题
安装SQL Server时,好像没让我设置用户和密码
别人连接不到我的数据库
SSMS可以连接本地数据库,但是Navicat不行
2 原因
SQL Server 2008默认是不允许远程连接的,但本地用SSMS可以连接本地服务器上的SQL Server 2008,Navicat不能连接本地数据库。
3 解决办法
参考: https://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html,基本解决问题,以下是我的整理。
3.1 缩写
- SQL Server Management Studio Express(简写SSMS)
2.SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)
3.2 工具/原料
SQLServer2008;Windows 7
3.3 步骤/方法
- 打开SQLServer2008 SSMS,使用windows身份登录
- 登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
- 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
- 展开数据库“安全性”,“登录名”;“sa”,右键选择“属性”
- 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
- 选择“状态”,右侧登录选择“启用”
- 右击数据库选择“方面”
- 在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”
- 至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
- 打开sql server配置管理器 SSCM,也可以在我的电脑的管理里“服务和应用程序”找到sql server配置管理器
- 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”正在运行
- 在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”
- 选择“IP 地址”选项卡,设置TCP的端口为“1433”,可以配置IPALL中的端口
- 将"客户端协议"的"TCP/IP"也修改为“已启用”
- 配置完成,重新启动SQL Server 2008。此时应该可以使用了,但是还是要确认一下防火墙。粗暴点就关了防火墙吧。
3.4 注意事项
远程连接的字符串:"server=ip地址,port端口;Initial Catalog=数据库名;User ID=sa;Password=密码",可能和实际有差异,注意端口前的逗号。
2005的外围应用配置器在2008中换了地方
有些设置生效需要重启一下SQL Server
4 后话
以上操作步骤基本可以解决无法连接数据库的问题,其实这坑是真的坑,当时本地Navicat连接不上时提示说明的太宽泛,不好百度,还是经开发提点才搞定,在此感谢我的开发小伙伴思摸迪。