sql-server - AWS DMS CDC SQL Server 源在调用 sys.fn_dump_dblog 时无法启动
问题描述
AWS DMS 从 SQL Server 2014 标准版持续复制。将任务简化为一张简单的表格。所有表都有主键,并且在服务器上启用了复制。
任务开始没有恢复,尝试启动时失败,日志中有以下内容:
[SOURCE_CAPTURE ]D: Going to execute: ', select top 1 [Current LSN], from sys.fn_dump_dblog (NULL, NULL,NULL, 0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), where operation='LOP_BEGIN_XACT', and [Begin Time]>= cast('2018-09-05T09:47:08' as datetime), ' (sqlserver_log_queries.c:4172)
[SOURCE_CAPTURE ]D: Failed to execute statement: '' [1022502] (ar_odbc_stmt.c:2478)'
[SOURCE_CAPTURE ]D: RetCode: SQL_ERROR SqlState: 22007 NativeError: 242 Message: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value. Line: 1 Column: -1 [1022502] (ar_odbc_stmt.c:2484)
如果我将查询重新创建为:
select top 1 [Current LSN], * from sys.fn_dump_dblog (NULL, NULL,NULL, 0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL) where operation='LOP_BEGIN_XACT' and [Begin Time]>= cast('2018-09-05T09:47:08' as datetime)
然后在 SSMS 中运行它,它运行但不返回值。
基于错误;'将 nvarchar 数据类型转换为 datetime 数据类型导致值超出范围',这让我认为问题与 '[Begin Time]>= cast('2018-09-05T09 :47:08' 作为日期时间)'
有没有人遇到过这个?
它是否特定于 SQL Server 版本?
我可以在复制任务的配置中做些什么吗?
我可以对 SQL Server 的复制分发进行更改吗?
解决方案
找到了解决方案。我以为与“演员表”有关
将用户的语言更改为 us_english
USE [master]
GO
ALTER LOGIN my_dms_user WITH DEFAULT_LANGUAGE = us_english
GO
推荐阅读
- sql-server - 我需要一个 SQL 服务器 Func 来计算一年中一周的完整日期
- scheme - 通过在 Scheme 中重复列表的元素来组成列表
- go - big.Float中Precision loss的问题
- php - WordPress 自定义端点模板不加载
- ansible - What is valid check for LV storage pool in j2 template with ansible?
- php - Replace placeholders in text by referencing a translation variable
- r - 合并两列维护缺失值
- mysql - 这种 SQL 字符串格式化方法对代码注入是否完全安全?
- networking - Ansible & Vagrant:获取私网ip地址
- c# - Can't upload data from excel file to my database (mysql) using c#