首页 > 解决方案 > 同步订阅者时出现奇怪的错误消息

问题描述

我们有一个 VB.NET windows 客户端,它使用本地安装的 SQL Server Express,它是我们主 SQL Server 的订阅者。

我们正在从 SQL Server 2012 迁移到 SQL Server 2017,将客户端订阅同步到发布服务器的 VB.NET 代码现在失败并出现错误:

响应消息的处理失败。

该代码目前在远程服务器和本地服务器上使用 SQL Server 2012 运行良好。

我打开了输出日志MergeSynchronizationAgent并得到以下信息,错误在底部:

2021-05-14 01:05:46.067 Connecting to OLE DB Subscriber at datasource: 'LocalServer\SQLEXPRESS', location: '', catalog: 'LocalDatabase', providerstring: '' using provider 'SQLNCLI11'
2021-05-14 01:05:46.220 OLE DB Subscriber: LocalServer\SQLEXPRESS
        DBMS: Microsoft SQL Server
        Version: 14.00.1000
        catalog name: LocalDatabase
        user name: dbo
        API conformance: 0
        SQL conformance: 0
        transaction capable: 1
        read only: F
        identifier quote char: "
        non_nullable_columns: 0
        owner usage: 15
        max table name len: 128
        max column name len: 128
        need long data len: 
        max columns in table: 1000
        max columns in index: 16
        max char literal len: 131072
        max statement len: 131072
        max row size: 131072
2021-05-14 01:05:46.222 OLE DB Subscriber 'LocalServer\SQLEXPRESS': select SERVERPROPERTY ('ProductVersion') 
2021-05-14 01:05:46.223 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSreplcheck_subscribe}
2021-05-14 01:05:46.223 OLE DB Subscriber 'LocalServer\SQLEXPRESS': set nocount on declare @dbname sysname select @dbname = db_name() declare @collation nvarchar(255) select @collation = convert(nvarchar(255), databasepropertyex(@dbname, N'COLLATION')) select collationproperty(@collation, N'CODEPAGE') as 'CodePage', collationproperty(@collation, N'LCID') as 'LCID', collationproperty(@collation, N'COMPARISONSTYLE') as 'ComparisonStyle',cast(case when convert (int,databasepropertyex (@dbname,'comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as DB_CaseSensitive,cast(case when convert (int,serverproperty ('comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as Server_CaseSensitive set nocount off
2021-05-14 01:05:46.253 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {?=call sp_helpsubscription_properties (N'RemoteServer', N'RemoteDatabase', N'RemoteDatabaseReplication')}
2021-05-14 01:05:46.254 Distributor security mode: 1, login name: , password: ********.
2021-05-14 01:05:46.269 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MShelp_profilecache(N'DEFAULT')}
2021-05-14 01:05:46.270 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:05:46.271 The upload message to be sent to Publisher 'RemoteServer' is being generated
2021-05-14 01:05:46.271 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:05:46.272 The merge process is using Exchange ID '49FF7AA5-9E98-4D72-96FF-FB86CA8C46DA' for this web synchronization session.
2021-05-14 01:05:46.272 Connecting to OLE DB  at datasource: 'LocalServer\SQLEXPRESS', location: '', catalog: 'LocalDatabase', providerstring: '' using provider 'SQLNCLI11'
2021-05-14 01:05:46.275 OLE DB : LocalServer\SQLEXPRESS
        DBMS: Microsoft SQL Server
        Version: 14.00.1000
        catalog name: LocalDatabase
        user name: dbo
        API conformance: 0
        SQL conformance: 0
        transaction capable: 1
        read only: F
        identifier quote char: "
        non_nullable_columns: 0
        owner usage: 15
        max table name len: 128
        max column name len: 128
        need long data len: 
        max columns in table: 1000
        max columns in index: 16
        max char literal len: 131072
        max statement len: 131072
        max row size: 131072
2021-05-14 01:05:46.276 OLE DB  'LocalServer\SQLEXPRESS': set nocount on declare @dbname sysname select @dbname = db_name() declare @collation nvarchar(255) select @collation = convert(nvarchar(255), databasepropertyex(@dbname, N'COLLATION')) select collationproperty(@collation, N'CODEPAGE') as 'CodePage', collationproperty(@collation, N'LCID') as 'LCID', collationproperty(@collation, N'COMPARISONSTYLE') as 'ComparisonStyle',cast(case when convert (int,databasepropertyex (@dbname,'comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as DB_CaseSensitive,cast(case when convert (int,serverproperty ('comparisonstyle')) & 0x1 = 0x1 then 0 else 1 end as bit) as Server_CaseSensitive set nocount off
2021-05-14 01:05:46.291 OLE DB  'LocalServer\SQLEXPRESS': exec sp_helpmergepublication @publication = N'RemoteDatabaseReplication', @reserved = 'internal', @publisher = N'RemoteServer', @publisher_db = N'RemoteDatabase'
2021-05-14 01:05:46.293 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSgetreplicainfo(?,?,?,?,?,?,?,90)}
2021-05-14 01:05:46.293 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSgetreplicainfo(?,?,?,?,?,?,?,90)}
2021-05-14 01:05:48.449 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSsetreplicainfo (?,?,?,?,?,?,?,?,?,?,90,?,?,0)}
2021-05-14 01:05:48.455 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSmergeupdatelastsyncinfo (?,?,?)}
2021-05-14 01:05:48.458 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSenumreplicas90 }
2021-05-14 01:05:48.460 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSenum_metadataaction_requests(?,?,?,?)}
2021-05-14 01:05:48.461 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSgetlastsentrecgens (?)}
2021-05-14 01:05:48.463 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSgetmakegenerationapplock_90(?,?)}
2021-05-14 01:05:48.561 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSmakegeneration (?, NULL,NULL,NULL,100)}
2021-05-14 01:05:48.563 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSreleasemakegenerationapplock}
2021-05-14 01:05:48.564 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:05:48.565 No data needed to be merged.
2021-05-14 01:05:48.566 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:05:48.567 Request message generated, now making it ready for upload.
2021-05-14 01:05:48.568 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:05:48.569 Upload request size is 1348 bytes.
2021-05-14 01:06:59.343 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:06:59.355 Uploaded a total of 1 chunks.
2021-05-14 01:06:59.355 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:06:59.359 The request message was sent to 'https://WebServer:444/SQLMerge/replisapi.dll'
2021-05-14 01:06:59.402 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2021-05-14 01:06:59.403 Downloaded a total of 45 chunks.
2021-05-14 01:06:59.417 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}

**2021-05-14 01:06:59.420 The processing of the response message failed.**

2021-05-14 01:06:59.420 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSmergeupdatelastsyncinfo (?,?,?)}
2021-05-14 01:06:59.422 OLE DB Subscriber 'LocalServer\SQLEXPRESS': {call sp_MSmergeupdatelastsyncinfo (?,?,?)}
2021-05-14 01:06:59.422 Disconnecting from OLE DB Subscriber 'LocalServer\SQLEXPRESS'
2021-05-14 01:06:59.422 Disconnecting from OLE DB Subscriber 'LocalServer\SQLEXPRESS'
2021-05-14 01:06:59.423 Disconnecting from OLE DB  'LocalServer\SQLEXPRESS'
2021-05-14 01:06:59.423 Disconnecting from OLE DB  'LocalServer\SQLEXPRESS'

关于这个问题可能是什么的任何想法?还是我错过了什么?

谢谢

标签: sql-servervb.netmerge-replication

解决方案


推荐阅读