MSSQL Server的连接问题分析和解决(2)

php中文网
发布: 2016-06-07 15:38:34
原创
1326人浏览过

数据库服务器连接错误涉及配置方面的分析和处理,请移步: MSSQL Server 的连接问题分析和解决(1 ) 再来看一个连接错误,如下图1所示: 图中是从本地Serv连接异地Serv做DTS包迁移时的错误提示,本地Serv是SQL2008,而异地Serv是SQL2000。 一、从图中获得的

 

  数据库服务器连接错误涉及配置方面的分析和处理,请移步: MSSQL Server 的连接问题分析和解决(1

 

 

   再来看一个连接错误,如下图1所示:

MSSQL Server的连接问题分析和解决(2)

 

    图中是从本地Serv连接异地Serv做DTS包迁移时的错误提示,本地Serv是SQL2008,而异地Serv是SQL2000。

一、从图中获得的信息:

图中的提示我们以下信息:

    1、网络连接错误。

        比如: 在与 SQL Server 建立连接时出现与网络相关的错误

    2、实例名称错误。

        比如: 在与 SQL Server 建立连接时出现特定于实例的错误

    3、实例连接错误。

     比如: 未找到或无法访问服务器。

同时图中的提示告诉我们建议处理方式:请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接

  

二、实际情况:SQL2000已安装SP4补丁,防火墙等基本的设置都正确。在上述给与的信息中肯定有一个是直接或间接导致错误的信息,这里我们看2 实例名称错误(因为网络 连接和访问都没有问题,之前都可以正常访问)

    1、错误提示前输入服务器的连接为USER214,接口输入SA帐号和密码。

 

    2、因为很久未连接SQL2000Serv,所以忘记了实例名和密码。记得异地的SQL2000不是默认实例,所以当默认实例启动时,做如下查询可以获得命名实例名,或者mstsc连接异地Serv查看服务。

    如果异地Serv的默认实例也没有启动怎么办?

    只能mstsc切到异地Serv并在CMD中输入net start mssqlserver,启动默认实例。比如:

Microsoft Windows [版本 5.2.3790]


C:/Documents and Settings/Administrator>net start mssqlserver
SQL Server (MSSQLSERVER) 服务正在启动 ...
SQL Server (MSSQLSERVER) 服务已经启动成功。

启动异地Serv的SQL服务后,执行T-SQL:

 

-->1 启用 xp_cmdshell

EXEC sp_configure 'show advanced options' , 1

GO

RECONFIGURE

GO

-- 启用 xp_cmdshell

EXEC sp_configure 'xp_cmdshell' , 1

GO

RECONFIGURE

GO

 

-->2 查询 OS 中与数据库相关的服务名

declare @a table  ( a varchar ( 200))

insert into @a

exec xp_cmdshell 'sc query state= all'

select CASE WHEN a LIKE '%$%'

       THEN ' 命令实例 ' + REPLACE ( a , 'SERVICE_NAME: ' , '' )

           ELSE ' 默认实例 ' + REPLACE ( a , 'SERVICE_NAME: ' , '' ) END

 as 服务名

from @a

where a like 'SERVICE_NAME: MSSQL%' and LEN ( a ) 28

   

    --result:

服务名

命令实例 MSSQL$CL05

命令实例 MSSQL$CL2K

默认实例 MSSQLSERVER

 

    3、 从返回的结果看到,实际上命名时,异地Serv的SQL2000的实例名是CL2K,所以我们再来看如下图2所示

MSSQL Server的连接问题分析和解决(2)

 

    这仍然是DTS包迁移的数据库连接界面,正确的服务器名称是10.0.0.214/cl2k,1444。

    为何是它呢?

    USER214 /cl2k,1444和10.0.0.214 /cl2k,1444的区别是前者通过机器名解析,后者通过IP连接。因为数据库的连接方式都启开TCP/IP。

    10.0.0.214 / cl2k ,1444中表示命令实例为cl2k,而1444是cl2k实例的SQL服务端口,因为异地Serv上配置了SQL2008、SQL2005和SQL2000同时开启TCP/IP连接方式,所以端口做了修改。

 

-0-总结:该问题从过程看说的有点麻烦,从结果看很简单就是实例名输入错误导致。除了细心就是再细心一点。

 

 

Posted by: select left('claro',2) @10:35

 

lable: SQL

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号