解决菜刀或者蚁剑连接问题
最近在测试一个环境,发现使用菜刀或者蚁剑去连接sqlserver2008时连接不上,记录一下解决方法。
原来通过菜刀连接sql server直接使用下列语句
<T>ADO</T>
<C>Driver={Sql Server};Server=(local);Database=master;Uid=sa;Pwd=xxx</C>
填入正确的用户名密码信息后就可以连接,但是这次就出现在了错误
[Microsoft][ODBC SQL Server Driver][Shared Memory]无效的连接。

这里的原因是因为从sql server 2005到sql server 2008后连接的驱动有变化,需要使用SQLOLEDB驱动,所以这里使用另外的语句
<T>ADO</T>
<C>Provider=SQLOLEDB.1;User ID=sa;Password=xxx;Initial Catalog=master;Data Source=(local);</C>
填入正确信息后,仍然报错。
[DBNETLIB][ConnectionOPEN (Invailid INstance()).]无效的连接

从这个提示来看的话,是数据库连接的问题,但是经过反复确认,通过配置的信息,客户端可以正确连接。这里的原因在于需要在语句后面增加端口号,
<T>ADO</T>
<C>Provider=SQLOLEDB.1;User ID=sa;Password=Sql_server2008;Initial Catalog=master;Data Source=127.0.0.1,1433;</C>
即可正常连接

sqlserver 2008默认没有监听1433的解决办法
默认情况下,在安装好sqlserver 2008好,无法使用SQL Server Management Studio连接,查看netstat -anp tcp发现没有监听1433端口,通过下列方法解决。
首先在运行中输入services.msc,停止sqlserver的服务

接着打开sql server配置管理器,进行下图中的配置

也就是默认情况下,只打开了动态端口,未使用1433,重新打开对应服务后进行查看

网友评论