SQL默认实例名称

默认实例名称可以是(local)或(machinename)以外的其他名称吗? 例如,如果我的服务器被称为Apple,并且我安装了SQL Server 2008并select创build一个默认实例并将其命名为Orange,这是否可以工作? 那么我能够使用来自另一台服务器的“数据库=橙色”的连接string吗?

最终目标:我在服务器Apple上有很多数据库,并且希望它们都被移动到一个新的服务器上。Orange–是否有一种方法可以在不破坏当前引用Apple的所有连接string的情况下执行此操作?

我猜所有这一切的答案是否定的,这是有道理的,但我希望我错了。

我不知道要这样做。 默认实例始终是运行SQL Server的计算机的名称。

但是,您可以在客户端计算机上为服务器创build别名。 您可以在客户端上创build一个registry项,如下所示:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo] "APPLE"="DBMSSOCN,ORANGE" 

这会将任何对Apple的调用指向Orange服务器。

这完全可以使用DNS或客户端别名。 我们实际上更喜欢给每个实例一个专用的DNS别名(比如APP1.COMPANY.COM是一个CNAMElogging到SERVER1.COMPANY.COM),所以当我想移动SERVER1.COMPANY.COM时,这个服务器上安装的默认实例我可以在新服务器上安装,备份和恢复数据库,然后将CNAMElogging从SERVER1.COMPANY.COM指向SERVER2.COMPANY.COM,客户端永远不会知道它们之间的差异。 在命名实例的情况下,它会以相同的方式工作,客户端将使用APP1.COMPANY.COM \ INST1指向SERVER1.COMPANY.COM \ INST1和相同的情况下会是true。

要确保login已被移动,您将需要使用sp_help_revlogin(search它)来导出/导入实例用户,或者恢复主数据库。