在发布者上更改 repl_distributor 的数据源有多不安全

swa*_*eck 5 replication sql-server-2008 sql-server-2000

这是我的情况。

  • Reporting Server (SQL 2008) 是 SQL 2000 事务性发布的分发服务器/订阅服务器群集
  • Reporting Server 已迁移到新的 SAN
  • 迁移完成后报告服务器严重崩溃(模型数据库已损坏)
  • 我在集群的一个节点上安装了另一个 SQL 实例,附加了 dbs,并更改了报告连接以使用这个新实例
  • 愚蠢的是,我将[distribution]数据库附加到这个新实例
  • select * from sysservers (正确地)返回分发服务器仍然是集群上的第一个实例。

如果我在发布者上运行以下内容(或者这甚至可能),它会多么糟糕?

sp_configure ‘allow updates’, 1
 GO
 RECONFIGURE WITH OVERRIDE
 GO

update sysservers set datasource = 'server\instance' where srvname = 'repl_distributor';
GO

sp_configure ‘allow updates’, 0
 GO
 RECONFIGURE WITH OVERRIDE
 GO
Run Code Online (Sandbox Code Playgroud)

这是最好的方法,还是有其他方法可以改变分销商?

Ste*_*Bov 1

知道这是一个老问题,但我们刚刚解决这个问题,上个月我们不得不将我们的分发服务器移动到一台全新的机器,(设置是 AG 独立分发器中的两台机器和一个报告服务器)

我们发现移动分发服务器的唯一真正方法是完全拆除并重建复制,这可以通过右键单击复制并生成脚本来完成

请记住,您需要对发布商和新经销商执行此操作。

我们刚刚遇到了一个问题,我们的 AG 小组没有接受经销商变更,由于它是只读节点,我们正在用不同的方法进行一些实验,

如果您希望服务器永远不工作,我们更新 [master].[sys].[sysobjvalues] 表(这是“数据源”值实际存储的位置(sysservers 只是一个视图))的测试已经产生了有希望的结果再次。拆除并重建它是痛苦的,但这是迄今为止最安全的事情。

斯特