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的作用主要包括: