(转)SQLServer实例讲解
欢迎和大家交流技术相关问题:
邮箱: jiangxinnju@163.com
博客园地址: http://www.cnblogs.com/jiangxinnju
GitHub地址: https://github.com/jiangxincode
知乎地址: https://www.zhihu.com/people/jiangxinnju
实例就是一个在数据库中存在的,现实的数据库例子。数据库实例就是后台进程和数据库文件的集合。一个SQL Server服务器就是一个实例,2000支持在同一个NT/2000 Server操作系统装多个服务器,换言之,就是多个实例。
多个SQL Server实例
Microsoft® SQL Server™ 2000 支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的 SQL Server 数据库引擎实例的方式与连接其它计算机上运行的 SQL Server 数据库引擎的方式基本相同。实例主要应用于数据库引擎及其支持组件,而不应用于客户端工具。如果安装了多个实例,则每个实例都将获得各自唯一的一套:
系统和用户数据库。
SQL Server 和 SQL Server 代理服务。对于默认实例,服务名仍为 MSSQLServer 和 SQLServerAgent。对于命名实例,服务名改为 MSSQL$instancename 和 SQLAgent$instancename,使得这些服务与服务器上的其它实例分开启动和停止。可使用相关联的 SQL Server 服务启动和停止不同实例的数据库引擎。SQL Server 代理服务管理相关联的数据库引擎实例的调度事件。
与数据库引擎、SQL Server 和 SQL Server 代理服务相关联的注册表键。使应用程序能连接特定实例的网络连接地址。
有两种类型的 SQL Server 实例:
默认实例
SQL Server 2000 数据库引擎默认实例的运行方式与 SQL Server 早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有 SQL Server 应用程序的兼容性。 一台计算机上只能有一个默认实例,而默认实例可以是 SQL Server 的任何版本。
计算机名是可以修改的,但修改后对默认实例无影响,即默认实例随计算机名的改变而改变,所以说,默认实例的名称是与计算机名相同,而不是称为"local",但一般情况下,如果要访问本机上的默认SQL服务器实例,使用计算机名、(local)、localhost、127.0.0.1、. 、本机IP地址,都可以达到相同的目的。但如果要访问非本机的SQL服务器,那就必须使用计算机/实例名的办法。
命名实例
除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。 一台计算机上可以运行多个命名实例,但只有 SQL Server 2000 数据库引擎才可作为命名实例运行。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 2000 服务器网络管理器复本管理计算机上所有实例的网络通讯地址。
仅有一个 MSSearchService 复本管理针对计算机上所有 SQL Server 实例的全文检索。
English Query 和 Microsoft SQL Server 2000 Analysis Services 服务器都只有一个复本。
与客户端软件相关联的注册表键在实例间不重复。
只有一个 SQL Server 开发库(包括 *.lib 文件)和示例应用程序的复本。
查看机器上所装实例
开始---运行, 输入 services.msc, 回车。在服务列表里, 找到 MSSQLSERVER 开头的, 有几个,就是几个实例。
更改SQL实例名
下面是从网上找到的一个方法,稍微复杂些,以后安装一定要注意了,否则带来很多麻烦.但更名方法亦是十分重要,应掌握.
重新命名服务器的过程非常简单。你所需要做的就是给服务器改名,就像平时为Windows NT或Windows 2000 Server改名那样。重新启动计算机,然后系统会给出一个出错信息:“安装文件被破坏,或者未知的包标识”。看起来很吓人。但实际上你只需要重新运行SQL Server的安装程序,会有提示“是否升级到当前版本”。点击Yes,安装程序很快就结束了。实际上并没有进行重新安装,只是重新设置了有关服务器名字方面的选项。然后我们需要运行一些存储过程重置服务器名字,以便让SQL Server中的一些函数,例如有关复制的函数,能够有效地工作。
我们切换到示范计算机,这将是我们的最后一个示范。先关掉一些刚才启动的应用程序。到“我的电脑”属性,转到“网络标示”的属性,改变这台计算机的名字。我们把这台计算机的名字改为“Win2kSQL”,点击OK。然后提示需要重新启动计算机。OK,重新启动。重新启动后,我们回到了登录界面。正如我们刚才已经提到的,有提示说“安装文件被破坏,或者未知的包标识”。我们现在需要登录到服务器上,转到SQL Server安装文件的目录,然后重新运行安装程序。 现在我们到SQL Server安装文件的目录,运行安装程序。NT有提示说有SQL Server服务不能正常运行。需要等一会儿安装程序才能继续。Windows NT提示说服务控制失败。现在安装程序可以继续了,接下来安装程序询问安装到哪里。我们选择本地安装。然后是搜索已安装组件。下面安装程序询问是否升级到标准版。这个提示看起来比较奇怪,但这正是我们现在想要的。点击Yes,SQL Server将更新一些服务器设置。现在运行完毕,我们返回并启动SQL Server服务。 打开Query Ananlyzer,我们将装入最后一个脚本。转到脚本目录,打开这个叫做“Rename SQL”的脚本。如果我们现在打开sysservers表的话,我们就会发现它仍然是指向原先的服务器名。我们需要把这个服务器先删除,然后再添加,以便让sysservers表能够反映新的服务器名。现在我们来运行这段脚本,删除原先的服务器,然后再添加。现在我们就已经成功改变了服务器的名字
--打开修改系统表的开关
EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
update master..sysservers set srvname='新服务器名',datasource='新服务器名',srvnetname='新服务器名' where srvname='旧服务器名'
--关闭修改系统表的开关
EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE
go
删除 SQL Serve实例
已经安装SQLServer实例,想把原来的SQLExpress实例删除。 第一步:进“控制面板”,打开“添加\删除程序”; 第二步:打开 sql server 2008 卸载程序(三个选择:添加、修复、删除,选中删除就好了); 第三步:在配置窗口右侧选择你要删除的 数据引擎 ; 第四步:勾选所有选择(为了彻底清除); 第五步:下一步 到结束; 第六步:等待(大概15 分钟左右)。