Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server查询:遇到无效的日期时间值。值超过9999年_Sql Server_Datetime - Fatal编程技术网

Sql server SQL Server查询:遇到无效的日期时间值。值超过9999年

Sql server SQL Server查询:遇到无效的日期时间值。值超过9999年,sql-server,datetime,Sql Server,Datetime,运行此查询时: select TimeUtc, CompanyId from dbo.storedcommands SSMS将开始从410万条记录中删除前380万条记录,直到它最终向我传达以下信息: 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. 奇怪

运行此查询时:

select TimeUtc, CompanyId from dbo.storedcommands
SSMS将开始从410万条记录中删除前380万条记录,直到它最终向我传达以下信息:

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.
奇怪的是,列数据类型是datetime,所以我不知道读取它会导致溢出,除非某些数据损坏

现在我的问题是,我怎样才能发现为什么会发生这种情况,我怎样才能解决它

更新:CheckDB或带有数据的CHECKTABLE\u纯度检查均不报告任何内容。但至少在索引上似乎存在一些数据损坏


看到东西看起来已损坏,我决定重新启动计算机。猜猜看。现在它又开始工作了

我尝试重新启动的原因:

我很确定它在早些时候起作用了,而且我没有插入任何新的 排 数据纯度检查未显示任何错误 用谷歌搜索这些错误会得到很多点击率。但仅适用于更新/插入/强制转换/添加。永远不要问问题。没有别的错误 在花费时间之前,应该重新启动。 我从上面的查询中得到的结果看起来非常奇怪,不可能,因为我们离这个Id种子很远。
你是如何把数据输入表格的?您是否尝试过DBCC CHECKTABLE检查损坏?@AndreasVendel运行时没有错误消息:DBCC CHECKTABLES STOREDCOMANDS;是否有其他有用的选项?数据已通过INSERT语句插入。但这实际上是通过创建的生产数据库的备份。bacpac@TheGameiswar是的,但是如果您查看该查询的筛选器,这些行应该在那里。似乎有些东西是off3930606=0000000000000000000000011101111100111101110和1125899910773230=1000000000000000000000000000000001111111111100111101110,所以一个位被翻转了。如果checkdb没有找到任何东西并重新启动解决了它,那么可能在内存中。啊,ye olde:-你重新启动了什么?客户机还是服务器?或者这两个都是一样的?@MartinSmith它在一个开发设备盒上,所以它是一样的。@MikaelEliasson可能值得对该盒运行memtest实用程序。