文档库 最新最全的文档下载
当前位置:文档库 › 如何解决 SQL Server 2000 中的连接问题

如何解决 SQL Server 2000 中的连接问题

如何解决 SQL Server 2000 中的连接问题
如何解决 SQL Server 2000 中的连接问题

如何解决SQL Server 2000 中的连接问题

概要

本文能帮助您解决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 实例正在使用的服务器网络库之一相匹配。

有关SQL Server 通讯部件和网络库的其他信息,请参见“SQL Server 在线参考书”中的下列主题:

?通信部件

?客户端和服务器网络库

?管理客户端

回到顶端

解决连接问题

在SQL Server 2000 中您可能会注意到的大多数连接问题都是由TCP/IP 的问题或Windows 身份认证的问题引起,或者由两者共同引起。

重要说明:在开始解决SQL Server 2000 的连接问题之前,请确认MSSQLServer 服务已在运行SQL Server 的计算机上启动。

验证DNS 设置

域名系统(DNS) 中的名称解析过程用于解析SQL Server 实例名称的IP 地址。如果名称解析过程工作不正常,就不能获得SQL Server 实例,您可能会收到一条或多条下列错误信息:

SQL Server does not exist or access denied

General Network Error

Cannot Generate SSPI Context

要验证名称解析过程是否在解析正确的服务器,可以使用服务器名和服务器的IP 地址ping 服务器。为此,请按以下步骤操作:

1. 单击“开始”,然后单击“运行”。

2. 在“运行”对话框中,在“打开”框中键入cmd,然后单击“确定”。

3. 在命令提示符下,运行下列命令:

ping

记录返回的IP 地址。

4. 在命令提示符下,运行下列命令(此处的IP address 就是您在

步骤 3 中记录的IP 地址):

ping –a

验证命令解析的是正确的服务器名。如果两个指定的命令有任何一个不成功、超时或没有返回正确的值,那么DNS 查找未能正常工作,或者有其他网络或路由问题引发问题。要查看当前DNS 设置,在命令提示符下运行下列命令:

ipconfig /all

有关ipconfig 命令的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

223413 Windows 2000 中Ipconfig.exe 的选项

要解决此问题,可以在客户端计算机上

的%systemroot%\system32\drivers\etc\hosts 文件中为服务器添加一个条目。要解决此问题,还可以使用命名管道网络库连接到服务器。

验证启用的协议和别名

如果客户端计算机上的别名设置错误,可能会引起连接问题。您可以使用客户端网络实用程序查看别名。为此,请按以下步骤操作:1. 启动客户端网络实用程序。如果SQL Server 客户端工具被安装

在正在运行客户端应用程序的计算机上,请按照以下步骤启动客户

端网络实用程序:

a. 单击“开始”,然后指向“程序”。

b. 指向“Microsoft SQL Server”,然后单击“客户端网络实用程

序”。

如果SQL Server 客户端工具没有安装在客户端计算机上,请按照以下步骤启动客户端网络实用程序:

a. 单击“开始”,然后单击“运行”。

b. 在“运行”对话框中,在“打开”框中键入cliconfg,然后单击“确

定”。

2. 在“SQL Server 客户端网络实用程序”窗口中,单击“常规”标签,

然后启用您要使用的所有协议。

注意:您必须至少启用TCP/IP 协议和命名管道协议。

3. 单击“别名”标签,然后验证为SQL Server 实例所配置的别名。

4. 验证别名的属性,确认服务器名或IP 地址和协议的配置是正确

的。

通过使用服务器名、IP 地址或者其他协议,您可以创建一个新的别名以测试连接性能。

注意:在Microsoft 数据存取部件(MDAC) 的早期版本中,客户端网络实用程序的用户界面是不同的。因此,如果您没有看到本文中列出的选项,请在运行客户端应用程序的计算机上安装MDAC 的新

版本。

验证SQL Server 实例正在正确地侦听

要验证SQL Server 实例正在正确地侦听命名管道、TCP/IP 或您在客户端应用程序中使用的其他协议,请打开当前的SQL Server 错误日志文件。SQL Server 错误日志文件可能包括与以下类似的条目:

2003-11-06 09:49:36.17 server SQL server

listening on TCP, Shared Memory, Named Pipes.

2003-11-06 09:49:36.17 server SQL server

listening on 192.168.1.5:1433,

127.0.0.1:1433.

通过分析SQL Server 错误日志文件中的条目,可以验证SQL Server 实例是否正在侦听正确的IP 地址和端口。在默认情况下,一个默认的SQL Server 实例侦听端口1433。您还可以使用服务器网络实用程序来验证SQL Server 的协议设置并更改SQL Server 中的属性,包括可以连接到SQL Server 和可以使用的端口的协议。关于使用服务器网络实用程序的更多信息,请参见SQL

Server 在线参考书中的“SQL Server 网络实用程序”专题。

有时候,SQL Server 2000 可能不会绑定于端口1433 或任何其他指定的端口。如果端口正被其他应用程序使用,或者如果您正在尝试使用一个错误的IP 地址进行连接,就可能会出现此问题。因此,TCP/IP 到SQL Server 的连接可能不成功,在SQL Server 错误日志中您会收到下列错误信息:

2001-11-14 15:49:14.12 server SuperSocket Info:Bind failed on TCP port 1433.

有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

307197 PRB:TCP\IP 端口正由另一应用程序使用

如果通过TCP/IP 连接您不能连接到SQL Server 实例,请尝试使用命名管道协议或共享内存协议。在命令提示符下运行下面的命令,以获取关于正在使用的端口的信息:

NETSTAT -an

您还可以使用Portqry 命令行实用程序来获取关于正在使用的端

口的更多信息。

有关Portqry 命令行实用程序的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

310099 Portqry.exe 命令行实用程序说明

有关与TCP/IP 套接字相关的可能的错误的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

306865 BUG:当TCP/IP 是唯一的协议时,SQL Server 可能无法侦听TCP/IP 套接字

注意:对于SQL Server 命名实例,SQL Server 动态地决定端口并侦听决定的端口。因此,当您启动SQL Server 命名实例时,SQL Server 将设法侦听之前使用的端口。如果SQL Server 不能绑定到该端口,命名实例可能会动态地绑定到另一个端口。在这种情况下,请确认客户端应用程序也被设置为动态地决定端口。作为选择,您还可以为命名实例指定一个静态端口,通过客户端网络实用程序对其进行绑定和侦听。

有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

286303 INF:动态端口检测过程中SQL Server 2000 网络库的行为

823938如何在SQL Server 2000 中使用静态和动态端口分配

解决MDAC 问题

MDAC 的问题也可能会引起连接问题。例如,安装一个软件可能会覆盖一些MDAC 文件或更改权限,而您需要这些权限才能访问MDAC 文件。您可以运行MDAC 部件检查器来验证MDAC 在计算机上的安装。

有关如何确定您当前的MDAC 版本的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

301202如何检查MDAC 版本

注意:如果您正连接到SQL Server 的一个命名实例,请确认计算机上运行的是MDAC 2.6 或更新的版本。MDAC 的早期版本不识别SQL Server 的命名实例。因此,可能无法连接到命名实例。

您可以使用Odbcping.exe 实用程序来验证通过SQL Server ODBC 驱动程序的连接。

有关Odbcping.exe 的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

138541如何使用Odbcping.exe 验证到SQL Server 的ODBC 连接

有关配置ODBC DSN 的其他信息,请单击下面的文章编号,查看Microsoft 知识库中的相应文章:

289573 PRB:使用SQL Server Net-Libraries(SQL Server 网络库)配置DSN

您还可以使用一个 .udl 文件测试与SQL Server 实例的连接。

有关如何创建 .udl 文件的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

244659示例:如何在Windows 2000 中创建数据链接文件

解决防火墙问题

如果防火墙存在于客户端计算机和正在运行SQL Server 的计算机之间,请确认通过防火墙进行通信时所需的端口已打开。

有关通过防火墙进行通信时必须打开的端口的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

287932 INF:通过防火墙与SQL Server 进行通信所需的TCP 端口

269882如何使用ADO 连接到防火墙后的SQL Server

如果您使用TCP/IP 协议连接SQL Server 实例,请确认能够用Telnet 程序连接到SQL Server 正在侦听的端口。要使用Telnet 程序,在命令提示符下运行下列命令:

Telnet

如果Telnet 程序没有成功,并且您接收到错误信息,请解决此错误然后尝试再次连接。

注意:因为由Slammer 病毒引起的问题,在您的防火墙上,用户数据报协议(UDP) 端口1434 可能被阻挡。

解决身份验证和安全问题

由于身份认证失败,可能无法连接到SQL Server。如果身份认证失败,您可能收到下列错误信息之一:

Login failed for user ''

Login failed for user 'NTAUTHORITY\ANONYMOUS LOGON' Login failed for user 'null'

如果您由于身份认证失败收到了错误信息,而且错误信息中没有提到一个明确的SQL Server 登录名,请使用Windows 身份认证解决该问题。由于Windows 身份认证的问题,您可能会收到下列错误信息:

Cannot generate SSPI Context

下列问题可能会引起身份认证和安全问题:

?NTLM 身份认证或Kerberos 身份认证出现问题。

?由于连接问题,无法联系域控制器。

?域之间的信任关系出现问题。

有关可能原因的更多信息,请参见计算机上的事件日志。要解决Windows 身份认证的连接问题,您可以使用SQL Server 身份认证连接到SQL Server 实例。有关如何诊断和解决“Cannot Generate SSPI Context”错误的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

811889如何排除“Cannot generate SSPI context”错误信息

如果在使用SQL Server 身份认证时连接没有成功,您会收到下列错误信息:

Login failed for user '' .Not associated with a trusted connection

若要解决此问题,请按照以下步骤操作。

警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。

1 . 请确认SQL Server 实例配置为使用Windows 身份认证和SQL Server 身份认证。为此,请确认在正在运行SQL Server 的计算机上存在下列注册表项。对于默认的SQL Server 实例:HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServe r\MSSQLServer\LoginMode

对于SQL Server 的命名实例:

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\\MSSQLServer\LoginMode 请确认已设置下列注册表项的值:

身份认证类型值仅限于Windows 身份认证 1 混合模式(SQL Server 身份认证和Windows 身份认证) 2

注意:如果您对注册表进行了任何更改,必须关闭并重新启动SQL Server 实例使更改生效。

2 . 尝试使用其他Windows 帐户或SQL Server 登录帐户连接到SQL Server 实例。这样能够帮助确定是否是由于某个特殊的登录

帐户的问题而造成连接失败。例如,登录帐户的密码可能已被更改。

3 . 尝试使用其他协议连接到SQL Server 实例。例如,使用TCP/IP 协议进行Windows 身份认证的连接可能会失败,但是使用命名管道协议进行Windows 身份认证的连接就可能会成功。

如果您正在使用证书,当尝试连接到SQL Server 实例时,可能会收到一条安全套接字层(SSL) 安全错误信息。有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:316898如何借助Microsoft Management Console 为SQL Server 2000 启用SSL 加密

322144 FIX:SECDoClientHandShake 无法连接到SQL Server

解决TCP/IP 套接字上的压力问题

在使用SQL Server ODBC 驱动程序、Microsoft OLE DB Provider for SQL Server 或System.Data.SqlClient 管理提供程序时,可以使用恰当的应用程序编程接口(API) 来禁用连接池。在禁用连接池、并且应用程序频繁打开和关闭连接时,对基本SQL Server 网络库的压力可能会增大。有时候,Web 服务器和JDBC 驱动程序也会尝试连接到SQL Server 实例。因此,对SQL Server 连接需求的增加可能会超过SQL Server 的处理能力。这

