客户端连接SQLServer2000无法成功的解决方案
- 格式:doc
- 大小:93.00 KB
- 文档页数:3
看ping 服务器IP/服务器名称是否ping通。
说明:如果ping 服务器IP地址不成功,这说明远程sql server 2000服务器的物理连接不存在,还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.防火墙软件可能会屏蔽对ping,telnet 等的响应。
解决办法:1.检查网络。
2.查看配置。
3.确保远程Sql Server 2000服务器的IP拼写正确。
在Dos或命令行下输入telnet 服务器IP 端口,看能否连通,如:telnet 192.168.1.6 1433。
说明:通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口,如果有问题,通常这一步会出问题。
通常的提示是“……不能打开到主机的连接,…….,连接失败"。
解决办法:1.检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2.检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3.检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
4.如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5.检查服务器是否在1433端口侦听。
如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入netstat -a -n 或者是netstat -an,在结果列表里看是否有类似tcp 127.0.0.1 1433 listening 的项。
关于用sqlclient方式连接局域网sqlserver2000数据库超时的解决方案在一次开发项目中,用sqlclient方式连接sqlserver2000,在本地程序运行时连接正常,但访问非本地数据库时出现数据库连接超时的提示。
(我的系统配置是Xp,sp2,sqlserver2000个人版,vs2005)A 当然,将Sqlserver所在服务器的防火墙关闭是最简单的办法,但容易引起不安全的因素。
也可以加上例外进行解决,只允许Sqlserver的tcp/ip1433 ,udp1434 端口例外。
B.不更改防火墙的办法:为解决这个问题用了一天时间,不管是增加timeout,还是打sqlserver sp4 补丁都无济于事。
后来发现了sqlclient高级属性中有一项 Network Library。
就是这关键的一项设置解决了我的问题。
[在注册表中有一项表示最近sqlserver2000数据连接历史(即企业管理器中的SQL server 组),HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketN etLib\LastConnect\(local)键值 -1040187384:lpc:20080901-1716 表示用lpc方式(Microsoft SQL Server 使用LPC(本地过程调用)来实现进程间通信,这个端口提的服务可以被任何人使用。
通过发送特殊构建的消息到这个端口,攻击者就可能覆盖部分SQL服务进程的敏感内存,并可能执行任意代码。
最好下载补丁)\192.168.0.100 键值-1040187384:np:\\192.168.0.100\pipe\sql\query 可以看出是用的数据管道所以要根据目标数据库的连接方式确定是采用 tip/ip 或数据管道]Network Library=dbnmpntw ’命名管道Network Library=dbmssocn ’Tcp/IP系统默认是空,将之改为命名管道后,数据连接成功!大家如果有此问题,请参照以上。
SQL S erver数据库连接失败错误及解决方法在使用SQL S erver的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQ L Ser ver 的方式,一是利用SQ L Ser ver 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP脚本、VB程序等,客户端程序中又是利用ODBC或者OL E DB等连接S QL Se rver。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用S QL Se rver自带的客户端工具(以企业管理器为例)连接SQLServe r时,最常见的错误有如下一些:1、SQLServe r 不存在或访问被拒绝Conne ction Open(Conn ect())2、用户'sa'登录失败。
原因:未与信任SQL Serv er 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL S erver不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Serv er名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping<服务器I P地址>或者p ing <服务器名称>如果pi ng <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
根据您道的情况预计是下列问题之阳早格格创做1:查看下客户战服务器端的搜集协议!2:要开开去宾用户3:皆设一个牢固的IP天面SQL Server连交中的四个最罕睹过得:一."SQL Server 不存留大概考察被中断"那个是最搀纯的,过得爆收的本果比较多,需要查看的圆里也比较多.普遍道去,有以下几种大概性:1,SQL Server称呼大概IP天面拼写有误2,服务器端搜集摆设有误3,客户端搜集摆设有误要办理那个问题,咱们普遍要按照以下的步调去一步步找出引导过得的本果.============= 最先,查看搜集物理连交=============ping <服务器IP天面/服务器称呼>如果 ping <服务器IP天面> 不可功,证明物理连交有问题,那时间要查看硬件设备,如网卡,HUB,路由器等.另有一种大概是由于客户端战服务器之间拆置有防火墙硬件制成的,比圆 ISA Server.防火墙硬件大概会屏蔽对付ping,telnet 等的赞同果此正在查看连交问题的时间,咱们要先把防火墙硬件姑且关关,大概者挨开所有被启关的端心.如果ping <服务器IP天面> 乐成而,ping <服务器称呼> 波折则证明名字剖析有问题,那时间要查看 DNS 服务是可仄常.偶尔间客户端战服务器不正在共一个局域网内里,那时间很大概无法曲交使用服务器称呼去标记该服务器,那时间咱们不妨使用HOSTS文献去举止名字剖析,简曲的要领是:1.使用记事本挨开HOSTS文献(普遍情况下位于C:\WINNT\system32\drivers\etc).增加一条IP天面取服务器称呼的对付应记录,如:172.168.10.24 myserver2.大概正在 SQL Server 的客户端搜集真用功具内里举止摆设,后里会有仔细证明.============= 其次,使用 telnet 下令查看SQL Server服务器处事状态 =============telnet <服务器IP天面> 1433如果下令真止乐成,不妨瞅到屏幕一闪之后光标正在左上角连交闪动,那证明 SQL Server 服务器处事仄常,而且正正在监听1433端心的 TCP/IP 连交如果下令返回"无法挨开连交"的过得疑息,则证明服务器端不开用 SQL Server 服务,也大概服务器端出开用 TCP/IP 协议,大概者服务器端不正在 SQL Server 默认的端心1433上监听.=============交着,咱们要到服务器上查看服务器端的搜集摆设,查看是可开用了命名管讲.是可开用了 TCP/IP 协议等等 =============不妨利用 SQL Server 自戴的服务器搜集使用功具去举止查看.面打:步调 Microsoft SQL Server 服务器搜集使用功具挨开该工具后,正在"惯例"中不妨瞅到服务器开用了哪些协议.普遍而止,咱们开用命名管讲以及 TCP/IP 协议.面中 TCP/IP 协议,采用"属性",咱们不妨去查看 SQK Server 服务默认端心的树立普遍而止,咱们使用 SQL Server 默认的1433端心.如果选中"隐躲服务器",则表示着客户端无法通过罗列服务器去瞅到那台服务器,起到了呵护的效率,然而不效率连交.============= 交下去咱们要到客户端查看客户端的搜集摆设 =============咱们共样不妨利用 SQL Server 自戴的客户端搜集使用功具去举止查看,所分歧的是那次是正在客户端去运止那个工具.面打:步调 Microsoft SQL Server 客户端搜集使用功具挨开该工具后,正在"惯例"项中,不妨瞅到客户端开用了哪些协议.普遍而止,咱们共样需要开用命名管讲以及 TCP/IP 协议. 面打 TCP/IP 协议,采用"属性",不妨查看客户端默认连交端心的树立,该端心必须取服务器普遍.单打"别号"选项卡,还不妨为服务器摆设别号.服务器的别号是用去连交的称呼,连交参数中的服务器是真真的服务器称呼,二者不妨相共大概分歧.别号的树立取使用HOSTS文献有相似之处.请楼主补充一下,其余客户机用SQL客户端工具可可连交,连交是可仄常,那样比较佳推断.步调:一瞅ping 服务器IP是可ping通.那个本质上是瞅战近程sql server 2000服务器的物理连交是可存留.如果不可,请查看搜集,查看摆设,天然得保证近程sql server 2000服务器的IP拼写精确.二正在Dos大概下令止下输进telnet 服务器IP 端心,瞅是可连通.如telnet 202.114.100.100 1433常常端心值是1433,果为1433是sql server 2000的对付于Tcp/IP的默认侦听端心.如果有问题,常常那一步会出问题.常常的提示是“……无法挨开连交,连交波折".如果那一步有问题,该当查看以下选项.1 查看近程服务器是可开用了sql server 2000服务.如果不,则开用.2 查看服务器端有出开用Tcp/IP协议,果为近程连交(通过果特网)需要靠那个协议.查看要领是,正在服务器上挨开开初菜单>步调>Microsoft SQL Server>服务器搜集真用功具,瞅开用的协议里是可有tcp/ip协议,如果不,则开用它.3 查看服务器的tcp/ip端心是可摆设为1433端心.仍旧正在服务器搜集真用功具里查看开用协议内里的tcp/ip的属性,保证默认端心为1433,而且隐躲服务器复选框不勾上.究竟上,如果默认端心被建改,也是不妨的,然而是正在客户端干telnet尝试时,写服务器端心号时必须取服务器摆设的端心号脆持普遍.如果隐躲服务器复选框被勾选,则表示着客户端无法通过罗列服务器去瞅到那台服务器,起到了呵护的效率,然而不效率连交,然而是Tcp/ip协议的默认端心将被隐式建改为2433,正在客户端连交时必须做相映的改变.4 如果服务器端支配系统挨过sp2补丁,则要对付windows防火墙做一定的摆设,要对付它开搁1433端心,常常正在尝试时不妨曲交关掉windows防火墙(其余的防火墙也关掉最佳).5 查看服务器是可正在1433端心侦听.如果服务器不正在tcp连交的1433端心侦听,则是连交不上的.查看要领是正在服务器的dos大概下令止底下输进netstat a n 大概者是netstat an,正在截止列内中瞅是可有类似 tcp 127.0.0.1 1433 listening 的项.如果不,则常常需要给sql server 2000挨上起码sp3的补丁.本去正在服务器端开用查询分解器,输进 select @@version 真止后不妨瞅到版本号,版本号正在8.0.2039以下的皆需要挨补丁.如果以上皆出问题,那时您再干telnet 服务器ip 1433 尝试,将会瞅到屏幕一闪之后光标正在左上角连交闪动.恭喜您,您赶快不妨开初正在企业管制器大概查询分解器连交了.三查看客户端树立步调>Microsoft SQL Server > 客户端搜集使用功具.像正在服务器搜集真用功具里一般,保证客户端tcp/ip协议开用,而且默认端心为1433(大概其余端心,取服务器端脆持普遍便止).四正在企业管制器里大概查询那分解器连交尝试企业管制器>左键SQlserver组>新建sqlserver备案>下一步>写进近程IP>下一步>选Sqlserver登陆>下一步>写进登陆名取暗号(sa,password)>下一步>下一步>完毕查询分解器>文献>连交>写进近程IP>写进登录名战暗号(sa,password)>决定常常提议正在查询分解器里干,果为默认情况下,通过企业管制器备案其余一台SQL Server的超时树立是4秒,而查询分解器是15秒.建改默认连交超时的要领:企业管制器>工具>选项>正在弹出的"SQL Server企业管制器属性"窗心中,面打"下档"选项卡>连交树立>正在登录超时(秒)后里的框里输进一个较大的数字查询分解器>工具>选项>连交>正在登录超时(秒)后里的框里输进一个较大的数字常常便不妨连通了,如果提示过得,则加进下一步.五过得爆收的本果常常是由于SQL Server使用了"仅Windows"的身份考证办法,果此用户无法使用SQL Server 的登录帐户(如 sa )举止连交.办理要领如下所示:1 正在服务器端使用企业管制器,而且采用"使用Windows 身份考证"连交上 SQL Server.2 展开"SQL Server组",鼠标左键面打SQL Server服务器的称呼,采用"属性",再采用"仄安性"选项卡.3 正在"身份考证"下,采用"SQL Server战 Windows ".4 沉新开用SQL Server服务.(正在dos大概下令止底下net stop mssqlserver停止服务,net start mssqlserver开用服务,也是一种快速的要领).附注:正在连交当天服务器时,常常使用的是命名管讲协议(正在服务器搜集真用功具里不妨瞅到开用的协议有那个),默认端心是445,果此正在当天能连通是不克不迭证明什么问题的,连交近程服务器是真足分歧的协议)。
解决此问题有两种方法:第一种方法1. 先停止服务器服务,双击主机屏幕右下角的:的图标,弹出界面选停止,再弹出的选项选择是。
2. 解压data压缩包(没有的可以咨询售后服务人员),复制文件夹里所有文件,然后进入D 盘,D:\Program Files'Microsoft SQLServer\MSSQL\Data这个路径,粘贴刚才复制的所有文件,提示替换时选全部。
3. 重新点击'矗L这个图标,弹出界面选,开始/继续,等图标变成绿色三角即可关掉。
重新打开管理系统即可正常使用。
第二种方法第一步:首先打开企业管理器,位置:服务器这台机器(也就是主机)开始-程序-Microsoft SQL Server-企业管理器L X Microsoft Office__一-——;------------- - ———一—Microsolt SQL Server F逮訥分析器馥导入和导3加亦服务音理器i服务器网踏实用工异臥?客户端网给实用工^ ”呈联业书s企业諺器—陳事1牛採查器奇圧吧中配置SQL XML立持Microsoft SQL Server 一版本切换依次点开-控制台根目录-Microsoft SQL Server- Microsoft SQL-(local)(Windows NT)-安全性-登录文儆F)规炸(A] M(V)工HE «D(W)和助{H)• ♦I 齒IHl X 0 I B 曲I * †I 4 翡0 8? N揑割台tH目录J£|] Microsoft SQL Servers†冃SQL Server 詛J I命(local) (V^indow5 NT)A □歡JS蛊匚I数拓菠洒雰B 口更_ /卜口曩制亠/ -□妄葩/LC够*处區务器第色J3远®惑器[> OS^fiESMeta Data Seirvi 匚卒尋录2个项目服务器访问耘g!癬越BUILTI N\Ad mini strator5Windows ...许可master许可master 遍i<rosoft SQL Servers,,-SQL Server local] (Windows IMTN,宝全性\登录然后选中右面出现的sa项目,双击,弹出界面第1步数据库选项选成myhis,第2步密码选项删除掉密码,然后点保存弹出选项不填写,直接点确定。
如何解决SQLServer2000中的连接问题-MSSQL-数据库,技术教程-E...概要本文能帮助您解决Microsoft SQL Server 2000 的连接问题。
本文描述了常见连接问题和所能采取的有助于解决连接问题的步骤。
SQL Server 2000 支持 SQL Server 实例和客户端应用程序间的多种通信方式。
如果您的客户端应用程序和 SQL Server 实例位于同一台计算机上,那么 Microsoft Windows 处理之间的通讯(IPC) 部件(例如本地命名管道或共享内存协议)将被用于通信。
但是,当客户端应用程序和 SQL Server 实例位于不同计算机上时,一个网络 IPC(例如 TCP/IP 或命名管道)将被用于通信。
SQL Server 2000 使用网络库(一个 DLL)与特定的网络协议进行通信。
一对匹配网络库必须在客户端计算机上激活,而且在支持待用网络协议的服务器计算机上也必须是激活的。
例如,如果您想启用一个客户端应用程序,通过 TCP/IP 与某个特定的 SQL Server 实例通信,那么客户端的TCP/IP 套接字网络库(Dbnetlib.dll) 就必须配置为连接到客户端计算机的服务器。
同样,服务器 TCP/IP 套接字网络库 (Ssnetlib.dll) 必须侦听服务器计算机。
在此方案中,TCP/IP 协议堆栈必须同时安装在客户端计算机和服务器计算机上。
在安装完SQL Server 2000 之后,您可以通过客户端网络实用程序来配置客户端网络库的属性。
您可以通过服务器网络实用程序(Svrnetcn.exe) 来配置服务器网络库的属性。
在安装SQL Server 安装程序中的服务器工具时,服务器的网络库也同时被安装了。
但是,某些服务器的网络库可能未被激活。
在默认情况下,SQL Server 2000 启用并侦听TCP/IP、命名管道和共享内存。
因此,如果一个客户端要连接到一台服务器计算机,该客户端必须使用一个客户端网络库,该网络库须与 SQL Server 实例正在使用的服务器网络库之一相匹配。
浪潮软件客户端连不上服务器解决方法首先前提是,服务安装了浪潮软件,并且数据库安装是sql2000。
在服务器上能登录帐套,而在客户端安装了浪潮软件连接服务器,连不上,这个样的问题的解决办法!第一:首先把服务器和客户端的防火墙先关掉,在“控制面板中”,具体的方法,大家自己去看一下就明白,不再叙述!第二:如果不行,就检查一下服务器的1433端口,是否打开!!检查1433端口的步骤是:开始—程序---运行,输入“cmd”,在弹出的黑框中输入“netstat –an”,然后查看,是否有下图:1图看到1433端口,后面的状态是listening,就表示sql2000数据库没有啥问题如果看不到1433端口打开的,那么就安装sql2000pack4,把pack4安装后,1433端口自动打开!!,Sql2000pack4的下载地址:/viewthread.php?tid=128&extra=page%3D1第三:如果还是连不上,检查一下客户端的环境配置,是否和服务器一样.!!客户端的环境配置的可以填写服务器sql2000服务的名字或者服务器的ip地址。
所以就分2种情况了!!先说如果是ip吧:1:客户端环境配置的服务器的名字,直接填写ip就行了,只要客户端,ping 服务器的ip地址可以ping通,就一定可以连上!!(但是这个有一点不好,有的服务器的ip 地址是自动获取的,或者ip地址有变化的,这点有点不爽,但是在这种情况下,一般把服务器的ip地址设置成固定的ip地址)如果ping不通,而且都可以上网,就要看看,客户端的ip和服务器的ip是不是一个网段,如果不是一个局域网!如果不是需要调服务器和客户端ip地址下面的子网掩码,把他们调为一个网段,也就是把他们调为一个局域网内!!!2:如果客户端的环境配置的服务器名,是服务器的名字,这时候,就应该客户端环境配置的名字,填写,服务器sql2000的服务器名字就ok例如下图:客户端环境配置的服务器的名字应该填写:WWW-B121A8242432图3图如果,填写的是服务器sql服务器的名字,这时候,都需要在客户端,ping 服务器的名字,如果通,就说明没有问题,软件就一定可以连上的例如:上图,就在开始—运行,输入“cmd”,弹出一个黑框,然后输入“ping WWW-B121A824243”如果不通,需要在客户端的c盘,system文件夹下面,找到一个文件“hosts”文件,用记事本打开,在后面添加一条,4图这时候在ping 服务器的名字,就通了,(在hosts里面修改,主要的目的,就是做一个dns 的解析,把服务器的ip地址和机器名字做一个绑定)第四:按照上面几个步骤,客户端一定可以连接上服务器的!如果还连接不上,到论坛讨论或者到QQ群里讨论!!。
SQL Server 2000连接不上问题的处理一."SQL Server 不存在或访问被拒绝"1.检查物理连接:在命令提示符下执行: ping <服务器ip地址>连接不上可能原因:(1) 服务器IP拼写错误。
(2) 服务器有防火墙。
比如ISA Server,瑞星防火墙、天网防火墙。
因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.(3) 网络不通(物理连接有问题)这时候要检查硬件设备,如网卡,HUB,路由器等.2.检查服务器端问题:在命令提示符下执行:telnet <服务器ip地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接,如果命令返回"无法打开连接"的错误信息连接不上可能原因:(1) 服务器有防火墙(2) 服务器SQLServer没有启动(2) 服务器SQLServer没有打补丁。
因为SQLServer打补丁后,监听的是0.0.0.0,支持所有网卡。
没打补丁不支持。
检查你的SQL有没有打补丁的方法是在查询分析器中运行:select @@version如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.SQL补丁SP4下载地址:/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&Dis playLang=zh-cn应该安装的是:SQL2000-KB884525-SP4-x86-CHS.EXESQL补丁SP3下载地址:/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装(3) 服务器SQLServer不是默认的1433端口或没有启用TCP/IP协议服务器点击:程序 --> Microsoft SQL Server--> 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议:一般而言,我们启用TCP/IP 协议及命名管道.点中 TCP/IP 协议,选择"属性",我们可以来检查 SQL Server 服务默认端口的设置:一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着端口变为2433,且客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.3.检查客户端问题:查询分析器中进行连接,使用用ip连接:(1) 文件 -- 连接 -- 连接SQL Server(2) SQLServer:服务器ip地址(3) 连接使用:SQLServer身份验证,登录名:SA,密码:(空)(注:根据对方的SQL配置确定采用什么身份验证方式:企业管理器--右键SQL实例--属性--安全性--身份验证)(4) 确定连接不上可能原因:(1)SQL Server名称拼写有误。
远程连接sq l ser ver 2000服务器不行,本地可以链接1.请确认安装了W IN2003 及打了SP1 或SP2补丁2.请确认安装了S QL2000及打了S P4补丁以上还不能解决的话参考以下文章.由于特定需求,最近实验室需要远程连接外地的sq l ser ver 2000服务器,最开始怎么连也连不上,出现了很多问题,但是在今天上午,借用实验室的测试条件(一个公网I P,两个教育网静态I P),终于调试通过,也算是完成了老师的任务,在这里写下自己的心得,参考了很多网上的文章和论坛里的问题,希望对有此需要的有帮助。
不完善之处,也请留言。
废话少说,进入主题。
步骤:一看pin g 服务器IP能否p ing通。
这个实际上是看和远程s ql se rver2000服务器的物理连接是否存在。
如果不行,请检查网络,查看配置,当然得确保远程sql s erver 2000服务器的I P拼写正确。
二在Dos或命令行下输入telne t 服务器IP 端口,看能否连通。
如t elnet 202.114.100.100 1433通常端口值是1433,因为1433是sql s erver 2000的对于Tc p/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1检查远程服务器是否启动了sql serv er 2000服务。
如果没有,则启动。
2检查服务器端有没启用Tcp/I P协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Mi croso ft SQ L Ser ver->服务器网络实用工具,看启用的协议里是否有tcp/i p协议,如果没有,则启用它。
一般是分为3个问题:A.检查客户端和服务器的网络协议B.要开启来宾账户C.都设置一个固定IP地址SQL SERVER 连接中4个常见的错误,一、SQL SERVER 不存在或拒绝访问一般来说,这种情况出现最多,一般是有以下几种原因。
1.SQL SERVER 名称或IP地址拼写有误2.服务器端网络配置有误3.客户端网络配置有误要解决这个问题,我们要遵循以下步骤一步一步来找出错误的原因。
1>.首先检查网络物理连接Ping 服务器IP地址/服务器名称a.Ping 服务器IP地址不成功,则表明网络物理连接有问题。
这时要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能由于客户端和服务器之间存在防火墙软件,比如ISA SERVER ,防火墙软件可能会屏蔽telnet、ping 等命令的响应。
因此在检查端口问题时,我们需要关闭防火墙软件。
或者打开所有被封闭的端口。
B.ping 服务器IP地址成功,但是ping 服务器名称失败。
则说明名字解析有问题,这个时候要检查DNS 服务器是否正常。
有时候客户端和服务器不在同一个局域网内,这个时候我们需要HOSTS 文件来进行名字解析。
具体的方法是:1.使用记事本打开HOSTS 文件(一般安装目录是C:\Windows\System32\drivers\etc)。
添加一条IP地址与服务器相对应的记录,如:172.168.10.24 myserver2.其次使用telnet 命令来检查SQL SERVER 服务器工作状态telnet 服务器IP地址1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL SERVER 服务器工作正常,且正在监听1433 端口的TCP/IP 连接。
如果命令返回无法打开连接,则说明服务器段没有启动SQL SERVER 服务。
也可能是服务器端没有启用TCP/IP 协议,或者服务器端没有在默认的1433 端口上监听。
系统连接sqlserver数据库问题解决方案一、首先检查1、网络不通,不能ping通服务器。
检查HUB或路由器是否正常工作。
检查其它机子是否网络通。
检查网线的可能性问题。
本地连接是否启用?2、检查防火墙是否把起点软件拦截了。
XP系统自带有防火墙可能阻止了软件访问网络。
3、数据库服务是否启动。
4、数据库有无更改密码。
5、数据库中是否存在当前连接的用户数据库。
二、根据软件错误提示检查以上问题检查无误的话,首先注意连接不上时的提示,起点软件在连接不上数据库时会有一个连接提示错误信息。
1"SQL Server 不存在或访问被拒绝"这个问题是最常见的,通常是XP2的操作系统+MS SQL SERVER 2000的配置情况下出现这种问题。
这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因:首先,检查网络物理连接ping <服务器IP地址/服务器名称>如果ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败则说明名字解析有问题,这时候要检查DNS 服务是否正常。
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1。
SQL SERVER 2000用户sa 登录失败的解决办法一.控制面板-》服务-》MS SQL SERVER-》登陆--》本地系统帐户--》重新启动MS SQL SERVER 用windows验证登陆查询分析器--》执行sp_password null,sa新密码,'sa'二."无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅W indows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server操作步骤:在企业管理器中--右键你的服务器实例(就是那个有绿色图标的)--编辑SQL Server注册属性--选择"使用windows身份验证"--选择"使用SQL Server身份验证"--登录名输入:sa,密码输入sa的密码--确定2.设置允许SQL Server身份登录操作步骤:在企业管理器中--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称--选择"属性"--再选择"安全性"选项卡--在"身份验证"下,选择"SQL Server和Windows ".--确定,并重新启动SQL Server服务.在以上解决方法中,如果在第 1 步中使用"使用Windows 身份验证"连接SQL Server 失败,那就通过修改注册表来解决此问题:1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_LOCA L_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]3.在屏幕右方找到名称"LoginMode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server.这是因为在SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators<机器名>\Administrator 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators"5.点击"确定"退出6.使用同样方法添加<机器名>\Administrator 登录.说明:以下注册表键:HKEY_LOCA L_MACHINE\SOFTWA RE\Microsoft\MSSQLServer\MSSQLServer\LoginMode的值决定了SQL Server将采取何种身份验证模式.1.表示使用"Windows 身份验证"模式2.表示使用混合模式(Windows 身份验证和SQL Server 身份验证).先用Window方式登陆进去,选择数据库实例,右键选择属性——安全性:把服务器身份验证选项从Window身份验证模式”改为“SQLServer和Window身份验证模式”。
常见的SQLServer连接失败错误以及解决方法常见的SQLServer连接失败错误以及解决方法a--sql server 不存在或访问拒绝错误有以下可能:a.sql server名称或者ip地址拼写有误b.服务器端网络配置错误c.客户端网络配置错误解决步骤:1.检查网络物理连接ping 服务器名称或者 ping 服务器ip地址===》ping 服务器ip地址失败:说明物理连接出问题,需要检查硬件设备;需要注意将防火墙关掉,因为它也许会屏蔽你的ping命令===》ping 服务器ip地址成功 ping 服务器名称失败:说明服务器名称有问题。
如果服务器和客户端不在同一局域网内,很可能无法直接使用服务器名称标志服务器。
2.使用telnet命令检查sql server服务器工作状态telnet 服务器ip地址 14323(默认端口号)===>如果有“无法打开连接”的信息,说明你的sql server服务没开启,或者你的tcp/ip协议没有启用,或者你的服务器没有在端口1433上监听3.检查服务器端的网络配置,看是否启用命名管道,是否启用tcp/ip协议这个可以在不同版本的sql server自带的工具管理器里找到,比如2000是服务器网络使用工具 2017是sql server配置管理器4.检查客户端的网络配置,查看使用的协议一般需要启用命名管道;b--用户sa登入失败错误有以下可能:1.你的登入身份为“仅windows身份登入”2.你改完登入方式后,设置账户后没有运行sp_password第一个原因解决方法:以2000为例:1.在服务器端使用企业管理器,并且选择"使用 windows 身份验证"连接上 sql server2.展开"sql server组",鼠标右键点击sql server服务器的名称,选择"属性",再选择"安全性"选项卡3.在"身份验证"下,选择"sql server和 windows ".4.重新启动sql server服务.在以上解决方法中,如果在第 1 步中使用"使用 windows 身份验证"连接 sql server 失败,那就通过修改注册表来解决此问题:1.点击"开始" "运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[hkey_local_machinesoftware microsoft mssqlserver mssqlserver]3.在屏幕右方找到名称"loginmode",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动sql server服务;--oruse[master]go exec xp_instance_regwrite n'hkey_local_machine', n'software/microsoft/mssqlserver/mssqlserver', n'loginmode', reg_dword,2go此时,用户可以成功地使用sa在企业管理器中新建sql server注册,但是仍然无法使用windows身份验证模式来连接sql server。
客户端连接SQLServer2000无法成功的解决方案问题:客户端连接服务器能ping通,但是就是连不上SQL SERVER2000数据库,其他客户都能连上就这一台无法连接!防火墙已经关闭,SP3、SP4补丁已经打过,全检查过没问题,系统也重新安装了,一看ping 服务器IP能否ping通。
这个实际上是看和远程sql server2000服务器的物理连接是否存在。
如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
要能从服务器ping 到客户端,再从客户端ping 到服务器都通。
二在Dos或命令行下输入telnet 服务器IP端口,看能否连通。
如telnet202.114.100.100 1433通常端口值是1433,因为1433是sqlserver 2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项:1检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。
如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
SQL2000远程连接不上服务器解决方法SQL Server 2000是一个过时的数据库管理系统,它的远程连接功能可能会受到一些限制和问题。
下面是一些常见的问题和解决方法,以帮助您解决SQL Server 2000远程连接不上服务器的问题。
1.检查网络连接:-确保服务器和客户机在同一局域网或通过可靠的网络连接相连。
- 检查防火墙设置,确保允许SQL Server 2000使用所需的端口进行通信(默认情况下是1433端口)。
- 使用ping命令测试服务器是否可达,确保网络连接正常。
2. 配置SQL Server 2000:- 打开SQL Server Enterprise Manager,展开“Microsoft SQL Servers”和“SQL Server Group”节点。
-右键单击服务器节点,并选择“属性”选项。
-在属性对话框中,选择“网络配置”选项卡,确保TCP/IP协议处于已启用状态。
-确保在TCP/IP协议的“IP地址”选项卡中,监听所有IP地址的端口设置为1433(或其他自定义端口)。
- 重新启动SQL Server服务,以使配置生效。
3. 检查SQL Server身份验证方式:- 打开SQL Server Enterprise Manager,展开服务器节点。
-右键单击服务器节点,并选择“属性”选项。
-在属性对话框中,选择“安全性”选项卡。
- 确保“身份验证”设置为“SQL Server和Windows身份验证模式”,以允许使用SQL Server身份验证方式进行远程连接。
4. 检查SQL Server登录名和密码:- 在SQL Server Enterprise Manager中,展开服务器节点,然后展开“安全性”节点。
-右键单击“登录名”节点,并选择“新建登录名”选项。
-在“新建登录名”对话框中,创建一个新的登录名,并确保为该登录名设置了正确的权限和密码。
5. 检查SQL Server 2000服务状态:- 打开Windows服务管理器,查找“SQL Server”服务。
装完SQL2000后一直提示:与应用程序对象的连接失败。
情确保未删除任何程序模块方法1 程序注册控件:用regsvr32 semsfc.dll /s 命令进行了重新注册了,并重新启动了系统,运行还是一样.该办法不能解决。
方法2 安装补丁:安装补丁SQL2K_SP2_CN和SQL2K_SP3_CN,重启计算机,OK 问题解决方法3,网友意见:一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。
二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。
三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。
四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。
还好这个只要对系统注册表稍加修改就可以啦:在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
五. 再打开企业管理,再连接试试该办法没有使用,尚未可确认。
方法4将SQL相关文件全部注册一遍:通过批处理将SQL相关文件全部注册一遍来解决这个问题。
把以下内容粘贴到记事本作成*bat文件执行。
代码@echo onregsvr32 autoplt.dll /sregsvr32 autowiz.dll /sregsvr32 axscphst.dll /sregsvr32 cdwtasks.dll /sregsvr32 cdwtskui.dll /sregsvr32 colctrl.dll /sregsvr32 comnevnt.dll /sregsvr32 ctasksui.dll /sregsvr32 custtask.dll /sregsvr32 dtsffile.dll /sregsvr32 dtspkg.dll /sregsvr32 dtspump.dll /sregsvr32 dtsui.dll /sregsvr32 dtswiz.dll /sregsvr32 hhsetup.dll /s regsvr32 objmgr.dll /s regsvr32 pfclnt80.dll /s regsvr32 pfutil80.dll /s regsvr32 psdcscm.dll /s regsvr32 sdiclnt.dll /s regsvr32 semcomn.dll /s regsvr32 Semcros.dll /s regsvr32 Semdll.dll /s regsvr32 semdts.dll /s regsvr32 SEMEXEC.dll /s regsvr32 semmap.dll /s regsvr32 semnt.dll /s regsvr32 Semobj.dll /s regsvr32 semrepl.dll /s regsvr32 semsfc.dll /s regsvr32 Semsys.dll /s regsvr32 semwebwz.dll /s regsvr32 Semwiz.dll /s regsvr32 sqdedev.dll /s regsvr32 SQLDMO.dll /s regsvr32 sqlftwiz.dll /s regsvr32 sqlgui.dll /s regsvr32 sqllex.dll /s regsvr32 sqlmmc.dll /s regsvr32 sqlns.dll /s regsvr32 sqlqry.dll /s regsvr32 sqlresld.dll /s regsvr32 sqlsui.dll /s regsvr32 sqlsvc.dll /s regsvr32 sqlvdir.dll /s regsvr32 stardds.dll /s regsvr32 svrnetcn.dll /s regsvr32 w95scm.dll /s。
SQL Server 2000连接不上问题的处理一."SQL Server 不存在或访问被拒绝"1.检查物理连接:在命令提示符下执行: ping <服务器ip地址>连接不上可能原因:(1) 服务器IP拼写错误。
(2) 服务器有防火墙。
比如ISA Server,瑞星防火墙、天网防火墙。
因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.(3) 网络不通(物理连接有问题)这时候要检查硬件设备,如网卡,HUB,路由器等.2.检查服务器端问题:在命令提示符下执行:telnet <服务器ip地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接,如果命令返回"无法打开连接"的错误信息连接不上可能原因:(1) 服务器有防火墙(2) 服务器SQLServer没有启动(2) 服务器SQLServer没有打补丁。
因为SQLServer打补丁后,监听的是0.0.0.0,支持所有网卡。
没打补丁不支持。
检查你的SQL有没有打补丁的方法是在查询分析器中运行:select @@version如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.SQL补丁SP4下载地址:/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&Dis playLang=zh-cn应该安装的是:SQL2000-KB884525-SP4-x86-CHS.EXESQL补丁SP3下载地址:/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装(3) 服务器SQLServer不是默认的1433端口或没有启用TCP/IP协议服务器点击:程序 --> Microsoft SQL Server--> 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议:一般而言,我们启用TCP/IP 协议及命名管道.点中 TCP/IP 协议,选择"属性",我们可以来检查 SQL Server 服务默认端口的设置:一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着端口变为2433,且客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.3.检查客户端问题:查询分析器中进行连接,使用用ip连接:(1) 文件 -- 连接 -- 连接SQL Server(2) SQLServer:服务器ip地址(3) 连接使用:SQLServer身份验证,登录名:SA,密码:(空)(注:根据对方的SQL配置确定采用什么身份验证方式:企业管理器--右键SQL实例--属性--安全性--身份验证)(4) 确定连接不上可能原因:(1)SQL Server名称拼写有误。
客户端连接SQLServer2000无法成功的解决方案
问题:
客户端连接服务器能ping通,但是就是连不上SQL SERVER 2000数据库,其他客户都能连上就这一台无法连接!防火墙已经关闭,SP3、SP4补丁已经打过,全检查过没问题,系统也重新安装了,
一看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。
如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
要能从服务器ping 到客户端,再从客户端ping 到服务器都通。
二在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项:
1 检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。
如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip
协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5 检查服务器是否在1433端口侦听。
如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似tcp 127.0.0.1 1433 listening 的项。
如果没有,则通常需要给sql server 2000打上至少sp3的补丁。
其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。
恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
三检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。
像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。
四在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步- >写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)- >下一步->下一步->完成
查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server 的超时设置是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在登录超时(秒) 后面的框里输入一个较大的数字
通常就可以连通了,如果提示错误,则进入下一步。
五错误产生的原因通常是由于SQL Server使用了"仅Windows"的
身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa )进行连接。
解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server。
2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。
3 在"身份验证"下,选择"SQL Server和Windows "。
4 重新启动SQL Server服务。
(在dos或命令行下面net stop mssqlserver停止服务,net start mssqlserver启动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)
六、其它几种情况
(1)还有一种可能就是:网络上出现计算机重名也会导致连接不上。
(2)关闭客户端的防火墙,包括微软自带的防火墙。
telnet 1433端口看看能不能连上,如果连不上说明1433端口被封,如果关闭防火墙后,只能说明数据库不让你连它,看看权限有没有下放到你这台机器上,如果是个人版注意最多同时连5台机器,超过了就连不上了,需要换企业版才行,但是换了企业版要注意许可证问题,一般微软很容易就查到你在用盗版会被起诉的。
(3)在host文件里加上IP与服务名,用服务器名称试试,检查看是否把命名通道开了。
(4)ping个大点的包比如1M,10M,看看ping的通不PING 服务器IP -L 1024
试试,如果ping的通,说明网络确实没问题。
然后在ODBC里面添加 SQL驱动测试下连接。