AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 315696
Accepted
Inphinite Phractals
Inphinite Phractals
Asked: 2022-08-17 13:37:03 +0800 CST2022-08-17 13:37:03 +0800 CST 2022-08-17 13:37:03 +0800 CST

故障转移群集命名实例上的配置复制向导中的 Catch-22 错误

  • 772

我正在尝试在新的 SQL 2019 安装上设置复制,但我遇到了 catch-22 错误。

我有两 (2) 个命名实例并排设置,每个设置为一个集群角色。集群角色名称,我们称之为:

toolsdb
catdb

安装后,如果我分别在toolsdb和上运行catdb:

select @@SERVERNAME as ServerName, SERVERPROPERTY('ServerName') as ServerProp

...他们回来了:

服务器名称 服务器属性
工具数据库\工具 工具数据库\工具
服务器名称 服务器属性
CATDB\CAT CATDB\CAT

我遇到的问题发生在任一实例上,但我们toolsdb现在将使用。当我右键单击复制 > 配置分发时,我得到:

====================================

SQL Server 无法连接到服务器“toolsdb”。(配置分发向导)

------------------------------ 如需帮助,请点击:https ://go.microsoft.com:80/fwlink?ProdName =Microsoft%20SQL%20Server&ProdVer=15.0.18410.0&EvtSrc=Microsoft.SqlServer.Management.UI.ConfigureWizardErrorSR&EvtID=CantConnect&LinkId=20476

====================================

SQL Server 复制需要实际的服务器名称才能连接到服务器。指定实际的服务器名称,''。(复制。实用程序)

------------------------------ 节目地点:

在 Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.CheckServerAlias(ServerConnection conn) 在 Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.Open()
在 Microsoft.SqlServer.Management.UI.ConfigureDistributionWizard.PrepareToShow()

对此的解决方法是让@@SERVERNAME函数返回的值与集群角色名称匹配,使用:

sp_dropserver 'TOOLSDB\TOOLS'
go

sp_addserver 'TOOLSDB', LOCAL
go

一旦我重新启动角色/服务,然后再次运行它:

select @@SERVERNAME as ServerName, SERVERPROPERTY('ServerName') as ServerProp

...它现在按预期返回:

服务器名称 服务器属性
工具数据库 工具数据库\工具

...并且我能够继续进行复制设置。但是,一旦我完成了配置分发向导步骤并单击完成,“配置分发器”操作就会出错:

====================================

SQL Server 无法将“toolsdb”配置为分发服务器。(Microsoft.SqlServer.ConnectionInfo)

====================================

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

------------------------------ 节目地点:

在 Microsoft.SqlServer.Replication.ReplicationObject.ExecCommand(String commandIn) 在 Microsoft.SqlServer.Replication.ReplicationServer.InstallDistributor(字符串密码, DistributionDatabase distributionDB) 在 Microsoft.SqlServer.Management.UI.ReplicationSqlConnection.InstallDistributor(WizardInputs 输入,Boolean bScripting) 在 Microsoft.SqlServer.Management.UI.ConfigureDistributionWizard.InstallDistributor(Boolean& anyExceptions, Boolean bScripting, ApplicationException& outerEx, StringBuilder 命令)

====================================

无法连接到服务器“TOOLSDB\TOOLS”,因为“distributor_admin”未定义为服务器上的远程登录。验证您是否指定了正确的登录名。. 将数据库上下文更改为“主”。(.Net SqlClient 数据提供者)

------------------------------ 如需帮助,请点击:https ://learn.microsoft.com/sql/relational-databases /errors-events/mssqlserver-18483-database-engine-error

------------------------------ 服务器名称:toolsdb 错误号:18483 严重性:14 状态:1 行号:1

------------------------------ 节目地点:

在 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction 操作,对象 execObject,数据集 fillDataSet,布尔 catchException)在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串 sqlCommand,ExecutionTypes executionType,布尔重试)

从我读过的研究中: https ://learn.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-18483-database-engine-error

...看来@@SERVERNAME函数返回的值需要与实例名称匹配,例如 - TOOLSDB\TOOLS,但我无法在将其设置为该值的情况下启动向导。

有任何想法吗?

谢谢你。

sql-server replication
  • 1 1 个回答
  • 20 Views

1 个回答

  • Voted
  1. Best Answer
    J.D.
    2022-08-17T17:08:49+08:002022-08-17T17:08:49+08:00

    听起来您将 SQL Server 安装为名为TOOLSDB\TOOLS. 复制要求您直接连接到命名实例(而不是默认名称)以便能够为该服务器配置它,否则您收到的第一个错误“ SQL Server 无法连接到服务器'toolsdb'。(配置分发向导) ”将出现。(我个人认为这可能是 SSMS 中的 Replication Wizard 的缺陷。)

    要从您当前所在的位置开始,我将通过以下方式将命名实例放回您的服务器列表中:

    sp_dropserver 'TOOLSDB',本地去

    sp_addserver 'TOOLSDB\TOOLS' 去

    TOOLSDB\TOOLS然后断开连接并使用 SSMS文本框中的全名重新连接到您的实例Server name。例如:

    SSMS 登录

    请注意,上面示例中的完整命名实例是,HUNTERTOP7\SQLEXPRESS但对您来说,这将是TOOLSDB\TOOLS. 连接到完整的实例名称后,复制向导应该可以为您工作。

    • 1

相关问题

  • 运行时间偏移延迟复制的最佳实践

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve