首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mirroring_partner_instance中修改sys.database_mirroring名称

在mirroring_partner_instance中修改sys.database_mirroring名称
EN

Stack Overflow用户
提问于 2014-09-10 19:13:56
回答 1查看 373关注 0票数 2

我有一个问题,正确的失败到镜像数据库。当我连接到主体数据库(dbx) (启用和设置镜像)并且在主体数据库上失败(关闭SQL Server以模拟崩溃)时,我无法发送查询而不发生故障。这是预期的,因为以前的连接现在已经丢失。

我想简单地关闭我的连接和句柄,重新建立一个新的连接,使用相同的连接字符串,并重新连接到镜像数据库(dby,它现在是主体数据库)。

我的连接字符串如下:

Client};Server=dbx;Failover_Partner=dby;Database=db;Uid=uid;Pwd=pwd;Network=DBMSSOCN;{SQL本机Driver=

通过研究,我了解到连接中的Failover_Partner参数几乎毫无价值。它只在主服务器停机并首次建立新连接时使用。由于某些原因,当建立到主体的连接并使用在Failover_Partner表中找到的mirroring_partner_instance时,会在内部覆盖sys.database_mirroring。因此,当我指定要作为dby的Failover_Partner时,在建立连接之后,我查询它认为故障转移伙伴是什么,它返回故障转移伙伴的实例名称,而不是DNS名称(dby)。

问题是,我不能使用实例名称作为故障转移合作伙伴。我需要使用DNS名称作为故障转移合作伙伴。

因此,我的问题是:

  • 是否有修改sys.database_mirroring条目和更改mirroring_partner_instance的方法?
  • 这个字段从哪里得到它的值?
  • 是否有其他方法强制SQL Server使用DNS名称而不是实例名称?
EN

回答 1

Stack Overflow用户

发布于 2015-06-22 20:59:47

我找到了这个问题的答案,以防任何人有同样的或类似的问题。

我必须在SQL中修改@@SERVERNAME属性。它被内部设置成电脑胜利-.实例名称和我能够删除它并使用以下命令添加我想要的服务器名称:

获取当前服务器名称(WIN_NAME)

代码语言:javascript
复制
SELECT @@SERVERNAME

删除WIN名称

代码语言:javascript
复制
SP_DropServer  'WIN_NAME' 
GO
SP_AddServer 'SERVER_NAME',local
GO

重新启动Server以查看更改是否生效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25773301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档