Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

时间:2022-09-23 17:00:17
急, 在线等.

  问题描述-
  老DB 服务器 A 做了一个订阅 到 C 服务器上 ,一天A 性能慢了 于是将A 负责的二个厂区数据作了切分, A 负责一厂,新服务器B 负责
2厂.
  B的数据为直接将A 数据库打包 迁移到B上. 因为一厂线体多,B新服务器执行效率高所以将A的电脑名,IP给B使用, 二厂使用A 更名后的连接.  

目前 是新服务器B使用了老的身份,它可以作订阅到C上,  A 服务器 供应商说因 之前数据库名重复 同网络内无法做订阅.

请问大侠们,这个如何能做到此二DB 都可订阅,如做不到都订阅到C上.是否可做到订阅到另一台电脑上.

OLD.
  Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅
new 
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

34 个解决方案

#1


自己顶,来人啊

#2


没试验过这种情况,帮顶,期待答案

#3


感觉你的描述有问题。应该是A 发布到C,B也想发布到C(是发布而不是订阅,C才是订阅)  ,因为有相同的数据库名字fusion_test,所以会有问题。
现在的A和B发布到C都需要使用相同的数据库名字吗?就是C上面的数据库你需要是相同的名字还是不同的名字

#4


如果发布数据库名一样,但是服务器机器名不一样,应该是可以同时作为两个不同的发布方向同一个订阅方进行同步的。

或者你在别名设置中设置成不同的别名,然后相互注册后,再设置订阅试试。

#5


技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

#6


引用 2 楼 zy_and_zy 的回复:
没试验过这种情况,帮顶,期待答案

你好, zy_and_zy  , 其实是我只需要A,B 都能发布就好 , 如不能都发布到C上,也到多加一能服务器D ,发布到D上 . 
请问如何实现 .

#7


引用 5 楼 zjcxc 的回复:
技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;


你好  ,zjcxc   你可看我截图, 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做 .

#8


 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?

#9


https://www.cnblogs.com/CareySon/archive/2012/06/20/IntroductToSQLServerReplicationPart1.html
上面是讲复制的,也有一些复制的模式
当然csdn也有很多大佬讲了复制
http://blog.csdn.net/column/details/15330.html

#10


引用 8 楼 zjcxc 的回复:
 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?


供应商 说的是新服务器用了老的电脑名,当时数据库迁移是整体迁移,所以做不到, 请问这个是可以实现的不 ,比如在C上再建个Fusion_Test_B1 ,这样就不会重名了.

#11


引用 8 楼 zjcxc 的回复:
 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?



zjcxc   ,能否讲解下 具体做的步骤,我好让供应商学习下.,

#12


我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


#13


引用 12 楼 kk185800961 的回复:
我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


这位兄弟 讲的是正解,  我只需要将A 内容发布到C,B 内容发布到C , 但是 C 的数据库可以不同名 ,比如Fusion_Test ,Fusion_Test_B1   .
这样能按你方法实现 不.,(而且我们只是某些表作发布不是全部的)

#14


引用 13 楼 jack_33 的回复:
Quote: 引用 12 楼 kk185800961 的回复:

我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


这位兄弟 讲的是正解,  我只需要将A 内容发布到C,B 内容发布到C , 但是 C 的数据库可以不同名 ,比如Fusion_Test ,Fusion_Test_B1   .
这样能按你方法实现 不.,(而且我们只是某些表作发布不是全部的)

或者我建个服务器D , 让D 来 接受A 的数据,这样可行不,

#15


如果你想A和B都想同步到C上的同一个数据库,那是不行的。
------------------------------- 不能? 别开玩笑了

#16


你可以把所有的数据从不同的服务器,甚至不同的表,同步到同一个服务器,甚至是同步到同一个表
技术上完全没问题,关键是业务上有没有冲突
比如你的订阅都是同一个库的同一个表,如果有两个发布往这个表同步数据,那么数据会不会冲突,不冲突的话,你的目的是不是要两个发布的数据合并在一起?如果是,那就一点问题都没
如果你不是想把数据合并在一齐,那么你可以 在配置发布的时候改目标表名

