SQLServer2000常见系统错误要点

  • 格式:doc
  • 大小:458.50 KB
  • 文档页数:38

1 SQLServer2000常见系统错误

第一章 启动与配置

1、剖析事件查看器,将应用程序中的所有事件清除,

序号 内 容 说 明

1 17052: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)

May 3 2005 23:18:38

Copyright (c) 1988-2003 Microsoft Corporation

Developer Edition on Windows NT 5.1 (Build 2600: Service

Pack 2) SQL Server的版本信息,安装环境的操作系统版本。

2 17104: 服务器进程 ID 是 2828。 分配的服务器进程ID

3 此 SQL Server 实例最近于 2007-9-1 10:38:00 (本地) 2007-9-1

2:38:00 (UTC)报告使用的进程 ID 是 3360。 SQL Server2000实例上一次运行使用的进程ID

4 17162: SQL Server 正在以优先级“high”(已检测到 1 CPU)启动。 SQL Server安装在1个CPU的服务器上,以高优先级开始启动。

5 17124: 已为 thread 模式处理而配置了 SQL Server。 SQL Server2000的CPU配置为线程模式。

6 17125: 使用 dynamic 锁分配。[2500] 锁块,[5000] 锁所有者块。 为SQL Server2000分配的锁信息。

7 17834: 正在使用“SSNETLIB.DLL”版本“8.0.2039”。 启用默认的由SSNETLIB.DLL文件封装的网络库超级套接字,封闭了TCP/IP协议和Nwlink IPX/SPX两种通信协议。

8 19013: SQL Server 正在监听 192.168.1.8: 1433。

19013: SQL Server 正在监听 219.140.27.21: 1433。

19013: SQL Server 正在监听 127.0.0.1: 1433。 可以使用本地TCP/IP连接

9 SuperSocket 信息: (SpnRegister) : Error 1355。 提示无法注册超级套接字网络库的提示信息,这和使用的协议有关。

10 19013: SQL Server 正在监听 TCP, Shared Memory, Named Pipes。

SQL Server实例配置了TCP/IP、共享内存和命名管道3种协议。

11 17126: SQL Server 已准备好进行客户端连接 可以接受客户机的请求

12 17052: 恢复完成。 正常完成启动过程。

2、SQL Server服务器——错误日志

错误日志是SQL Server2000服务器中记录服务器级信息的文件。当SQL Server启动、关闭和发生系统级错误时,SQL Server会自动记录有关信息。

查看错误日志:C:\Program Files\Microsoft SQL Server\MSSQL\LOG 2

总结SQL Server启动的过程

SQL Server数据库系统数据故障 操作系统为实例分配进程ID

OS为实例分配CPU和优先级

OS为实例分配CPU使用模式

操作系统为实例分配内存

启动系统数据库master

启动网络库 启动系统数据库Model

如果非正常关闭数据库,则恢复

启动系统msdb及用户数据库

按照配置的网络协议进行监听

清除系统数据库tempdb后重启

成功启动 3 数据库 信息 结论

Master 17052: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)

May 3 2005 23:18:38

Copyright (c) 1988-2003 Microsoft Corporation

Developer Edition on Windows NT 5.1 (Build 2600:

Service Pack 2);

17104: 服务器进程 ID 是 284;

此 SQL Server 实例最近于 2007-9-1 16:43:19 (本地)

2007-9-1 8:43:19 (UTC)报告使用的进程 ID 是 3752;

17113: initconfig: 打开“C:\Program Files\Microsoft SQL

Server\MSSQL\data\master.mdf”以获取配置信息时出错 2(系统找不到指定的文件。); SQL Server实例的启动过程将停留在仅仅由操作系统分配进程ID阶段。

Model ……17126: SQL Server 已准备好进行客户端连接 如果master数据库正常,而model数据库不存在或有故障,SQL

Server实例的启动过程将完成CPU、内存和网络库的初始化,但model数据库的故障仍将导致客户机无法正常连接。

tempdb 成功启动SQL Server实例。 如果master正常,model正常,不论有没有tempdb,SQL Server实例都将重建tempdb。

msdb C:\Program Files\Microsoft SQL Server\MSSQL\LOG\

SQLAGENT.1

文本内容:

2007-09-01 16:59:30 - ? [393] 正在等待 SQL Server 恢复数据库...

2007-09-01 16:59:38 - ? [131] 由于来自用户、进程或操作系统的停止请求,SQLSERVERAGENT 服务停止...

2007-09-01 16:59:39 - ? [098] SQLServerAgent 已终止

(正常) Msdb数据库存在与否仅影响SQL Server Agent服务,和SQL

Server服务没有什么关系。

Master系统数据库对于SQL Server实例至关重要,是管理实例和所有数据库的数据库;

Model系统数据库是系统创建所有数据库的模板。当发出create database语句时,新数据库的第一部分通过复制model数据库中的内容创建,剩余部分由空页填充。由于SQL Server每次启动时都要创建tempdb数据库,model数据库必须一直存在于SQL Server系统中。

Tempdb 数据库存在与否不影响实例的正常启动。

Msdb 数据库。影响SQL Server Agent服务正常启动。

windows操作系统将为SQL Server服务器上的每个服务分配一个进程ID。

SQL Server服务的启动信息记录在ERRORLOG文件中。SQL Server Agent服务的启动信息记录在SQLAGENT文件中。

重建master数据库

1、在重建master数据库之前,需要准备好SQL Server2000的安装光盘。

2、重建主控实用工具:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn\ rebuildm.exe 4 单用户模式启动

1、单用户模式就是同一时刻仅允许一个DBA用户对SQL Server实例进行操作,如果要恢复已经损坏的master数据库,则必须要启动SQL Server实例的单用户模式。

2、什么情况下切换到单用户模式

常见的情况包括:

更改服务器的配置参数;

重建已经损坏的master数据库;

修复其他系统数据库;

3、如何启动

C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录下有管理SQL Server实例服务的命令文件sqlservr,带参数-c –m就表示以单用户模式启动默认实例。

配置SQL Server网络

SQLServer2000基于网络提供服务。

1、IPC

IPC:即进程间通信机制。SQL Server2000采用了客户机-服务器的体系结构,即使在物理上的同一台计算机上安装的SQL Server2000,也好像是逻辑上的两台计算机。

客户机上启用的客户机进程,服务器上启用的是服务器进程。

2、IPC的组成

一个IPC包括以下的两个组成部分。

通信协议:通信协议定义了利用IPC通信的两个进程之间传递的数据分组格式。

API:应用编程接口,是一组定义好的函数,应用程序通过这些函数来使用IPC机制,发出命令并反馈结果。

3、Net-Library

Net-Library,网络库。网络库是以动态链接库DLL形式实现的IPC机制。网络库不是简单的通信协议,而是通信协议和IPC机制组合的结果。

DLL

DLL的另外一个突出特点是动态加载,即虽然在一个主程序中调用了DLL文件中的函数,但主程序的代码中并不复制DLL文件中的函数,而是在运行时才动态加载这些函数。避免了将大量重复的函数代码复制到主程序中,在运行时同样需要大量占用内存空间的问题。相对于静态加载技术而言,DLL的动态加载就更能有效节省内存空间。

DLL技术的突出特点是代码重用和节省空间。

网络库DLL

网络库以DLL形式出现,也就是指一些特殊的DLL文件是包含了实现网络通信的、可以重用的函数和代码。

查看网络库DLL

服务器网络实用工具、客户端网络实用工具

网络库和通信协议的关系

一个网络库DLL文件并不一定仅封装一种网络协议的函数,也可能封装多种网络协议。比如:SSNETLIB.DLL网络库文件实际上就封装了TCP/IP和IPX/SPX两种网络协议。

1、配置共享内存网络

(1)启用SQL 服务器网络实用工具,常规选项卡。在启用的协议列表框中清除所有协议即可。 5 (2)重新启动SQL Server2000服务器,服务器上的共享内存协议才能够启动。

(3)启用SQL Server客户端网络实用工具,常规选项卡中,在按顺序启用协议列表框中清除所有的协议。选择启用共享内存协议复选框。

2、配置TCP/IP网络

(1)配置服务器:SQL Server网络实用工具,常规选项中,将TCP/IP添加启用的协议列表框。点击属性可修改默认端口号;

(2)配置客户机:SQL Server客户端网络实用工具,常规选项中,将TCP/IP添加到按顺序启用协议列表框中;在别名选项卡,单击添加,在[服务器别名]文本框中输入mysqlserver,选[网络库]中的[TCP/IP]单选按钮,[服务器名称]文本框输入SQL Server2000服务器的IP地址192.168.1.8,取消对[动态决定端口]复选框的选择,在[端口号]文本框核实SQL Server2000服务器的端口。

TDS协议

TDS译为表格格式数据流协议,就是SQL Server2000的客户机和服务器之间的应用层协议。

TDS的作用

应用程序的数据必须通过TDS协议的封装,然后交由传输层的协议,经过层层封装之后才能在网络上传输。

TDS的作用主要包括: