默认实例名可以是(本地)或(机器名称)以外的其他名称吗?例如,如果我的服务器名为Apple,并安装server 2008并选择创建默认实例并将其命名为Orange,这是否可行?那么,我将能够使用来自另一个服务器的连接字符串"Database=Orange“吗?
最终目标:我在服务器Apple上有很多DB,并且希望它们都被移动到一个新服务器Orange --有什么方法可以做到这一点而不破坏当前引用Apple的所有连接字符串?
我猜这一切的答案都是否定的,这是有道理的,但我希望我错了。
发布于 2010-02-22 17:21:48
我不知道该怎么做。默认实例始终是运行Server的计算机的名称。
但是,您可以在客户端计算机上为服务器创建别名。您可以在客户机上创建如下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
"APPLE"="DBMSSOCN,ORANGE"这将指向苹果对Orange服务器的任何调用。
发布于 2010-02-22 20:00:54
这完全可以使用DNS或客户端别名。实际上,我们更愿意为每个实例提供一个专用的DNS别名(假设APP1.COMPANY.COM是CNAME记录到SERVER1.COMPANY.COM),这样当我要移动安装在此服务器上的默认实例时,我可以安装在新服务器上,备份和恢复数据库,然后将CNAME记录从SERVER1.COMPANY.COM指向SERVER2.COMPANY.COM,客户端永远不知道两者之间的区别。在命名实例的情况下,它的工作方式是相同的,客户端将使用APP1.COMPANY.COM\INST1指向SERVER1.COMPANY.COM\INST1,而同样的情况将为真。
为了确保登录被移动,您需要查看如何使用sp_help_revlogin (搜索它)来导出/导入实例用户,或者恢复主数据库。
https://serverfault.com/questions/115472
复制相似问题