#17


我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则

#18


引用 17 楼 zjcxc 的回复:
我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

#19


前面已经说了,技术上没障碍

#20


引用 18 楼 jack_33 的回复:
Quote: 引用 17 楼 zjcxc 的回复:

我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

技术上是可行的,你不行的话,就找个专门的人帮忙弄一下

#21


引用 20 楼 z10843087 的回复:
Quote: 引用 18 楼 jack_33 的回复:

Quote: 引用 17 楼 zjcxc 的回复:

我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

技术上是可行的,你不行的话,就找个专门的人帮忙弄一下

谢谢,  下午我会让软件商再做一次, 如出现问题,会当场 发出来, 到时请大家帮忙看下,

#22


引用 19 楼 zjcxc 的回复:
前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#23


引用 22 楼 jack_33 的回复:
Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#24


引用 23 楼 jack_33 的回复:
Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


A 内容发布到C的数据库Fusion_Test 
B 内容发布到C的数据库Fusion_Test_B1   

这是可行的。

你这图是连接到远程的实例创建发布报错?

远程的话确认有权限。在本地创建发布订阅,使用实例名称连接到本地实例中(不可用IP),同时连接到远程实例,确认可用远程访问实例,再创建发布订阅。

#25


引用 23 楼 jack_33 的回复:
Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下, 点生成新发布时 就报qaj
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅





引用 24 楼 kk185800961 的回复:
Quote: 引用 23 楼 jack_33 的回复:

Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


A 内容发布到C的数据库Fusion_Test 
B 内容发布到C的数据库Fusion_Test_B1   

这是可行的。

你这图是连接到远程的实例创建发布报错?

远程的话确认有权限。在本地创建发布订阅,使用实例名称连接到本地实例中(不可用IP),同时连接到远程实例,确认可用远程访问实例,再创建发布订阅。

此是为在B 本地创建发布时报的错,   另在B 查询 SERVER name 时存在以下问题-
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅
请问是何原因导致,如何解.

#26


@jack_33
这是你安装SQL Server 之后修改了计算机的名字。用下面代码可以修正:
if  serverproperty('servername')<>@@servername
begin
declare @server  sysname
set  @server=@@servername
exec  sp_dropserver  @server=@server
set  @server=cast(serverproperty('servername')  as  sysname)
exec  sp_addserver  @server=@server,@local='LOCAL'
end

记得要重启SQL Server 服务

#27


引用 26 楼 z10843087 的回复:
@jack_33
这是你安装SQL Server 之后修改了计算机的名字。用下面代码可以修正:
if  serverproperty('servername')<>@@servername
begin
declare @server  sysname
set  @server=@@servername
exec  sp_dropserver  @server=@server
set  @server=cast(serverproperty('servername')  as  sysname)
exec  sp_addserver  @server=@server,@local='LOCAL'
end

记得要重启SQL Server 服务

大神, 这语句执行时 是不是 产线不能有电脑接入, 另 执行完后是需要重启SERVER 不,  另相对于工厂端 这样的方式是否有风险.
可否详细告知下,  因为我们一个工厂的 线都需要它才能正常生产 .,

#28


引用 5 楼 zjcxc 的回复:
技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

很早就跟你说过了名字的问题,自己不看

#29


你这是先安装好数据库,再更改服务器名称导致。serverproperty('servername')  是计算机可以连接到的网络名称(服务器名称),可以查到变更后的值。@@servername 默认映射到本地服务器名称,但实例中不自动变更,需要重新添加。参考楼上的操作~

#30


你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没

#31


引用 28 楼 zjcxc 的回复:
Quote: 引用 5 楼 zjcxc 的回复:

技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

很早就跟你说过了名字的问题,自己不看

zjcxc  ,不好意思 ,是我之前先入为主了, 我在发贴之前只检查了 二个服务器SERVERPROPERTY(servername )   不一样 ,  你提到这个语句未查询 .
现在重查了下,是的B 二个名不一样 ,那请问  下面这二句有风险不, 工厂端不得不慎重.,
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local; 
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#32


引用 30 楼 zjcxc 的回复:
你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

#33


引用 32 楼 jack_33 的回复:
Quote: 引用 30 楼 zjcxc 的回复:

你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

我感觉你还是请个熟悉数据库的人人来帮忙弄吧,这么搞太麻烦了,万一搞出问题,就更恼火了

#34


引用 33 楼 z10843087 的回复:
Quote: 引用 32 楼 jack_33 的回复:

Quote: 引用 30 楼 zjcxc 的回复:

你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

我感觉你还是请个熟悉数据库的人人来帮忙弄吧,这么搞太麻烦了,万一搞出问题,就更恼火了


了解 ,看来需要找第三方 找个对应SQLSERVER专家来周未时做下 . 谢谢, 
现在结贴,感谢参与其中的各位大神.

#1


自己顶,来人啊

#2


没试验过这种情况,帮顶,期待答案

#3


感觉你的描述有问题。应该是A 发布到C,B也想发布到C(是发布而不是订阅,C才是订阅)  ,因为有相同的数据库名字fusion_test,所以会有问题。
现在的A和B发布到C都需要使用相同的数据库名字吗?就是C上面的数据库你需要是相同的名字还是不同的名字

#4


如果发布数据库名一样,但是服务器机器名不一样,应该是可以同时作为两个不同的发布方向同一个订阅方进行同步的。

或者你在别名设置中设置成不同的别名,然后相互注册后,再设置订阅试试。

#5


技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

#6


引用 2 楼 zy_and_zy 的回复:
没试验过这种情况,帮顶,期待答案

你好, zy_and_zy  , 其实是我只需要A,B 都能发布就好 , 如不能都发布到C上,也到多加一能服务器D ,发布到D上 . 
请问如何实现 .

#7


引用 5 楼 zjcxc 的回复:
技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;


你好  ,zjcxc   你可看我截图, 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做 .

#8


 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?

#9


https://www.cnblogs.com/CareySon/archive/2012/06/20/IntroductToSQLServerReplicationPart1.html
上面是讲复制的,也有一些复制的模式
当然csdn也有很多大佬讲了复制
http://blog.csdn.net/column/details/15330.html

#10


引用 8 楼 zjcxc 的回复:
 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?


供应商 说的是新服务器用了老的电脑名,当时数据库迁移是整体迁移,所以做不到, 请问这个是可以实现的不 ,比如在C上再建个Fusion_Test_B1 ,这样就不会重名了.

#11


引用 8 楼 zjcxc 的回复:
 二个DB 现在实例名 并不一样,  供应商 说目前状态 A,B 不同同时作发布,  目前 只做了 B的发布,A的仍未做
--------------------------------- 有问题?不能做还是不会做?
不能做那错误信息是什么?



zjcxc   ,能否讲解下 具体做的步骤,我好让供应商学习下.,

#12


我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


#13


引用 12 楼 kk185800961 的回复:
我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


这位兄弟 讲的是正解,  我只需要将A 内容发布到C,B 内容发布到C , 但是 C 的数据库可以不同名 ,比如Fusion_Test ,Fusion_Test_B1   .
这样能按你方法实现 不.,(而且我们只是某些表作发布不是全部的)

#14


引用 13 楼 jack_33 的回复:
Quote: 引用 12 楼 kk185800961 的回复:

我复述一下,不知理解是不是这样。

原来的环境:A发布,C订阅。现在新增B服务器,B改为A的配置(IP/名称等),A使用新的配置。此时B正常发布订阅到C。

问题:A打算重新配置发布订阅到C,但是订阅已经存储同名数据库了。

-------------------------------------------------------------------------------
答:
(C现在为冗余灾备服务器)如果把A同步到C,需要在C上另建一个数据库(不能与B的订阅库同名)。然后再配置A上的发布订阅同步到新库。

如果你想A和B都想同步到C上的同一个数据库,那是不行的。(当然也是有办法: SQL Server 中心订阅模型(多发布单订阅))。


这位兄弟 讲的是正解,  我只需要将A 内容发布到C,B 内容发布到C , 但是 C 的数据库可以不同名 ,比如Fusion_Test ,Fusion_Test_B1   .
这样能按你方法实现 不.,(而且我们只是某些表作发布不是全部的)

或者我建个服务器D , 让D 来 接受A 的数据,这样可行不,

#15


如果你想A和B都想同步到C上的同一个数据库,那是不行的。
------------------------------- 不能? 别开玩笑了

#16


你可以把所有的数据从不同的服务器,甚至不同的表,同步到同一个服务器,甚至是同步到同一个表
技术上完全没问题,关键是业务上有没有冲突
比如你的订阅都是同一个库的同一个表,如果有两个发布往这个表同步数据,那么数据会不会冲突,不冲突的话,你的目的是不是要两个发布的数据合并在一起?如果是,那就一点问题都没
如果你不是想把数据合并在一齐,那么你可以 在配置发布的时候改目标表名

#17


我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则

#18


引用 17 楼 zjcxc 的回复:
我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

#19


前面已经说了,技术上没障碍

#20


引用 18 楼 jack_33 的回复:
Quote: 引用 17 楼 zjcxc 的回复:

我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

技术上是可行的,你不行的话,就找个专门的人帮忙弄一下

#21


引用 20 楼 z10843087 的回复:
Quote: 引用 18 楼 jack_33 的回复:

Quote: 引用 17 楼 zjcxc 的回复:

我一直没搞清楚的是,你所谓的问题,是技术问题,还是业务问题
如果是技术问题,那是没做过,还是做失败了
如果是业务问题,那你自己去确定业务规则


我目前遇到是的技术问题,  目前 软件商说是不能实现 ,A,B同步到C上.  所以我才想上CSDN确认  A 中Fusion_Test DB 同步到C上 Fusion_Test, B中Fusion_Test 同步到C 上比如 Fusion_Test_B1 这样子是否可行.  想确认上软件商能力不够,还是技术上实现不了 .....(另我们只需要同步某些表过去 .  主要为了供生产看板 能从C取 数据 ,而不是直接从,A,B,上取,那样会影响到正常线生产 )  

技术上是可行的,你不行的话,就找个专门的人帮忙弄一下

谢谢,  下午我会让软件商再做一次, 如出现问题,会当场 发出来, 到时请大家帮忙看下,

#22


引用 19 楼 zjcxc 的回复:
前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#23


引用 22 楼 jack_33 的回复:
Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#24


引用 23 楼 jack_33 的回复:
Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


A 内容发布到C的数据库Fusion_Test 
B 内容发布到C的数据库Fusion_Test_B1   

这是可行的。

你这图是连接到远程的实例创建发布报错?

远程的话确认有权限。在本地创建发布订阅,使用实例名称连接到本地实例中(不可用IP),同时连接到远程实例,确认可用远程访问实例,再创建发布订阅。

#25


引用 23 楼 jack_33 的回复:
Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下, 点生成新发布时 就报qaj
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅





引用 24 楼 kk185800961 的回复:
Quote: 引用 23 楼 jack_33 的回复:

Quote: 引用 22 楼 jack_33 的回复:

Quote: 引用 19 楼 zjcxc 的回复:

前面已经说了,技术上没障碍


谢谢,   遇到障碍时 ,下午还请帮忙看下. Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


报警如下
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅


A 内容发布到C的数据库Fusion_Test 
B 内容发布到C的数据库Fusion_Test_B1   

这是可行的。

你这图是连接到远程的实例创建发布报错?

远程的话确认有权限。在本地创建发布订阅,使用实例名称连接到本地实例中(不可用IP),同时连接到远程实例,确认可用远程访问实例,再创建发布订阅。

此是为在B 本地创建发布时报的错,   另在B 查询 SERVER name 时存在以下问题-
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅
请问是何原因导致,如何解.

#26


@jack_33
这是你安装SQL Server 之后修改了计算机的名字。用下面代码可以修正:
if  serverproperty('servername')<>@@servername
begin
declare @server  sysname
set  @server=@@servername
exec  sp_dropserver  @server=@server
set  @server=cast(serverproperty('servername')  as  sysname)
exec  sp_addserver  @server=@server,@local='LOCAL'
end

记得要重启SQL Server 服务

#27


引用 26 楼 z10843087 的回复:
@jack_33
这是你安装SQL Server 之后修改了计算机的名字。用下面代码可以修正:
if  serverproperty('servername')<>@@servername
begin
declare @server  sysname
set  @server=@@servername
exec  sp_dropserver  @server=@server
set  @server=cast(serverproperty('servername')  as  sysname)
exec  sp_addserver  @server=@server,@local='LOCAL'
end

记得要重启SQL Server 服务

大神, 这语句执行时 是不是 产线不能有电脑接入, 另 执行完后是需要重启SERVER 不,  另相对于工厂端 这样的方式是否有风险.
可否详细告知下,  因为我们一个工厂的 线都需要它才能正常生产 .,

#28


引用 5 楼 zjcxc 的回复:
技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

很早就跟你说过了名字的问题,自己不看

#29


你这是先安装好数据库,再更改服务器名称导致。serverproperty('servername')  是计算机可以连接到的网络名称(服务器名称),可以查到变更后的值。@@servername 默认映射到本地服务器名称,但实例中不自动变更,需要重新添加。参考楼上的操作~

#30


你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没

#31


引用 28 楼 zjcxc 的回复:
Quote: 引用 5 楼 zjcxc 的回复:

技术上,两台同步到一台这是肯定可行的
至于你说的迁移后不能,那具体的错误信息是什么?
另外,你的迁移提到了改服务器名,复制订阅是依赖于服务器名的,改名后 SQL Sserver 有重置内部名称么?也就是这个查询中的两个值是否一致?
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')
如果不一致,那么需要用下面的语句做名称修正,完成后重启
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local;

很早就跟你说过了名字的问题,自己不看

zjcxc  ,不好意思 ,是我之前先入为主了, 我在发贴之前只检查了 二个服务器SERVERPROPERTY(servername )   不一样 ,  你提到这个语句未查询 .
现在重查了下,是的B 二个名不一样 ,那请问  下面这二句有风险不, 工厂端不得不慎重.,
EXEC sp_dropserver '旧服务器名', droplogins
EXEC sp_addserver '新服务器名', local; 
Sqlserver 2008订阅问题-老数据库整体迁到新服务器上,新旧服务器无法实现分别订阅

#32


引用 30 楼 zjcxc 的回复:
你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

#33


引用 32 楼 jack_33 的回复:
Quote: 引用 30 楼 zjcxc 的回复:

你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

我感觉你还是请个熟悉数据库的人人来帮忙弄吧,这么搞太麻烦了,万一搞出问题,就更恼火了

#34


引用 33 楼 z10843087 的回复:
Quote: 引用 32 楼 jack_33 的回复:

Quote: 引用 30 楼 zjcxc 的回复:

你的软件商还真不咋的,技术不怎么样不说,连研究的精神都没



软件商对应的人为半路出家搞软件的 , 所以是不专业.    目前 已得到原因 ,只想知道这样搞有风险不,
是零风险还是 会存在其它问题, 不能我这样一改,数据库用不了 ,那公司就要炸了,

我感觉你还是请个熟悉数据库的人人来帮忙弄吧,这么搞太麻烦了,万一搞出问题,就更恼火了


了解 ,看来需要找第三方 找个对应SQLSERVER专家来周未时做下 . 谢谢, 
现在结贴,感谢参与其中的各位大神.