日期:2014-05-17  浏览次数:20427 次

sql server 2005 express 无法连接,百度了很久都无法解决的疑难问题
服务器IP 192.168.1.5 ,安装 windows 2003 server操作系统,安装了sql server 2000,安装时不是默认实例的,实例名为 abc ,连接字符串的IP写成“192.168.1.5\abc”,可以正常连接。

最近,在以上机器默认安装了sql server 2005 express,安装过程没有提示要求设置实例名,安装好后,好像默认实例名为sqlexpress,无法连接,于是按照网上的关于设置 2005 express远程登录的说明操作了一遍,把TCP端口改为1434。

用asp程序连接,data source="192.168.1.5\sqlexpress,1434" 提示 用户 ‘wxy’ 登录失败
用PB连接,server填写 192.168.1.5\sqlexpress,1434 提示 登录不正确 

用 telnet 192.168.1.5 1434 测试1434端口正常开放

该数据库为其他机器的sql server 2005 企业版完全备份,再恢复到sql server 2005 Express的。。原机器的2005企业版上的此数据库可以正常连接。

麻烦各位大神帮我看一下什么原因。
SQL?Server?2005 express

------解决方案--------------------
wxy 的Login存在吗?建议你用sp_change_users_login看一下是不是孤立用户的问题 
------解决方案--------------------
该数据库为其他机器的sql server 2005 企业版完全备份,再恢复到sql server 2005 Express的。。原机器的2005企业版上的此数据库可以正常连接。


通过这句话的描述就可以明白问题在哪里,数据库备份还原后,对应的数据库级的用户是会被复制到还原的数据库,但是因为连接数据库需要服务器级别的连接对象,但是备份数据库时,是不会复制这个对象的,所以,你需要建立一个服务器级别的连接对象,然后把这个数据库级对象指定给在它下面,这样,你就可以通过服务器级别的对象操作数据库了。