sql-server - 同步订阅者时出现奇怪的错误消息
问题描述
我们有一个 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'
关于这个问题可能是什么的任何想法?还是我错过了什么?
谢谢
解决方案
推荐阅读
- php - 使用 PHP 更新 JSON 数组
- python - Python - 元类将变量范围从实例更改为类
- vue.js - npm run build 生成未处理的拒绝错误:SourceMap
- java - 我不断收到错误不兼容的类型,Required android.widget.spinner, found int
- visual-studio - 如何将 OpenCover 连接到 VS 测试
- python - 在比较两个另一个字典列表时更新字典列表中的字典
- database - 子表单总计值到表单中的文本框返回错误
- javascript - Protractor Fetching Email with Mail Listener: TypeError: deferred.fulfill is not a function
- php - 如何使用 PHP 从 API JSON 请求中获取特定数据
- python - 如何在 TinyDB 中搜索值