在使用 C# Entity Framework 时,我注意到我的 SQL Server 实例崩溃了。
我能够将其追溯到以下声明:
SELECT * FROM dbo.[TestTable]
where mpnr in (1099059904,
1038139906,
1048119902,
1045119902,
1002109903,
1117109910,
1111149902,
1063149902,
1117159902,
1116109904,
1105079905,
1012079906,
1129129904,
1103059905,
1065059905,
1091059906,
1110149904,
1129149903,
1083029905,
1080139904,
1076109903,
1010019902,
1058019902,
1060019903,
1053019902,
1030089902,
1018149902,
1077149902,
1010109901,
1011109901,
1000119902,
1023049903,
1107119909,
1108119909,
1106119909)
Run Code Online (Sandbox Code Playgroud)
该表如下所示:
CREATE TABLE dbo.[TestTable]([MPNR] [numeric](9, 0) NOT NULL)
Run Code Online (Sandbox Code Playgroud)
每次启动查询时都会发生崩溃。如果我减少IN
子句中值的数量,它就会起作用。(当然,它不返回任何行。)
我知道IN
子句中的值是 10 位数字,列只有 9 位数字,但这不应导致整个 SQL Server 实例崩溃。
我的 SQL Server 的版本是 Windows Server 2003 32 …