最近做一个系统,要求数据库允许第三方访问,需给对方一个登录名和密码是对方能够远程登录我系统的数据库。远程服务器启动SQL Server2000服务并新建一个登录名后,对方登录不上。我的解决办法如下:

    1.首先ping一下IP检查网络是否连通,发现网络连通。

    2.检查服务器1433端口是否可以连通,在命令行下输入telnet 服务器IP 1433,例如

telnet 192.168.1.102 1433。如果没连通,通常的提示是“……无法打开连接,连接失败”,若连通了,将会看到屏幕一闪之后光标在左上角不停闪动。(通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口)。若不通,最直接的原因有:

    (1)服务器防火墙没关闭或者没将1433端口设为端口例外;

    (2)检查服务器的tcp/ip端口是否配置为1433端口。在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。

     发现连不上服务器的1433端口,经过(1)(2)两步后可以连通,发现还是登不上。

     3.查看身份验证模式。在SQL Server的企业管理器下展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,单击"属性"出现如下图对话框,选择"安全性"选项卡,在"身份验证"下,若为“仅winows”,则重新选择"SQL Server和 Windows "选项。

     经过这一步后发现可以登陆上了。补充:使用登录名不能远程登录的另一个原因是SQL Server 2000的版本不合适。通常需要给sql server 2000打上至少sp3的补丁,我装的是SP4。其实在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。

    安装SP4补丁可能会遇到以下问题(安装SQL Server 2000的时候也有可能出现):

    一.提示“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”,若重启后仍不能解决。

    1.可以开始->运行中输入regedit打开注册表编辑器,找到KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置 ,在右边窗口右击PendingFileRenameOperations,选择删除,然后确认 。

    2.如果是装SQL Server2000是出现挂起问题,1不能解决,则应该删除C:\ProgramFiles\Microsoft SQL Server\80\Tool文件夹和C:\ProgramFiles\Microsoft SQL Server\MSSQL文件夹,同时删除注册表中KEY_LOCAL_MACHINE\

SOFTWARE\Microsoft\MSSQLServer 和KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sercices\MSDTC.

    若嫌上面两步操作麻烦,可以下载“SQL Server下载挂起修复工具”,修复后即可继续安装,需要下载的见附件。

    二.提示“无法打开指定的文件,请确认该文件没有使用,然后重新启动安装程序”。检查是否有程序可能使用指定文件,最有可能的原因是杀毒软件正在使用所指文件,关闭杀毒软件即可。此外,如果缺少文件,则下载所需文件放到提示的目录下。