什么是SQL SERVER实例
------------
SQL SERVER实例的概念和“类与对象”的概念很相似。可以把SQL SERVER的安装程序看做是一个类,安装过程则是创建对象的过程,创建出来的对象称为“SQL SERVER实例”——即“类与对象”中把类实例化的概念。
因此,所谓的“SQL SERVER实例”,实际上就是被安装在计算机上的某个完整的SQL SERVER服务器(或者,为了与硬件服务器的概念相区别,可以把SQL SERVER实例称为SQL SERVER服务器引擎)。
注:这里所说的“完整”的SQL SERVER服务器,是指每一个SQL SERVER实例可以包括所有可选的SQL SERVER服务器组件,包括数据库引擎、Analysis Services、Reporting Services等等。
------------
在一台计算机上,可以安装多个SQL SERVER服务器(即可以安装多个SQL SERVER实例,就如同一个类可以实例化出若干个对象一样),但通常有一个最大上限。
每个SQL Server实例都有一组自己独占的程序文件和数据文件,另外,还有一组所有SQL SERVER实例所共享的程序文件和数据文件。
在每个SQL SERVER实例的内部,如果该实例包含了数据库引擎、Analysis Services、Reporting Services等组件的话,每个组件都会有一组可执行文件和数据文件,并且,还有一组被所有组件所共享的公共文件。
为了隔离每个组件的安装位置,给定的 SQL Server 实例中的每个组件都具有一个唯一的实例 ID。
------------
SQL SERVER实例又分为“默认实例”和“命名实例”。
①默认实例:在安装时使用默认名称的SQL SERVER实例称为默认实例,也叫做未命名实例(Unnamed Instance)。
一台计算机上最多只有一个默认实例,也可以没有默认实例。
默认实例名与计算机名相同。
如果修改了计算机名称,则默认实例名随计算机名的改变而改变,换句话说,默认实例名永远等于计算机名!
若要连接到默认实例,客户端无需指定实例名,而只需要指定计算机名称即可(即硬件服务器的网络名称)。
一般情况下,如果要连接本机的SQL SERVER默认实例,可以使用:
“计算机名称” 、"(local)"[注意必须带括号]、"localhost" 、"127.0.0.1" 、"." 、"本机IP地址"。
②命令实例:在安装时使用自定义名称的SQL SERVER实例,称为命名实例(Named Instance)。
如果要访问命令实例,则必须使用“计算机的网络名称/命名实例的名称”的方法来访问。
------------
查看已安装的SQL SERVER 实例名的方法
1.开始菜单-------SQL SERVER配置管理器---------SQL SERVER服务,这里可以看到已安装的实例名。
2.注册表,
键目录
KEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server
键名
InstalledInstances
3.通过系统服务,
查看名为SQL SERVER(实例名)的服务。默认实例的服务名称为SQL SERVER(MSSQLSERVER)。
4.
DECLARE @Table TABLE ( instanceName sysname NULL)
insert @Table EXEC sys.xp_cmdshell 'sqlcmd -Lc'
--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1) 替代為本機名就行了 , 根據實例命名規則判斷
SELECT * FROM @Table WHERE instanceName LIKE LEFT( @@serverName , CHARINDEX ( '/' , @@serverName + '/' )- 1)+ '%'
如何更改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