MSSQL_ENG014117

消息详细信息

产品名称

SQL Server

产品版本

9.0

产品内部版本号

9.00.1399.60

事件 ID

14117

事件源

MSSQLSERVER

组件

SQL Server 数据库引擎

符号名称

消息正文

未将 '%s' 配置为分发数据库。

说明

如果下列之一或两者均为 True,则会出现此错误:

  • msdb..MSdistributiondbs 中缺少指定分发数据库的条目。
  • 在 master ****数据库中没有本地服务器入口,或者存在的入口不正确。
    复制要求一个拓扑中的所有服务器都使用具有可选实例名称的计算机名称(在群集实例的情况下,为具有可选实例名称的 SQL Server 虚拟服务器名称)进行注册。SELECT @@SERVERNAME 为拓扑中每个服务器返回的值必须与具有可选实例名称的计算机名称或虚拟服务器名称相匹配,复制才能正常运行。
    如果已按 IP 地址或完全限定域名 (FQDN) 注册了任意 SQL Server 实例,将不支持复制。在配置复制时,如果使用 IP 地址或 FQDN 在 SQL Server Management Studio 中注册了任何 SQL Server 实例,则可能会引发此错误。

用户操作

验证分发服务器实例正确注册。如果计算机的网络名称和 SQL Server 实例的名称不一致,则:

  • 添加 SQL Server 实例名称作为有效的网络名称。一种设置备用网络名称的方法是将其添加到本地主机文件中。默认情况下,本地主机文件位于 WINDOWS\system32\drivers\etc 或 WINNT\system32\drivers\etc 中。有关详细信息,请参阅 Windows 文档。
    例如,如果计算机名称为 comp1,IP 地址为 10.193.17.129,实例名称为 inst1/instname,则将以下条目添加到主机文件中:
    10.193.17.129 inst1

  • 禁用分发,注册实例,然后重新建立分发。有关禁用分发的信息,请参阅禁用发布和分发。如果 @@SERVERNAME 的值对于某个非群集实例是不正确的,请执行下列步骤:

    sp_dropserver '<old_name>', 'droplogins'
    go
    sp_addserver '<new_name>', 'local'
    go
    

    执行完 sp_addserver (Transact-SQL) 存储过程后,必须重新启动 SQL Server 服务,对 @@SERVERNAME 的更改才能生效。
    如果 @@SERVERNAME 的值对于某个群集实例是不正确的,则必须使用群集管理器更改该名称。有关详细信息,请参阅故障转移群集

验证已正确注册分发服务器实例后,请验证分发数据库是否已在 msdb..MSdistributiondbs 中列出。如果未列出:

  1. 请编写分发配置的脚本。有关详细信息,请参阅编写复制脚本
  2. 禁用分发,然后重新启用它。有关详细信息,请参阅配置分发

请参阅

概念

复制错误的原因和解决方法

帮助和信息

获取 SQL Server 2005 帮助