Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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-相同的查询、相同的数据库、不同的结果_Sql Server_Locking_Isolation Level - Fatal编程技术网

Sql server SQL Server-相同的查询、相同的数据库、不同的结果

Sql server SQL Server-相同的查询、相同的数据库、不同的结果,sql-server,locking,isolation-level,Sql Server,Locking,Isolation Level,我在SQLServer2008中有一个数据库,有两个表。我正在Management Studio上运行以下查询: select M.FD_BROWSER_SHORT_NAME AS X, Count(1) AS Y from TB_EVENTS E INNER JOIN TB_MACHINES M ON E.FD_ID = M.FD_ID AND E.FD_ID_NET = M.FD_ID_NET where E.FD_EVENT_CODE = 30 group by

我在SQLServer2008中有一个数据库,有两个表。我正在Management Studio上运行以下查询:

select M.FD_BROWSER_SHORT_NAME AS X, Count(1) AS Y
from TB_EVENTS E 
     INNER JOIN TB_MACHINES M ON E.FD_ID = M.FD_ID AND E.FD_ID_NET = M.FD_ID_NET
where E.FD_EVENT_CODE = 30        
group by M.FD_BROWSER_SHORT_NAME
having Count(1) > 10
运行此查询时,结果如下:

X    Y
OP   23
CR   1809
IE   5392
MZ   1000
然后在同一数据库(同一会话)上再次运行查询(F5)。结果更改为:

X    Y
OP   1023
CR   1809
IE   5392
再次运行查询时,结果将恢复正常:

X    Y
OP   23
CR   1809
IE   5392
MZ   1000
同时,在同一台服务器上,我有一个C#应用程序更改数据库(插入和更新)。当我停止此应用程序时,问题就停止了

首先,我认为问题与锁有关。然后我尝试在SQL语句之前添加以下内容:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
但问题不断出现

我试图在另一台服务器上重现这个问题,但没有发生。我尝试将数据库迁移到另一台服务器和另一个版本的SQL server,但仍然发生这种情况

问题发生在另一个包含聚合函数的查询中

我还尝试更新统计数据并重建所有索引。没什么

有什么想法吗?

也许你的C#应用程序在你设置事务之前就锁定了。 尝试读取未提交的文件,并查看显示的内容:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED