原文链接:http://weblogs.sqlteam.com/tarad/archive/2006/06/07/10114.aspx
如果你已经同一个数据库服务器上安装了多个SQL server 2005的实例,可能你会注意到微软关于本地文件的命名规范。他们现在使用
MSSQL.n,这个n就是实例号。我们已经有4个实例按照在一台数据库服务器。它们中的一个是默认实例,其它3个是命名实例。我的目录结构会想
下面的样子:
E:\MSSQL.1\MSSQL\...
E:\MSSQL.2\MSSQL\...
E:\MSSQL.3\MSSQL\...
E:\MSSQL.4\MSSQL\...
这个引用是从这篇文章,它解释了命名规范:
第一个实例ID被生成为 MSSQL.1; ID号为添加的实例自动增长 MSSQL.2,MSSQL.3等等。如果因为卸载,ID序列出现了空位,ID号会被产生来填
补。最新安装的实例可能不总是拥有最大的实例ID号。
我没有安装默认的实例直到我安装了命名实例,因此默认的实例为 MSSQL.4.
今天,我把数据库从这个服务器还原到SQL Server 2000服务器。我需要更改数据库文件源路径到E:\MSSQL$InstanceName\DATA\,但是现在我
要把路径改为E:\MSSQL.2\MSSQL\DATA\ 因此MSSQL.2符合我执行还原后的实例。
但是有没有一个简单的方法来找出哪一个实例名称属于哪一个实例号?
这些值被存储在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL。SQL Server有一个非文档的存
储过程允许你读注册表,因此我们可以使用它轻松的找到。
这里是一个方法来找出哪一个实例号属于哪一个实例名称:
EXEC master.sys.xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL', 'InstanceName'
InstanceName 具体的实例名称 例如 :SQLEXPRESS
效果图如下:
注册表: