数据库实例就是后台进程和数据库文件的集合。
一个SQL
Server服务器就是一个实例,2000支持在同一个NT/2000
Server *** 作系统装多个服务器,换言之,就是多个实例。
多个
SQL
Server
实例
Microsoft®
SQL
Server™
2000
支持在同一台计算机上同时运行多个
SQL
Server
数据库引擎实例。每个
SQL
Server
数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的
SQL
Server
数据库引擎实例的方式与连接其它计算机上运行的
SQL
Server
数据库引擎的方式基本相同。
有两种类型的
SQL
Server
实例:
默认实例
SQL
Server
2000
数据库引擎默认实例的运行方式与
SQL
Server
早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接
SQL
Server
时只指定了计算机名,则
SQL
Server
客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有
SQL
Server
应用程序的兼容性。
一台计算机上只能有一个默认实例,而默认实例可以是
SQL
Server
的任何版本。
命名实例
除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式
computer_nameinstance_name
指定。
一台计算机上可以运行多个命名实例,但只有
SQL
Server
2000
数据库引擎才可作为命名实例运行。SQL
Server
早期版本中的数据库引擎不能作为命名实例运行。
实例主要应用于数据库引擎及其支持组件,而不应用于客户端工具。如果安装了多个实例,则每个实例都将获得各自唯一的一套:
系统和用户数据库。
SQL
Server
和
SQL
Server
代理服务。对于默认实例,服务名仍为
MSSQLServer
和
SQLServerAgent。对于命名实例,服务名改为
MSSQL$instancename
和
SQLAgent$instancename,使得这些服务与服务器上的其它实例分开启动和停止。可使用相关联的
SQL
Server
服务启动和停止不同实例的数据库引擎。SQL
Server
代理服务管理相关联的数据库引擎实例的调度事件。
与数据库引擎、SQL
Server
和
SQL
Server
代理服务相关联的注册表键。
使应用程序能连接特定实例的网络连接地址。
共享组件
以下组件可由运行于同一台计算机上的所有实例共享:
此计算机上只有一个
SQL
Server
2000
程序组
(Microsoft
SQL
Server),以及由该程序组中的每个图标表示的唯一一个实用工具的复本。唯一一个
SQL
Server
联机丛书的复本。
程序组中的实用工具版本来自计算机上最先安装的
SQL
Server
2000
版本。例如,如果将
SQL
Server
2000
简体中文版作为默认实例安装,然后将
SQL
Server
2000
美国英语版作为命名实例安装,则只有一个
SQL
Server
2000
程序组。该程序组中的所有实用工具图标和
SQL
Server
联机丛书图标都将启动简体中文版的工具。
所有
SQL
Server
2000
实用工具都能处理多个实例。可以从一个
SQL
Server
2000
服务管理器的复本启动和停止每个实例。可使用一个
SQL
Server
2000
SQL
Server
企业管理器复本控制计算机上所有实例中的对象,使用一个
SQL
Server
2000
服务器网络管理器复本管理计算机上所有实例的网络通讯地址。
仅有一个
MSSearchService
复本管理针对计算机上所有
SQL
Server
实例的全文检索。
English
Query
和
Microsoft
SQL
Server
2000
Analysis
Services
服务器
SQL代理现在不在“管理”里,如果你不是用的Express版,数据库实例子节点最下边能看到“SQL Server代理”,这个就是你说的“SQL代理”。如果你用的是SQL Server Management Studio Express就肯定看不到,甚至如果你SQL Server装的是Express版的话连代理服务都没有,即便换了不是Express版的SQL Server Management Studio也看不到,因为不存在。找个Developer版的安装程序安装一下吧。
可以从sp_helpsrvrole
获得固定服务器角色的列表,可以从
sp_srvrolepermission
获得每个角色的特定权限。
每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果
Database1
和
Database2
中都有叫
UserX
的用户
ID,将Database1
中的
UserX
添加到
Database1
的
db_owner
固定数据库角色中,对
Database2
中的
UserX
是否是
Database2
的
db_owner
角色成员没有任何影响。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)