当我运行此查询:SQL Server查询:遇到无效的日期时间值。值超过了9999年
select TimeUtc, CompanyId from dbo.storedcommands
SSMS将开始拉低第3,8万条记录了4,1万元才终于给了我这个消息:
An error occurred while executing batch. Error message is: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
奇怪的是,列数据类型是日期时间,所以我不明白读取它会导致溢出,除非一些数据被损坏。
现在的问题是,我怎么能找出为什么发生这种情况,我该如何解决?
更新: CheckDB或带有Data_Purity检查的CHECKTABLE都不报告任何内容。但至少在索引上似乎存在一些数据损坏。
你是如何获取数据到表?您是否尝试过使用DBCC CHECKTABLE检查是否存在损坏? –
@AndreasVendel没有运行的错误消息: DBCC CHECKTABLE(StoredCommands); 有没有其他可能有用的选项? –
已通过INSERT语句插入数据。但其实这是DB通过.bacpac创造生产的备份 –