可能会给TCP/IP 套接字带来压力,您还可能在SQL Server 错误日志文件中收到下列错误信息:

2003-08-07 20:46:21.11 server Error:17832, Severity:20, State:6

2003-08-07 20:46:21.11 server Connection opened but invalid login packet(s) sent.Connection closed.

有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

154628 INF:SQL 在遇到多个TCP\IP 连接请求时记录17832 328476禁用连接池时SQL Server 驱动程序的TCP/IP 设置

注意:如果运行SQL Server 2000 SP3 或SQL Server 2000 SP3a,则不会注意到对TCP/IP 套接字的压力,这是由于添加了对登陆数据包数量的限制。在使用第三方驱动程序连接到SQL Server 实例时,发生错误17832。要解决该问题,请与第三方供应商联系,并获取经测试证明能够用于SQL Server 2000 SP3 和SQL Server 2000 SP3a 的驱动程序。

查看SQL Server 实例是否以单用户模式启动

如果尝试连接的SQL Server 实例是以单用户模式启动的,只能建立一个到SQL Server 的连接。如果运行软件的计算机自动连接到SQL Server,该软件可以轻松地使用唯一的连接。例如,下面的软件可以自动连接到SQL Server 实例:

?SQL Server 代理程序

?第三方备份软件

?第三方监测软件

?第三方病毒软件

?Microsoft Internet 信息服务(IIS)

?SQL Server 企业管理器

尝试连接到SQL Server 实例的客户端应用程序收到下列错误信息:

SQL Server does not exist or Access Denied

当安装过程以单用户模式启动SQL Server 实例时,此错误一般发生在SQL 群集安装和服务软件包安装期间。指定的应用程序会自动连接到使用唯一可用连接的SQL Server 实例,从而安装失败。

要确定SQL Server 实例是否已经以单用户模式启动,请检查SQL Server 错误日志文件中是否具有一个与以下类似的条目:

2003-07-31 11:26:43.79 spid3 Warning

******************

2003-07-31 11:26:43.80 spid3 SQL Server started in single user mode.Updates allowed to system catalogs.

验证到SQL Server 的命名管道连接

如果您无法使用命名管道连接到SQL Server 实例,请确认SQL Server 实例配置为接受命名管道连接。有关测试命名管道的过程的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

68941 INF:测试命名管道的过程

解决在恢复过程中连接超时的问题

在每次启动一个SQL Server 实例时,SQL Server 将恢复各个数据库。在此恢复过程中,SQL Server 回滚未提交的事务。当停止SQL Server 实例时,SQL Server 还将前滚已提交的事务和没有写入硬盘的更改。当恢复过程完成时,SQL Server 将在SQL Server 错误日志文件中写入下列信息:

Recovery Complete

在恢复过程中,SQL Server 可能不会接受连接。在此时间内尝试连接到SQL Server 的客户端可能会收到一条与以下类似的错误信息:

Timeout Expired

SQL Server 代理服务可能无法启动,这是因为它要等待SQL Server 恢复数据库。因此,当您在SQL Server 错误日志文件中收到下面的信息时,连接不再会因为超时错误而失败:

Recovery Complete

如果恢复过程花费的时间很长,您也许还要排除恢复过程的故障。

测试连接到SQL Server 实例的不同方法

当您连接到SQL Server 实例时,如果遇到了连接问题,可以使用下面的一种或多种方法来解决连接问题。

?使用SQL Server 身份认证和Windows 身份认证测试到SQL Server 实例的连接。

?从其他数据源(例如ODBC DSN、.udl 文件、SQL 查询分析器、SQL Server 企业管理器,isql 实用程序或osql 实用程序)测试到SQL Server 实例的连接。

?使用其他协议测试到SQL Server 实例的连接。您可以为使用该协议的SQL Server 实例创建一个新的别名,从而指定不同的协

议。还可以通过在SQL Server 实例名称的开始处添加tcp:、np:、lpc:、或rpc: 来指定您的连接字符串中的协议。例如,如果TCP/IP 连接失败,则命名管道连接成功。

?使用其他登录帐户测试连接,这样可以帮助您确定该问题是否与某个特定的登录帐户有关。

?在%systemroot%\system32\drivers\etc\hosts 文件中添加一个与正在运行SQL Server 实例的计算机的IP 地址相应的条目。

?尝试从运行SQL Server 的计算机和客户端连接到SQL Server 实例。

?如果您正从运行SQL Server 的计算机进行连接,可以指定“.”或“(本地)”(不带引号)取代服务器名称,然后连接。

?尝试使用IP 地址而不是服务器名称连接到SQL Server 实例。?尝试指定SQL Server 实例正在侦听的特定端口。有两种方法:创建一个别名或将一个端口号添加到连接字符串(例如MyServer\MyInstance,1433)。

捕捉网络监视器踪迹

如果使用“测试连接到SQL Server 2000 实例的各种方法”小节中提到的步骤无法解决连接问题,请使用网络监视器实用程序捕捉网络踪迹。有关网络追踪的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

148942如何使用网络监视器捕获网络通讯量

294818关于网络监视器的常见问题

169292解读TCP/IP 跟踪数据的基础知识

102908如何在Windows 2000 或Windows NT 中排除TCP/IP 连接问题

要获得更多详细信息,需要使用SQL 事件探查器踪迹。对于运行SQL Server 进行网络追踪的非聚集计算机,还可以使用网络诊断工具。有关如何使用网络诊断工具的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

321708如何在Windows 2000 中使用网络诊断工具(Netdiag.exe)

回到顶端

参考

有关与SQL Server 相关的各种连接问题的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:

812817支持Web 广播:Microsoft SQL Server 2000:连接故障排除

MS SQL Server 2000数据库安装手册

