消息详细信息
| 产品名称 | SQL Server |
| 事件编号 | 14117 |
| 事件源 | MSSQLSERVER |
| 组件 | SQL Server 数据库引擎 |
| 符号名称 | |
| 消息正文 | 未将 '%s' 配置为分发数据库。 |
说明
如果以下一个或两个都为 true,则会发生此错误:
msdb 中缺少指定分发数据库的条目 。MSdistributiondbs。
master 数据库中的本地服务器没有条目,或者存在错误的条目。
复制要求使用具有可选实例名称的计算机名称(在群集实例的情况下,使用可选实例名称的 SQL Server 虚拟服务器名称)注册拓扑中的所有服务器。 若要使复制正常运行,拓扑中每个服务器返回
SELECT @@SERVERNAME的值应与计算机名或虚拟服务器名称与可选的实例名称匹配。如果通过 IP 地址或完全限定的域名(FQDN)注册了任何 SQL Server 实例,则不支持复制。 如果在配置复制时,您在 SQL Server Management Studio 中通过 IP 地址或 FQDN 注册了任何 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的值不正确,则必须使用群集管理员更改名称。 有关详细信息,请参阅 AlwaysOn 故障转移群集实例(SQL Server)。
验证分发服务器实例是否已正确注册后,请验证分发数据库是否已在 msdb 中列出。MSdistributiondbs。 如果未列出: