什么是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