MS SQL Server 2000数据库安装手册 本系统需要微软SQL Server数据库的支持,因此,运行本系统之前首先段安装微软SQLServer数据库,本手册以SQL Server 2000为例说明安装注意事项。 注:一般情况下本公司不提供Microsoft SQL Server的安装程序,请用户自行购买!1.1 Microsoft SQLServer2000各版本的运行环境 Microsoft SQL Server 2000有企业版、标准版、个人版等版本,与之相匹配的操作系统 操作系统企业版标准版个人版开发版MSDE 评估版Windows 2000 DataCenter 支持支持支持支持支持支持 Windows 2000 Advanced Server 支持支持支持支持支持支持 Windows 2000 Server 支持支持支持支持支持支持 Windows 2000 Professional 支持支持支持支持 Windows 98、WindowsMe 支持支持 1.2 安装Microsoft SQL Server2000 Microsoft SQL Server2000各版本安装步骤基本相同(MSDE 版除外,在1.3说明),下面我们就以微软SQLServer2000个人版为例进行介绍: 将Microsoft SQL Server 2000安装光盘放入光驱后,安装程序将自动运行;也可手动双击执行光盘根目录下的autorun.exe。安装界面中共有5个选项,单击【安装SQL Server 2000组件(C)】选项,如下图; 在接着出现的安装界面中选择【安装数据库服务器(S)】选项;

SQL SERVER2000数据备份与恢复

SQL Server2000数据备份与恢复 Author looger 1.数据库备份 1.1展开服务器组,然后展开服务器。展开“数据库”文件夹,右击数据库,指向“所 有所有”子菜单,然后单击“备份数据库”命令。 1.2在“名称”框内输入备份集名称,在“描述”框中输入对备份集的描述。在“备 份”选项中选择备份方式。

1.3点击“添加”按钮以添加现有的目的地或创建新的目的地,点击按钮可以选择一个备份文件

1.4点击按钮后,在下面出现的窗口中选择一个文件作为备份文件,可以在“文件名” 后面的文本框中输入一个新的文件名以创建一个备份文件。 1.5此时刚才选择的文件被加入到备份文件中。如果要添加其他的文件,则可以点击“添 加”按钮添加其他的文件。在"重写"选项下,单击“追加到媒体”,将备份追加到备份设备上任何现有的备份中;点击“重写现有媒体”,将重写备份设备中任何现有的备份

1.6可以选择“调度”复选框调度备份操作在以后执行或定期执行。点击“调度”后 面的按钮可以对调度进行设置 1.7在点击按钮后,可以在下面的对话框中设置调度的名称和调度的类型。如果需要调 度反复出现,则可以点击“更改”按钮

1.8点击“更改”按钮后,可以在下面的窗口中设置作业发生的时机 1.9单击“选项”选项卡。选择“完成后验证备份”复选框,在备份时对备份进行验 证。选择“检查媒体集名称和备份集到期时间”,检查备份媒体以防意外重写。在“媒体集名称”框中,输入将用于备份操作的媒体的名称。如果仅指备份集到期时间,则将其保留为空

2.数据库的恢复 2.1展开服务组,然后展开服务器。展开“数据库”文件夹,右击数据库, 指向“所有任务”子菜单,然后单击“还原数据库”命令 2.2在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称还原数据库,请输入新的数据库名称

在SQL_Server_2000里设置和使用数据库复制订阅

在SQL Server 2000里设置和使用数据库复制订阅 在SQL Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面几点是否满足: 1、MSSQLserver和Sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也 是可以的) 如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误: 进程未能连接到Distributor '@Server name' (如果您的服务器已经用了SQL Server全文检索服务, 请不要修改MSSQLserver和Sqlserveragent 服务的local启动。 会照成全文检索服务不能用。请换另外一台机器来做SQL Server 2000里复制中的分发服务器。) 修改服务启动的登录用户,需要重新启动MSSQLserver和Sqlserveragent服务才能生效。 2、检查相关的几台SQL Server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource 一样) 在查询分析器里执行: use master select srvid,srvname,datasource from sysservers 如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方

法修改: USE master GO -- 设置两个变量 DECLARE @serverproperty_servername varchar(100), @servername varchar(100) -- 取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息 SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName')) -- 返回运行 Microsoft SQL Server 的本地服务器名称 SELECT @servername = CONVERT(varchar(100), @@SERVERNAME) -- 显示获取的这两个参数 select @serverproperty_servername,@servername --如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的 --删除错误的服务器名 EXEC sp_dropserver @server=@servername --添加正确的服务器名 EXEC sp_addserver @server=@serverproperty_servername, @local='local' 修改这项参数,需要重新启动MSSQLserver和Sqlserveragent服务才能生效。 这样一来就不会在创建复制的过程中出现18482、18483错误了。 3、检查SQL Server企业管理器里面相关的几台SQL Server注册名是否和上面第二点里介绍的srvname 一样 不能用IP地址的注册名。 (我们可以删掉IP地址的注册,新建以SQL Server管理员级别的用户注册的服务器名)

sqlserver2000数据库置疑的4种解决方法

sqlserver2000 数据库置疑的4种解决方法 方法一: 1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data子目录. 注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件,一个(也有可能非此命名),同时查看磁盘空间是否有足够的空间; 2.启用SQL Server的服务。打开查询分析器(Query Analyzer)的工具,以用户sa登录; 3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5), use master go sp_resetstatus dbname go 4.运行完毕后退出此工具,停止SQL Server的服务. 5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,删除置疑数据库的日志文件(也有可能非此命名). 6.启动SQL Server的服务. 7.打开企业管理器(Enterprise Manager)的工具,查看数据库(database)节点下的dbname是否恢复。 注:请将 dbname 换成你的数据库名称. 方法二 1.查看磁盘空间,保证存放数据库的磁盘有足够的剩余空间; 2.打开SQL Server的查询分析器(Query Analyzer),以用户 sa 登录; 3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),运行完毕后退出此工具. use master go sp_resetstatus dbname go 4.停止SQL Server 的服务,再重新启动SQL Server 服务. 5.打开SQL Server 的查询分析器(Query Analyzer),以用户 sa 登录。输入如下指令后点工具栏上的绿色箭头运行,运行完毕后退出此工具: use master go DBCC DBRECOVER (dbname) go 6.打开 SQL Server 的企业管理器(Enterprise Manager),查看 database下的dbname是否恢复。 注:请将 dbname 替换为你的数据库名称. 方法三 如上述两种方法都不能恢复,或出现故障后在SQL Server的企业管理器中的数据库节点下看不到你的数据库,表示你的数据库出现较大的错误或故障,请按下述步骤操作尝试恢复. 1.停止SQL Server 服务. 2.备份数据库文件 在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,把数据文件和日志文件备份起来. 3.启动SQL Server服务,打开企业管理器,删除数据库,通常\data子目录下的数据文件和日志文件都会被删除,把备份好的数据文件和日志文件再复制一份到\data子目录下.

SQL Server 2000数据库的安装及启动

SQL Server 2000数据库的安装及启动 《L102T SQL版》需要微软SQL Server数据库的支持,因此,首先应安装微软SQLServer 数据库,本手册以SQL Server 2000为例说明安装注意事项。 注:本公司不提供Microsoft SQL Server的安装程序,请用户自行购买! 1.1 Microsoft SQLServer2000各版本的运行环境 Microsoft SQL Server 2000有企业版、标准版、个人版等版本,与之相匹配的操作系统 1.2 安装Microsoft SQL Server2000 Microsoft SQL Server2000各版本安装步骤基本相同,下面我们就以微软SQLServer2000企业版为例进行介绍: 将Microsoft SQL Server 2000安装光盘放入光驱后,安装程序将自动运行;也可手动双击执行光盘根目录下的autorun.exe。安装界面中共有5个选项,单击【安装SQL Server 2000组件(C)】选项,如下图; 在接着出现的安装界面中选择【安装数据库服务器(S)】选项;

接着出现“欢迎”界面,如下图: “欢迎”界面 在“欢迎”中单击【下一步】;在“计算机名”界面中,选择“本地计算机”,单击【下一步】,如下图:

在“安装选择”对话框中有三个选项。在第一次安装SQL Server(包括MSDE)的时候,选项“对现有SQL Server实例进行升级…”不可选,即变为灰色。通常情况下,应当选择“创建新的SQL Server实例…”,然后单击【下一步】; “安装选择”界面 在“用户信息”对话框中输入相关信息,单击【下一步】;在“软件许可证协议”对话框中单击“是”;在“安装类型”中选择“服务器和客户端工具”,然后单击【下一步】;

SQLSERVER2000使用手册范本

Microsoft SQL SERVER 2000使用手册 在网络环境下进行数据库系统的应用开发,需要选择具体的DBMS。本章首先介绍当前流行的关系数据库系统Microsoft SQL Server的基本知识,接着以Microsoft SQL Server 2000为背景,介绍数据库系统设计的方法和SQL Server的高级应用技术。 1 SQL Server简介 Microsoft SQL Server是高性能、客户/服务器的关系型数据库管理系统RDBMS,能够支持大吞吐量的事务处理,也能在Microsoft Windows 2000 Server网络环境下管理数据的存取以及开发决策支持应用程序。由于Micriosoft SQL Server是开放式的系统,其他系统可以与它进行完好的交互操作。 1.1 SQL Server 2000的特点 (1)对操作系统的要求低 SQL Server 2000除了继续支持Windows 2000 Server外,还新增了SQL Server 2000桌面版(Desktop Edition),此版本可以安装在Windows 95/98/2000专业版上,用来建立数据库,这使得SQL Server 2000变得非常通用,可以在任何大小的计算机上运行,包括膝上机、台式机和高档服务器。 (2)管理自动化 许多关键性的工作、数据库调整和最佳化处理等都由系统自动完成,减少了人为手工调整。例如,系统会动态调整存需求,自动缩减库和增加数据库所占文件的空间大小,自动更新统计数据等等。 (3)新的Enterprise Manager 它以MMC(Microsoft Management Console)为基础加以设计,其界面和其他微软服务器产品一致,看上去很像Windows的资源管理器。 (4)简化了SQL Server 2000数据库与Windows文件系统之间的关系,具有更好的可伸缩性在SQL Server 2000中,数据库驻留在操作系统文件上,而不再位于SQL Server的逻辑设备中,取消了以前必须先建立设备(Device),再在设备上建立数据库的观念,现在仅使用CREATE DATABASE 语句即可创建数据库及其所有文件,从而简化了数据库设计和管理的工作。SQL Server 2000允许数据库自动扩展,不再需要管理员发出额外的ALTER语句命令。 (6)提供数据库挖掘功能 在SQL Server 2000中加入的OLAP(On-Line Analytical Processing)服务,可以帮助公司建立决策分析的应用。 1.2 SQL Server 2000环境介绍 1)系统目录用途介绍 若使用默认值,安装程序会把大部分SQL Server 2000系统文件存放在启动盘的MSSQL目录下,并且在此目录下将创建多个子目录,用于存放不同的目的文件,列举如下: \BACKUP 存放备份文件 \Binn 存放客户端和服务器端可执行文件与DLL文件 \Data 存放数据库文件,包括系统数据库、实例数据库和用户数据库 \FTDATA 存放全文索引目录文件 \Install 存放有关安装方面的信息文件 \JOBS 存放工作文件

SQL Server 2000数据库备份方案

SQL Server 2000数据库备份方案 sql server数据库备份方案 2008-08-05 13:15 SQL Server 数据库备份方案 为了保证SQL Server 数据的安全,数据库管理员应定期备份数据库,在不同情况下应采用不同备份数据库备份策略,一方面维持数据的安全性,另一方面也可保持SQL Server 能顺畅运行。尽最大的努力减少由于数据的损坏对客户造成的损失。 概念 1) 备份工作规划 计算机软硬件的稳定性还未达到非常稳定的状态,计算机中的数据仍有损失或毁坏的情况发生。存在于计算机内的数据不安全,即使采用容错设备,也无法保证数据库100%安全。计算机硬件的费用可能很高,但计算机数据更珍贵,做好数据备份,可保证在各种意外发生情况时,仍能保持有数据库的完整性。管理员必须花时间来备份数据库,但SQL SERVER也提供不少自动化功能。 2)备份方式 数据库——完全 就是备份整个数据库的内容。若将整个数据库的内容都备份下来,需很多的存储空间来存放备份数据,但其好处是在还原数据库时,也只要将整个数据库从一份数据库备份还原到SQL SERVER 中就可以了。它是其他备份的基础,在做其他备份之前,必须得做此种方式的备份。 数据库——差异(Differential) 只备份从上一次执行“完全”数据库备份后有改动的数据,因此所需要的备份时间和备份空间都比“完全”方式少,所以此方式最适合作为经常性的备份方式。 事务日志(Transaction Log) 只备份事务记录文件的内容,由于事务日志文件只会记录我们在前一次数据库备份或事务日志记录备份之后,对数据库所做的变动过程,也就是只记录某一段时间的数据库变动情况,因此在做事务记录备份之前,必须做一次“完全”的数据库备份 文件和文件组: 如果数据库的内容分散存储于多个文件或文件组,而且数据库已非常大,大到进行一次完整的数据库备份会有时间和存储空间上的问题。这时就可以使用此方式来备份数据库的部分文件或文件组。由于每次只备份部分的文件或文件组,因此需做数次不同的备份才能完成整个数据库的备份。才用此方式备份也有个好处,就是当毁坏的数据只是数据库中的某个文件或文件组时,也只要还原坏的文件或文件组备份就可以了。 3)备份方案制订原则 规划数据库的备份策略,需要考虑备份的各项变量,必须同时考虑到还原作业的进行。在做备份时,可考虑以下几点。 (1) 有多少时间以及在那些时段可进行备份 (2) 数据库变动的频率如何 (3) 数据库大小 (4) 当数据库出问题时,用户愿意等待多久让数据库还原完毕 (5) 应采用何种备份方式,做怎样的搭配 (6) 要使用哪种存储介质

sql2000数据库客户端和服务器端

在xp系统下sql2000数据库客户端和服务器端连接不上提示:连接错误服务器端可以正常使用,客户端无法与服务器端连接。网络是通的,防火墙也已经关闭,两台电脑在同一子网内。怎么解决? 控制面板、管理工具、数据源(ODBC)、添加、选最下面的SQL Server,名称随便,服务器选你的SQL服务器,下一步,客户端配置,Named Pipes (命名管道)该为TCP/IP,确定,确定。 认证方式也可以使用SQL验证,也就是不用administrator,用sa的口令验证。 可能原因四点: 一."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 myserver 2.或在SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明. ====接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等============= 点击:程序-- Microsoft SQL Server -- 服务器网络使用工具 打开该工具后,在"常规"中可以看到服务器启用了哪些协议. 一般而言,我们启用命名管道以及TCP/IP 协议. 点中TCP/IP 协议,选择"属性",我们可以来检查SQL Server 服务默认端口的设置

SQL-server 2000数据库管理系统B

SQL-server 2000数据库管理系统 试卷( B 卷) 年 月考试 级 专业 一、选择题(共20分,每题1分) 1、SQL Server 的字符型系统数据类型主要包括( )。 A 、Int 、money 、char B 、char 、varchar 、text C 、datetime 、binary 、int D 、char 、varchar 、int 2、在Transact-SQL 语法中,用来插入数据的命令是( ),用于更新的命令是( )。 A 、INSERT,UPDATE B 、UPDATE,INSERT C 、DELETE,UPDATE D 、CREATE,INSERT INTO 3、下列哪一个数据库不是SQL Server 2000的系统数据库( )。 A 、master 数据库 B 、msdb 数据库 C 、students 数据库 D 、model 数据库 4、下面的符号中,哪个不属于字符串的通配符( )。 A 、% B 、_ C 、[ ] D 、& 5、在SQL-server 2000中,下列字段中哪个不能用于数据库的操作语句( )。 A 、CREATE B 、DROP C 、SET D 、ALTER 6、在Transact-SQL 中,用来做单行文本注释的符号是( )。 A 、-- B 、/*…*/ C 、/**…*/ D 、//-- 7、表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的( )约束。 A 、主键 B 、外键 C 、NULL D 、CHECK 8、( )定义了表之间的关系。 A 、主键约束 B 、外键约束 C 、检查约束 D 、NOT NULL 约束 9、每个表允许存在( )个主键约束。 A 、1 B 、2 C 、3 D 、4 10、SQL-server 2000数据库日志文件的扩展名为( )。 A 、.mdf B 、.ldf C 、.ndf D 、.mdb 11、整数数据类型Smallint 的存储大小为( )。 A 、1 B B 、2B C 、3B D 、4B 12、Smallmoney 型数据的存储大小为( )。 A 、1 B B 、2B C 、3B D 、4B 13、SQL-server 2000数据库中每一行最多允许有( )个字节。 A 、1024 B 、2048 C 、8086 D 、4086 14、创建数据表的Transact-SQL 命令是( )。 A 、Create database B 、create table C 、alter table D 、alter database 15、( )是SQL-server 提供的自动保持数据完整性的一种方法。 A 、字段 B 、记录 C 、约束 D 、表 16、惟一性约束是指定一个或多个列的组合值具有惟一性、其中惟一性约束最多由 ( )个列组成。 A 、4 B 、8 C 、16 D 、32 17、下列关于主关键字叙述正确的是( ) A 、一个表可以没有主关键字 B 、只能将一个字段定义为主关键字 C 、如果一个表只有一个记录,则主关键字段可以为空值 D 、都正确 18、PRINT SUBSTRING(‘abcdefgh ’,2,3)函数的输出结果为( ) A 、abc B 、cde C 、bcd D 、efg 19、在SQL Server2000中.( )为用户建立数据库提供模板。 A 、master B 、model C 、tempdb D 、msdb 20、SQLServer2000标准版不支持的操作系统是( )。 A 、Windows 2000 Server B 、Windows NT Server C 、Windows98 D 、Windows 2000 Advanced Server 得分 评卷人 二、填空题(共20分,每空1分) 1、SQL Server 主要通过_________和_____________这两种工具来完成数据库的管理工作。 2、在SQL Server2000中,为局部变量赋值的语句是__________和_________。 3、表的关联种类可分为___________、____________和_______________的关联。 4、SQL-server 2000提供了_________________、_________________、UNIQUE 约束、____________和__________________。 5、数据库管理系统的基本功能包括______________、_____________、_____________和_____________。 题号 一 二 三 四 五 总分 评分人 得分 考场 姓名 受理号 班级 装 订 线

