SQL Server 2008 R2本地订阅不成功,如何删除?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 2008 R2本地订阅不成功,如何删除?相关的知识,希望对你有一定的参考价值。

【本地订阅】下无任何内容,但是新建订阅时提示,此订阅已存在?

如何查看、删除这些已存在,却不成功的订阅呢?

参考技术A 您好:这东西很难卸干净,一般说法,要么不装,要么装上就别卸了。
如果实在要卸,不如重装系统来得干净。

SQL Server 复制本地订阅属性返回“无法将值‘null’应用于属性 ServerInstance:值不能为空。”

【中文标题】SQL Server 复制本地订阅属性返回“无法将值‘null’应用于属性 ServerInstance:值不能为空。”【英文标题】:SQL Server Replication Local Subscription Properties returns "Cannot apply value ‘null’ to property ServerInstance: Value cannot be null." 【发布时间】:2016-12-04 09:32:18 【问题描述】:

我正在将 SQL 2008 R2 数据库复制到 SQL 2016 数据库。

当我使用 SSMS 连接到 SQL 2016 数据库时,在对象资源管理器中 选择复制->本地订阅->我的订阅然后右键单击并选择属性我得到错误“无法将值'null'应用于属性ServerInstance:值不能为空。”。

这是什么意思,我该如何解决?我使用我的 Windows 域用户登录,该用户在两个系统上都是系统管理员。

【问题讨论】:

我对 SQL 2016 > SQL 2016 设置有同样的问题。 【参考方案1】:

从 SQL 2016 开始,引入了更改以支持 Tran 复制的内存优化订阅者。 SSMS 中的此错误是该更改的回归。

在订阅属性表单中,添加了一个新条目以显示它是否为内存优化订阅。此信息是从分发服务器获取的。

因此,对于推送订阅,如果订阅者是 SQL 2016 或更高版本,如果您尝试从订阅服务器查看订阅属性,则分发服务器返回为 NULL,因为它无法访问/连接到分发服务器.这就是您收到此错误的原因。

在解决此问题之前,您可以从发布者端查看订阅属性。

【讨论】:

嗨@Madhan,您能否提供指向任何有关此错误的文档的链接?谢谢:) 虽然微软没有官方文档证实这一点,但我们最近在测试 SSMS 以进行另一项改进时发现了这个错误。【参考方案2】:

我刚刚遇到了同样的问题,我的复制发布者和分发者在 SQL Server 2014 上,而我的订阅者是 SQL Server 2016。当我尝试使用 SSMS 2016 时,我遇到了同样的问题,但是当我使用 SSMS 2014 时,一切正常,所以这很可能是因为 SSMS 的版本。尝试使用发布者(源)正在使用的 SSMS 版本。

【讨论】:

【参考方案3】:

当所有服务器都在同一版本的 SQL 上时,我遇到了这个问题。我在某处读到,如果分发者和发布者(以及订阅者取决于复制类型)之间存在三个以上版本的 SQL,复制将无法工作,但我通过对数据库使用较低的兼容性级别来解决这个问题。

在我当前的设置中,一切都是 SQL 2016。我遇到了同样的问题,并通过为订阅者上的分发者和发布者创建链接服务器来修复它。这些应该是在设置过程中创建的,所以我不确定为什么没有。

我从发行商那里编写了链接服务器 repl_distributor 以及发布者的链接服务器的脚本,然后在订阅者上运行这些脚本。这样就解决了这个问题。

我希望这也适用于你(虽然你的问题是很久以前的,所以你现在可能没事了!)。

【讨论】:

【参考方案4】:

检查链接服务器的“服务器选项”选项卡。在这里您指定分发者、发布者和订阅者。确保在适合您的设置的情况下将这些设置为 true。如果这些选项都设置为 false 就像我使用所有 SQL 2016 的情况一样,您可能会收到此错误,因为它无法连接到分发服务器。

【讨论】:

【参考方案5】:

根据 SSMS 17.4 的 change log(2017 年 12 月 14 日发布),此错误现已针对 PULL 订阅修复。

【讨论】:

【参考方案6】:

来自这个Connect item,解决方法似乎是..

1.在windows box上添加用户为本地管理员 2.以管理员身份运行SSMS..

【讨论】:

我从链接中添加了相关部分,我不知道为什么这被否决了

以上是关于SQL Server 2008 R2本地订阅不成功,如何删除?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 R2 开启远程连接

求windows server2008 r2 ISO文件

SQL Server 复制本地订阅属性返回“无法将值‘null’应用于属性 ServerInstance:值不能为空。”

在 SQL Server 2008 R2 事务复制中筛选列数据

VS2010 数据库项目和 SQL Server 2008R2

SQL Server 2008 R2如何开启数据库的远程连接(转)