第1章SQLServer2000简介
安装备注:在安装前,要将注册表中的PendingFileRenameOperations键都删除!
通常情况下在路径:HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager.
1.1 SQL的组件
SQLServer2000是基于C/S模式的新一代大型关系型数据库管理系统。其主要包括三个组件:
1.1.1服务器组件
其中又包含SQL Server数据库引擎(Server服务)、SQL Server代理程序(Agent服务)、Microsoft搜索服务和分布式事务处理协调器(MS DTC服务)。
这些服务器组件的启动、暂停和终止通常是通过SQLServer2000服务管理器控制和管理的。
在NT和2000操作系统中,也可以使用 net start 和net stop启动或停止SQL Server服务。
(1)Server服务
1台计算机上可以同时运行多个SQL Server 实例,每个实例都有自己的Server服务。这些实例可以分为两种类型:
1)默认实例,1台计算机中只能有1个默认实例;默认实例的服务名为MSSQL Server,命令实例的服务名称为:MSSQL$InstanceName。
2)命名实例,ComputerName/InstanceName格式指定。
Server服务用来处理所有SQL客户端的T-SQL语句的组件,他不只是从本机查询的作用,还支持分布式检索。可在多个并发用户之间分配资源,并强制实施在存储过程和触发器中定义的业务规则,确保数据的一致性,防止发生逻辑问题。
每个SQL Server2000实例的数据库个数最大能支持32767。
安装时有一个默认实例,但使用过程中如何新增实例呢,新增实例有何好处?带来的负担会不会得不偿失?
在已有SQL服务器上再安装SQLSERVER就会建一个命名实例,多个实例可以共享部分组件。一般情况下不会有性能上的收益,但在开发时可以用一台服务器模拟多台,很有用。
(2)Agent服务
Agent服务是实现运行调度的SQL Server管理任务的代理程序,在计算机上运行的每个SQLServer实例都有一个Agent服务。
(3)Microsoft搜索服务
(4)分布式事务处理协调器(MSDTC服务)
这两个服务都仅用于NT和2000系统中,而且不管运行多少实例,都只有1个搜索服务和DTC服务。
1.1.2 SQLServer2000的通信组件
客户端应用程序可以用如下两种方式和服务器端进行通信:
(1)本地通信,采用Windows进程间通信IPC组件,如管道和内存共享进行通信;
(2)网络通信,采用API和协议
如下图所示:
客户端 |
OLEDB程序 |
ODBC程序 |
DB-Library程序 |
嵌入式SQL程序 |
OLEDB程序 |
ODBC程序 |
SQLServerOLEDB提供程序 |
SQLServerODBC驱动程序 |
SQLServerDB-LibraryDLL |
SQLServerDB-LibraryDLL |
客户端Net-Library |
Network |
SQLSERVER服务器 |
图1客户端与服务器端通信 |
(3)客户端和服务器端的Net-Library
对于客户端,SQLServer2000支持两类主要的应用程序:
关系数据库应用程序
Internet应用程序
如下图所示:
OLEDB应用程序 |
OLEDB提供程序 |
OLEDB应用程序 |
OLEDB提供程序 |
OLEDB应用程序 |
OLEDB提供程序 |
客户端共享内存Net-Library |
服务器端共享内存Net-Library |
客户端共享内存Net-Library |
共享内存 |
开放式数据服务 |
SQL Server |
图2:客户端程序和服务器端在同一计算机上运行时的通信路径 |
客户端共享内存Net-Library |
OLEDB应用程序 |
用于SQLSERVER的OLEDB提供程序 |
OLEDB应用程序 |
用于SQLSERVER的OLEDB提供程序 |
OLEDB应用程序 |
用于SQLSERVER的OLEDB提供程序 |
开放式数据服务 |
SQLServer |
图3:客户端程序和服务器端在不同计算机上运行时的通信路径 |
客户端命名管道Net-Library |
客户端多协议Net-Library |
客户端TCP/IP Socket Net-Library |
NWLink Network |
NetBeUI Network |
TCP/IP Network |
服务器命名管道Net-Library |
服务器多协议Net-Library |
服务器TCP/IP Socket Net-Library |
1.1.3 SQLServer2000的主要管理工具
(1)企业管理器(SQL Server Enterprise Manager)
(2)SQL查询分析器(SQL Query Analyzer)
1.1.4 注册服务器
1.2 帐户管理
使用SQLServer2000时,一般首先要创建一个Windows帐户,Windows有两种类型的帐户,本地系统帐户和域用户帐户。
SQLServer支持Windows身份验证模式和混合模式两种身份验证模式。这两种身份验证模式的区别有:
(1) Windows 身份验证模式
只进行 Windows 身份验证。用户不能指定 SQL Server 2000 登录 ID。这是 SQL Server 2000 的默认身份验证模式。不能为在 Windows 98 上运行的 SQL Server 实例指定 Windows 身份验证模式,因为此操作系统不支持 Windows 身份验证。
(2) 混合模式
如果用户在登录时提供了 SQL Server 2000 登录 ID,则系统将使用 SQL Server 身份验证对其进行验证。如果没有提供 SQL Server 2000 登录 ID 或请求 Windows 身份验证,则使用 Windows 身份验证对其进行身份验证。
这些模式在安装过程中指定或使用 SQL Server 企业管理器指定。
与 SQL Server 身份验证相比,Windows 身份验证有某些优点,主要是由于它与 Windows NT 4.0 和 Windows 2000 安全系统的集成。Windows NT 4.0 和 Windows 2000 安全系统提供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户。
由于Windows NT 4.0 和 Windows 2000 用户和组只由 Windows NT 4.0 或 Windows 2000 维护,因此当用户进行连接时,SQL Server 将读取有关该用户在组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户下次连接到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 2000 时(取决于更改的类型),这些更改会生效。
说明 当 SQL Server 实例在 Windows 98 或 Microsoft Windows Millennium 版上运行时,Windows 身份验证模式不可用。