SQL SERVER2000数据库质疑的解决方法

SQL SERVER2000数据库质疑的解决方法 先分离数据库 企业管理器--右键suspect的数据库--所有任务--分离数据库 然后备份你的suspect数据库的文件,再按下面的步骤处理: 1.新建一个同名的数据库 2.再停掉sql server 3.用suspect数据库的文件覆盖掉这个新建的同名数据库 4.再重启sql server 5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222' Go sp_dboption 'test', 'single user', 'true' Go DBCC CHECKDB('test') Go update sysdatabases set status =28 where name='test' Go sp_configure 'allow updates', 0 reconfigure with override Go sp_dboption 'test', 'single user', 'false'

Go 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. 如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧 企业管理器--右键你的数据库--所有任务--导出数据 --目标标数据库选择新建 --选择"在两个sql数据库之间复制对象和数据" --把"包含扩展属性"选上,其他的根据需要选择 --最后完成 如果SQL Server 因为磁盘可用空间不足,而不能完成数据库的恢复,那么SQL Server 2000 会返回错误1105 并且将sysdatabases中的status列设为置疑。 你可以看到在SQLSERVER 的ERROR LOG 和OS的应用程序日志中应该有1105的错误信息: SQL Server事务日志可能会被填满,这会阻止之后的数据库操作,包括UPDATE,DELETE,INSERT 和CHECKPOINT。 事务日志填满会导致1105错误: Can't allocate space for object syslogs in database dbname because the logsegment is full。If you ran out of space in syslogs,dump the transaction log。Otherwise use ALTER DATABASE or sp_extendsegment to increase the size of the segment。 这种现象可能出现于任何一个数据库中,包括Master和TempDB。一些难以预见的因素可能消耗日志空间。例如: 一个大型事务,尤其像批量数据更新、插入或删除。 一个未提交的事务。 检查点处理程序截除时所需的带宽过大。 截除时超过阈值 上述各种条件互相作用的结果。 用于发布的标记事务没有被日志读取程序读走 下面是修复的步骤和收缩日志的步骤: 1.在命令提示符下运行以下命令启动SQL Server:

SQLserver2000数据库修复办法总结

SQLserver2000数据库修复办法总结 Praymid 戴华倪 总结步骤如下: 1、检测数据库, 使用命令(Dbcc checkdb) 拿到数据库后附加到本地SQLserver使其运行,打开企业管理器,查看它。同时打开查询分析器,在里面输入 Dbcc checkdb 检测数据库命令然后回车 即可以看到数据库的分析资料看到问题, 评注:拿到问题先不要盲目的卸载SQLServer,本次因为新手,上手后就把数据库卸载,这样就耗费了一天的时间,过没有任何作用,测试服务器的完整性可以拿一个好的数据库做对比,自己可以建一个“test”,如果测试数据库运行正常,则不需要对服务器做任何改动。千万不要改动系统,麻烦会更大。 提示:错误会以红色显示。 2、简单修复:命令:dbcc checkdb 输入以下两句尝试修复。 DBCC CHECKDB('AIS20110120172605',repair_allow_data_loss) DBCC CHECKDB('AIS20110120172605',repair_rebuild) 不管他究竟哪里错了,先用这两句试试一般的索引系统文件丢失,SQLserver 都可以解决这个问题,基本就差不多了。但是对于主键索引损坏,这个命令基本修不好,所以对一个满身是伤的数据库,他可以修复70%。 注:修复时系统提示必须要在单用户模式下才可以生效,用户可以去企业管理器,对要修理的数据库:右击属性—选项—限制访问—单用户。也可以使用以下语句实现: ALTER DATABASE AIS20110420091143 SET single_USER GO 改为单用户 ALTER DATABASE AIS20110420091143 SET MULTI_USER GO 改为多用户。 继续使用dbcc checkdb检测,如果继续报错。

SQL Server 2000数据库优化方案参考

SQL Server 2000数据库优化方案参考 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程 序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数 据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询: 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量 (尺寸)越大,提高I/O越重要. 2、纵向、横向分割表,减少表的尺寸(sp_spaceuse) 3、升级硬件 4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该

尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段 5、提高网速; 6、扩大服务器的内存,Windows 2000和SQL server 2000能支持4-8G的内存。配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。运行Microsoft SQL Server? 2000 时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍。如果另外安装了全文检索功能,并打算运行Microsoft 搜索服务以便执行全文索引和查询,可考虑:将虚拟内存大小配置为至少是计算机中安装的物理内存的3 倍。将SQL Server max server memory 服务器配置选项配置为物理内存的1.5 倍(虚拟内存大小设置的一半)。 7、增加服务器CPU个数;但是必须明白并行处理串行处理更需要资源例如内存。使用并行还是串行程是MsSQL自动评估选择的。单个任务分解成多个任务,就可以在处理器上运行。例如耽搁查询的排序、连接、扫描和GROUP BY字句同时执行,SQL SERVER根据系统的负载情况决定最优的并行等级,复杂的需要消耗大量的CPU的查询最适合并行处理。但是更新操作Update,Insert,Delete 还不能并行处理。 8、如果是使用like进行查询的话,简单的使用index是不行的,但是全文索引,耗空间。like 'a%' 使用索引like '%a' 不使用索引用like '%a%' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。

精品版SQL Server 2000 数据库同步配置

精品版SQL Server 2000 数据库同步配置 SQL SERVER复制技术类型,三种复制技术,分别是(详细的说明参考SQL联机帮助): 1、快照复制 2、事务复制 3、合并复制 下介绍实现复制的步骤。(以快照复制为例) 准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 --控制面板 --管理工具 --计算机管理 --用户和组 --右键用户 --新建用户 --建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑--D:\ 新建一个目录,名为: PUB --右键这个新建的目录 --属性--共享 --选择"共享该文件夹" --通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限 --确定 3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置) 开始--程序--管理工具--服务

--右键SQLSERVERAGENT --属性--登陆--选择"此账户" --输入或者选择第一步中创建的windows登录用户名 --"密码"中输入该用户的密码 4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置) 企业管理器 --右键SQL实例--属性 --安全性--身份验证 --选择"SQL Server 和Windows" --确定 5.在发布服务器和订阅服务器上互相注册 企业管理器 --右键SQL Server组 --新建SQL Server注册... --下一步--可用的服务器中,输入你要注册的远程服务器名--添加 --下一步--连接使用,选择第二个"SQL Server身份验证" --下一步--输入用户名和密码(一般是sa,密码最好设置一下非常复杂的) --下一步--选择SQL Server组,也可以创建一个新组 --下一步--完成 6.对于只能用IP,不能用计算机名的,为其注册服务器别名 (在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP) 开始--程序--Microsoft SQL Server--客户端网络实用工具 --别名--添加 --网络库选择"tcp/ip"--服务器别名输入SQL服务器名 --连接参数--服务器名称中输入SQL服务器ip地址 --如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号 ===================================================================== =========

SQL_Server2000示例数据库Pubs的分析

SQL_Server2000示例数据库Pubs的分析(转) (2010-03-03 22:58:47) 转载 SQL_Server2000示例数据库Pubs的分析 pubs 示例数据库以一个图书出版公司为模型。 作者:佚名 表名:authors (作者信息表) 表结构:

主键:au_id 主键约束名称:UPKCL_auidind 关系说明:该表主要用来保存作者信息的数据。 1 au_id CHECK 约束定义为(au_id LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]')。 2 zip CHECK 约束定义为(zip LIKE '[0-9][0-9][0-9][0-9][0-9]')。 3 组合非聚集索引定义在au_lname和au_fname上。 表名:discounts(折扣表) 表结构: 外键: 1.列stor_id引用表stores(stor_id) 外键约束名称: FK__discounts__stor___0F975522 关系说明:该表主要用来保存折扣信息的数据。

表名:employee(员工表) 表结构 主键:emp_id 主键约束名称:PK_emp_id 关系说明:该表主要用来存储员工的详细信息。 外键: 1.列job_id引用表jobs(job_id) 2.列pub_id引用表publishers (pub_id) 外键约束名称: FK__employee__job_id__1BFD2C07和FK__employee__pub_id__1ED998B2

表名:jobs(工作类别表) 表结构: 主键:job_id 主键约束名称:PK__jobs__117F9D94 关系说明:该表主要用来存储工作类别详细信息的数据表。 1 DEFAULT 约束定义为("New Position - title not formalized yet")。 2 min_lvl CHECK 约束定义为(min_lvl >= 10)。 3 max_lvl CHECK 约束定义为(max_lvl <= 250)。 表名:pub_info (出版商详细信息表) 表结构:

SQL Server 2000数据库复制实战操作

(接SQL Server 2000数据库复制实战(一)) 4必需的存储过程 在数据库复制中,发布服务器与分发服务器需要具有一定安全威胁的存储过程,如果因安全原因将为些存储过程删除了,则要进行恢复,恢复的代码如下: sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll' go sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll' go sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll' go sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 5相关服务器的注册 在发布服务器与分发服务器的SQL Server企业管理器里注册相关服务器,服务器名称不能使用IP地址、local等,必须使用第2点中使用的@servername 名称。注册的方法如下: 如果本机使用的是local注册名,则删除重新注册。启动SQL Server客户端网络实用工具:

网络库为:TCP/IP,服务器名称为服务器的实际IP地址,服务器别名为第2步中的@servername名称。将所有相关服务器按以上方法追加。 在发布服务器的SQL Server企业管理器里将相关服务器都注册上,如下图所示: 说明: 服务器XSBNOTE是作为发布服务器、分发服务器,其中数据库CopyTest用于复制。 服务器SX-VEOAI73LUMAW是作为订阅服务器。即要将数据库服务器XSBNOTE的数据库CopyTest复制到数据库SX-VEOAI73LUMAW中。 如果采用请求订阅,则在订阅服务器上要执行以上操作,将分发服务器进行注册。 以下的所有操作均是遵从以上说明。

SQL 2000数据库怎么实现远程连接

SQL 2000数据库怎么实现远程连接 SQL Server 2000无论是个人版、企业版还是标准版,只要细版本在8.00.1760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有TCP/IP设置和数据库连接属性也设置了RPC远程连接,仍然不能实现远程连接。该怎么解决呢? 解决方案如下: 首先,需要打SP4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、ODBC可连接远程服务器。 要点: 1.确认服务器端SQL服务端口号是否为:1433 2.如果不是1433,配置客户端 3.建立服务器端登录帐号,确保角色及管理数据库 一、查看服务器端情况 1. 看ping 服务器IP能否ping通。 这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。 2. 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。 如果这一步有问题,应该检查以下选项。 1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。 2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。 3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。 事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响

相关文档
相关文档 最新文档