|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。server|办理|成绩怎样办理SQLServer2000中的毗连成绩合用于主要申明:本文包括有关修正注册表的信息。修正注册表之前,必定要备份注册表,而且必定要晓得在产生成绩时怎样复原注册表。有关怎样备份、复原和编纂注册表的信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
256986MicrosoftWindows注册表申明
本义务的内容提要办理毗连成绩考证DNS设置考证启用的协定和别号考证SQLServer实例正在准确地侦听办理MDAC成绩办理防火墙成绩办理身份考证和平安成绩办理TCP/IP套接字上的压力成绩检察SQLServer实例是不是以单用户形式启动考证到SQLServer的定名管道毗连办理在恢复过程当中毗连超时的成绩测试毗连到SQLServer实例的分歧办法捕获收集监督器踪影参考提要本文能匡助您办理MicrosoftSQLServer2000的毗连成绩。本文形貌了罕见毗连成绩和所能接纳的有助于办理毗连成绩的步骤。SQLServer2000撑持SQLServer实例和客户端使用程序间的多种通讯体例。假如您的客户端使用程序和SQLServer实例位于统一台盘算机上,那末MicrosoftWindows处置之间的通信(IPC)部件(比方当地定名管道或共享内存协定)将被用于通讯。可是,当客户端使用程序和SQLServer实例位于分歧盘算机上时,一个收集IPC(比方TCP/IP或定名管道)将被用于通讯。
SQLServer2000利用收集库(一个DLL)与特定的收集协定举行通讯。一对婚配收集库必需在客户端盘算机上激活,并且在撑持待用收集协定的服务器盘算机上也必需是激活的。比方,假如您想启用一个客户端使用程序,经由过程TCP/IP与某个特定的SQLServer实例通讯,那末客户真个TCP/IP套接字收集库(Dbnetlib.dll)就必需设置为毗连到客户端盘算机的服务器。一样,服务器TCP/IP套接字收集库(Ssnetlib.dll)必需侦听服务器盘算机。在此计划中,TCP/IP协定仓库必需同时安装在客户端盘算机和服务器盘算机上。
在安装完SQLServer2000以后,您能够经由过程客户端收集有用程序来设置客户端收集库的属性。您能够经由过程服务器收集有用程序(Svrnetcn.exe)来设置服务器收集库的属性。在安装SQLServer安装程序中的服务器工具时,服务器的收集库也同时被安装了。可是,某些服务器的收集库大概未被激活。在默许情形下,SQLServer2000启用并侦听TCP/IP、定名管道和共享内存。因而,假如一个客户端要毗连到一台服务器盘算机,该客户端必需利用一个客户端收集库,该收集库须与SQLServer实例正在利用的服务器收集库之一相婚配。
有关SQLServer通信部件和收集库的其他信息,请拜见“SQLServer在线参考书”中的以下主题:通讯部件客户端和服务器收集库办理客户端
前往页首办理毗连成绩在SQLServer2000中您大概会注重到的年夜多半毗连成绩都是由TCP/IP的成绩或Windows身份认证的成绩引发,大概由二者配合引发。
主要申明:在入手下手办理SQLServer2000的毗连成绩之前,请确认MSSQLServer服务已在运转SQLServer的盘算机上启动。
前往页首考证DNS设置域名体系(DNS)中的称号剖析历程用于剖析SQLServer实例称号的IP地点。假如称号剖析历程事情不一般,就不克不及取得SQLServer实例,您大概会收到一条或多条以下毛病信息:
SQLServerdoesnotexistoraccessdenied
GeneralNetworkError
CannotGenerateSSPIContext要考证称号剖析历程是不是在剖析准确的服务器,可使用服务器名和服务器的IP地点ping服务器。为此,请按以下步骤操纵:单击“入手下手”,然后单击“运转”。在“运转”对话框中,在“翻开”框中键进cmd,然后单击“断定”。在命令提醒符下,运转以下命令:
ping<ServerName>
纪录前往的IP地点。在命令提醒符下,运转以下命令(此处的IPaddress就是您在步骤3中纪录的IP地点):
ping–a<IPaddress>
考证命令剖析的是准确的服务器名。假如两个指定的命令有任何一个不乐成、超时或没有前往准确的值,那末DNS查找未能一般事情,大概有其他收集或路由成绩激发成绩。要检察以后DNS设置,在命令提醒符下运转以下命令:
ipconfig/all
有关ipconfig命令的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
223413Windows2000中Ipconfig.exe的选项
要办理此成绩,能够在客户端盘算机上的%systemroot%ystem32driversetchosts文件中为服务器增加一个条目。要办理此成绩,还可使用定名管道收集库毗连到服务器。
前往页首考证启用的协定和别号假如客户端盘算机上的别号设置毛病,大概会引发毗连成绩。您可使用客户端收集有用程序检察别号。为此,请按以下步骤操纵:启动客户端收集有用程序。假如SQLServer客户端工具被安装在正在运转客户端使用程序的盘算机上,请依照以下步骤启动客户端收集有用程序:单击“入手下手”,然后指向“程序”。指向“MicrosoftSQLServer”,然后单击“客户端收集有用程序”。假如SQLServer客户端工具没有安装在客户端盘算机上,请依照以下步骤启动客户端收集有用程序:单击“入手下手”,然后单击“运转”。在“运转”对话框中,在“翻开”框中键进cliconfg,然后单击“断定”。在“SQLServer客户端收集有用程序”窗口中,单击“惯例”标签,然后启用您要利用的一切协定。
注重:您必需最少启用TCP/IP协定和定名管道协定。单击“别号”标签,然后考证为SQLServer实例所设置的别号。考证别号的属性,确认服务器名或IP地点和协定的设置是准确的。经由过程利用服务器名、IP地点大概其他协定,您能够创立一个新的别号以测试毗连功能。
注重:在Microsoft数据存取部件(MDAC)的初期版本中,客户端收集有用程序的用户界面是分歧的。因而,假如您没有看到本文中列出的选项,请在运转客户端使用程序的盘算机上安装MDAC的新版本。
前往页首考证SQLServer实例正在准确地侦听要考证SQLServer实例正在准确地侦服从名管道、TCP/IP或您在客户端使用程序中利用的其他协定,请翻开以后的SQLServer毛病日记文件。SQLServer毛病日记文件大概包含与以下相似的条目:
2003-11-0609:49:36.17serverSQLserverlisteningonTCP,SharedMemory,NamedPipes.2003-11-0609:49:36.17serverSQLserverlisteningon192.168.1.5:1433,127.0.0.1:1433.
经由过程剖析SQLServer毛病日记文件中的条目,能够考证SQLServer实例是不是正在侦听准确的IP地点和端口。在默许情形下,一个默许的SQLServer实例侦听端口1433。您还可使用服务器收集有用程序来考证SQLServer的协定设置并变动SQLServer中的属性,包含能够毗连到SQLServer和可使用的端口的协定。关于利用服务器收集有用程序的更多信息,请拜见SQLServer在线参考书中的“SQLServer收集有用程序”专题。
偶然候,SQLServer2000大概不会绑定于端口1433或任何其他指定的端口。假如端口正被其他使用程序利用,大概假如您正在实验利用一个毛病的IP地点举行毗连,便可能会呈现此成绩。因而,TCP/IP到SQLServer的毗连大概不乐成,在SQLServer毛病日记中您会收到以下毛病信息:
2001-11-1415:49:14.12serverSuperSocketInfo:BindfailedonTCPport1433.有关其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
307197PRB:TCPIP端口正由另外一使用程序利用
假如经由过程TCP/IP毗连您不克不及毗连到SQLServer实例,请实验利用定名管道协定或共享内存协定。在命令提醒符下运转上面的命令,以猎取关于正在利用的端口的信息:
NETSTAT-an
您还可使用Portqry命令行有用程序来猎取关于正在利用的端口的更多信息。
有关Portqry命令行有用程序的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
310099Portqry.exe命令行有用程序申明
有关与TCP/IP套接字相干的大概的毛病的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
306865BUG:当TCP/IP是独一的协定时,SQLServer大概没法侦听TCP/IP套接字
注重:关于SQLServer定名实例,SQLServer静态地决意端口并侦听决意的端口。因而,当您启动SQLServer定名实例时,SQLServer将想法侦听之前利用的端口。假如SQLServer不克不及绑定到该端口,定名实例大概会静态地绑定到另外一个端口。在这类情形下,请确认客户端使用程序也被设置为静态地决意端口。作为选择,您还能够为定名实例指定一个静态端口,经由过程客户端收集有用程序对其举行绑定和侦听。
有关其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
286303INF:静态端口检测过程当中SQLServer2000收集库的举动
823938怎样在SQLServer2000中利用静态和静态端口分派
前往页首办理MDAC成绩MDAC的成绩也大概会引发毗连成绩。比方,安装一个软件大概会掩盖一些MDAC文件或变动权限,而您必要这些权限才干会见MDAC文件。您能够运转MDAC部件反省器来考证MDAC在盘算机上的安装。
有关怎样断定您以后的MDAC版本的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
301202怎样反省MDAC版本
注重:假如您正毗连到SQLServer的一个定名实例,请确认盘算机上运转的是MDAC2.6或更新的版本。MDAC的初期版本不辨认SQLServer的定名实例。因而,大概没法毗连到定名实例。
您可使用Odbcping.exe有用程序来考证经由过程SQLServerODBC驱动程序的毗连。
有关Odbcping.exe的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
138541怎样利用Odbcping.exe考证到SQLServer的ODBC毗连
有关设置ODBCDSN的其他信息,请单击上面的文章编号,检察Microsoft常识库中的响应文章:
289573PRB:利用SQLServerNet-Libraries(SQLServer收集库)设置DSN
您还可使用一个.udl文件测试与SQLServer实例的毗连。
有关怎样创立.udl文件的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
244659示例:怎样在Windows2000中创立数据链接文件
前往页首办理防火墙成绩假如防火墙存在于客户端盘算机和正在运转SQLServer的盘算机之间,请确认经由过程防火墙举行通讯时所需的端口已翻开。
有关经由过程防火墙举行通讯时必需翻开的端口的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
287932INF:经由过程防火墙与SQLServer举行通讯所需的TCP端口
269882怎样利用ADO毗连到防火墙后的SQLServer
假如您利用TCP/IP协定毗连SQLServer实例,请确认可以用Telnet程序毗连到SQLServer正在侦听的端口。要利用Telnet程序,在命令提醒符下运转以下命令:
Telnet<IPAddress><PortNumber>
假如Telnet程序没有乐成,而且您吸收到毛病信息,请办理此毛病然后实验再次毗连。
注重:由于由Slammer病毒引发的成绩,在您的防火墙上,用户数据报协定(UDP)端口1434大概被反对。
前往页首办理身份考证和平安成绩因为身份认证失利,大概没法毗连到SQLServer。假如身份认证失利,您大概收到以下毛病信息之一:
Loginfailedforuser<username>
LoginfailedforuserNTAUTHORITYANONYMOUSLOGON
Loginfailedforusernull假如您因为身份认证失利收到了毛病信息,并且毛病信息中没有提到一个明白的SQLServer登录名,请利用Windows身份认证办理该成绩。因为Windows身份认证的成绩,您大概会收到以下毛病信息:
CannotgenerateSSPIContext以下成绩大概会引发身份认证和平安成绩:NTLM身份认证或Kerberos身份认证呈现成绩。因为毗连成绩,没法接洽域把持器。域之间的信托干系呈现成绩。有关大概缘故原由的更多信息,请拜见盘算机上的事务日记。要办理Windows身份认证的毗连成绩,您可使用SQLServer身份认证毗连到SQLServer实例。有关怎样诊断息争决“CannotGenerateSSPIContext”毛病的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
811889怎样扫除“CannotgenerateSSPIcontext”毛病信息
假如在利用SQLServer身份认证时毗连没有乐成,您会收到以下毛病信息:
Loginfailedforuser<username>.Notassociatedwithatrustedconnection
若要办理此成绩,请依照以下步骤操纵。
告诫:“注册表编纂器”利用不妥可招致严峻成绩,大概必要从头安装操纵体系。Microsoft不克不及包管您能够办理因“注册表编纂器”利用不妥而招致的成绩。利用“注册表编纂器”必要您自担风险。请确认SQLServer实例设置为利用Windows身份认证和SQLServer身份认证。为此,请确认在正在运转SQLServer的盘算机上存鄙人列注册表项。关于默许的SQLServer实例:
HKEY_LOCAL_MACHINEoftwareMicrosoftMSSQLServerMSSQLServerLoginMode
关于SQLServer的定名实例:
HKEY_LOCAL_MACHINEoftwareMicrosoftMicrosoftSQLServer<InstanceName>MSSQLServerLoginMode
请确认已设置以下注册表项的值:
身份认证范例值仅限于Windows身份认证1夹杂形式(SQLServer身份认证和Windows身份认证)2
注重:假如您对注册表举行了任何变动,必需封闭偏重新启动SQLServer实例使变动失效。实验利用其他Windows帐户或SQLServer登录帐户毗连到SQLServer实例。如许可以匡助断定是不是是因为某个特别的登录帐户的成绩而形成毗连失利。比方,登录帐户的暗码大概已被变动。实验利用其他协定毗连到SQLServer实例。比方,利用TCP/IP协定举行Windows身份认证的毗连大概会失利,可是利用定名管道协定举行Windows身份认证的毗连便可能会乐成。假如您正在利用证书,当实验毗连到SQLServer实例时,大概会收到一条平安套接字层(SSL)平安毛病信息。有关其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
316898怎样借助MicrosoftManagementConsole为SQLServer2000启用SSL加密
322144FIX:SECDoClientHandShake没法毗连到SQLServer
前往页首办理TCP/IP套接字上的压力成绩在利用SQLServerODBC驱动程序、MicrosoftOLEDBProviderforSQLServer或System.Data.SqlClient办理供应程序时,可使用得当的使用程序编程接口(API)来禁用毗连池。在禁用毗连池、而且使用程序频仍翻开和封闭毗连时,对基础SQLServer收集库的压力大概会增年夜。偶然候,Web服务器和JDBC驱动程序也会实验毗连到SQLServer实例。因而,对SQLServer毗连需求的增添大概会凌驾SQLServer的处置才能。这大概会给TCP/IP套接字带来压力,您还大概在SQLServer毛病日记文件中收到以下毛病信息:
2003-08-0720:46:21.11serverError:17832,Severity:20,State:6
2003-08-0720:46:21.11serverConnectionopenedbutinvalidloginpacket(s)sent.Connectionclosed.
有关其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
154628INF:SQL在碰到多个TCPIP毗连哀求时纪录17832
328476禁用毗连池时SQLServer驱动程序的TCP/IP设置
注重:假如运转SQLServer2000SP3或SQLServer2000SP3a,则不会注重到对TCP/IP套接字的压力,这是因为增加了对上岸数据包数目的限定。在利用第三方驱动程序毗连到SQLServer实例时,产生毛病17832。要办理该成绩,请与第三方供给商接洽,并猎取经测试证实可以用于SQLServer2000SP3和SQLServer2000SP3a的驱动程序。
前往页首检察SQLServer实例是不是以单用户形式启动假如实验毗连的SQLServer实例是以单用户形式启动的,只能创建一个到SQLServer的毗连。假如运转软件的盘算机主动毗连到SQLServer,该软件能够轻松地利用独一的毗连。比方,上面的软件能够主动毗连到SQLServer实例:SQLServer代办署理程序第三方备份软件第三方监测软件第三方病毒软件MicrosoftInternet信息服务(IIS)SQLServer企业办理器实验毗连到SQLServer实例的客户端使用程序收到以下毛病信息:
SQLServerdoesnotexistorAccessDenied当安装历程以单用户形式启动SQLServer实例时,此毛病一样平常产生在SQL聚集安装和服务软件包安装时代。指定的使用程序会主动毗连到利用独一可用毗连的SQLServer实例,从而安装失利。
要断定SQLServer实例是不是已以单用户形式启动,请反省SQLServer毛病日记文件中是不是具有一个与以下相似的条目:
2003-07-3111:26:43.79spid3Warning******************
2003-07-3111:26:43.80spid3SQLServerstartedinsingleusermode.Updatesallowedtosystemcatalogs.
前往页首考证到SQLServer的定名管道毗连假如您没法利用定名管道毗连到SQLServer实例,请确认SQLServer实例设置为承受定名管道毗连。有关测试定名管道的历程的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
68941INF:测试定名管道的历程
前往页首办理在恢复过程当中毗连超时的成绩在每次启动一个SQLServer实例时,SQLServer将恢复各个数据库。在此恢复过程当中,SQLServer回滚未提交的事件。当中断SQLServer实例时,SQLServer还将前滚已提交的事件和没有写进硬盘的变动。当恢复历程完成时,SQLServer将在SQLServer毛病日记文件中写进以下信息:
RecoveryComplete在恢复过程当中,SQLServer大概不会承受毗连。在此工夫内实验毗连到SQLServer的客户端大概会收到一条与以下相似的毛病信息:
TimeoutExpiredSQLServer代办署理服务大概没法启动,这是由于它要守候SQLServer恢单数据库。因而,当您在SQLServer毛病日记文件中收到上面的信息时,毗连不再见由于超时毛病而失利:
RecoveryComplete假如恢复历程消费的工夫很长,您大概还要扫除恢复历程的妨碍。
前往页首测试毗连到SQLServer实例的分歧办法当您毗连到SQLServer实例时,假如碰到了毗连成绩,可使用上面的一种或多种办法来办理毗连成绩。利用SQLServer身份认证和Windows身份认证测试到SQLServer实例的毗连。从其他数据源(比方ODBCDSN、.udl文件、SQL查询剖析器、SQLServer企业办理器,isql有用程序或osql有用程序)测试到SQLServer实例的毗连。利用其他协定测试到SQLServer实例的毗连。您能够为利用该协定的SQLServer实例创立一个新的别号,从而指定分歧的协定。还能够经由过程在SQLServer实例称号的入手下手处增加tcp:、np:、lpc:、或rpc:来指定您的毗连字符串中的协定。比方,假如TCP/IP毗连失利,则定名管道毗连乐成。利用其他登录帐户测试毗连,如许能够匡助您断定该成绩是不是与某个特定的登录帐户有关。在%systemroot%ystem32driversetchosts文件中增加一个与正在运转SQLServer实例的盘算机的IP地点响应的条目。实验从运转SQLServer的盘算机和客户端毗连到SQLServer实例。假如您正从运转SQLServer的盘算机举行毗连,能够指定“.”或“(当地)”(不带引号)代替服务器称号,然后毗连。实验利用IP地点而不是服务器称号毗连到SQLServer实例。实验指定SQLServer实例正在侦听的特定端口。有两种办法:创立一一般名或将一个端标语增加到毗连字符串(比方MyServerMyInstance,1433)。前往页首捕获收集监督器踪影假如利用“测试毗连到SQLServer2000实例的各类办法”大节中提到的步骤没法办理毗连成绩,请利用收集监督器有用程序捕获收集踪影。有关收集追踪的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
148942怎样利用收集监督器捕捉收集通信量
294818关于收集监督器的罕见成绩
169292解读TCP/IP跟踪数据的基本常识
102908怎样在Windows2000或WindowsNT中扫除TCP/IP毗连成绩
要取得更多具体信息,必要利用SQL事务探查器踪影。关于运转SQLServer举行收集追踪的非会萃盘算机,还可使用收集诊断工具。有关怎样利用收集诊断工具的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
321708怎样在Windows2000中利用收集诊断工具(Netdiag.exe)
前往页首参考有关与SQLServer相干的各类毗连成绩的其他信息,请单击上面的文章编号,以检察Microsoft常识库中响应的文章:
812817撑持Web播送:MicrosoftSQLServer2000:毗连妨碍扫除
319930怎样毗连到Microsoft桌面引擎
257434INF:现有DSN中的收集库被毗连到同名SQLServer的新DSN中的收集库代替。
306985利用定名管道毗连聚集假造服务器时产生RPC毛病
313062怎样在Windows2000中经由过程利用ActiveServerPages毗连到数据库
313295怎样在毗连字符串中利用服务器名参数指定客户端收集库
320728怎样扫除“TheMaximumConnectionLimitHasBeenReached”毛病信息
328306INF:呈现“SQLServerDoesNotExistorAccessDenied”(SQLServer不存在或回绝会见)毛病信息的大概缘故原由
247931INF:在ActiveServerPage中考证到SQLServer的毗连的办法
169377怎样在ActiveServerPage中会见SQLServer
328383INF:SQLServer客户端可在毗连时变动协定
238949怎样在ADO毗连字符串中设置SQLServer收集库
270126PRB:在举行Active/ActiveCluster7.0晋级后怎样办理客户端与两个SQLServer2000假造服务器的毗连
316779PRB:具有强迫协定加密设置的客户端大概没法经由过程IP地点举行毗连
216643INF:跟踪到SQLServer7.0的毗连时找不到ODBC/OLEDB毗连选项
265808INF:怎样用初期版本的客户端工具毗连到SQLServer2000定名实例
191572INFO:从ASP挪用的ADO工具办理的毗连池
313173用于MicrosoftSQLServer2000的JDBC驱动程序的示例毗连池办理器
237844怎样在VisualBasicADO使用程序中启用ODBC毗连池
259569PRB:安装第三方产物损坏了Windows2000MDAC注册表设置
对于update操作,只需要把event中的旧行和新行值对调即可。 |
|