所以我遇到了SQL Server 2008 R2的问题,而我在SQL Server 2005中没有这个问题。
我备份了一个数据库并将其恢复到SQL Server 2008 R2。它是一个中等大小的标准数据库,带有一些索引和全文索引。
现在的问题是我有一个永不停止的开放交易。
执行查询时:
DBCC OPENTRAN;
我得到的结果是: 数据库'MediaTrunk2005'的交易信息。
Oldest active transaction:
SPID (server process ID): 34s
UID (user ID) : -1
Name : offline index build
LSN : (4070767:241:144)
Start time : Jul 29 2014 2:16:35:867PM
SID : 0x0
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
如果我用我的数据库查看'syslockinfo'表,我可以看到:
rsc_text rsc_bin rsc_valblk rsc_dbid rsc_indid rsc_objid rsc_type rsc_flag req_mode req_status req_refcnt req_cryrefcnt req_lifetime req_spid req_ecid req_ownertype req_transactionID req_transactionUOW
-------------------------------- ---------------------------------- ---------------------------------- -------- --------- ----------- -------- -------- -------- ---------- ---------- ------------- ------------ ----------- ----------- ------------- -------------------- ------------------------------------
0x0000000000000000000000001E000200 0x00000000000000000000000000000000 30 0 0 2 0 3 1 1 0 0 252 0 4 0 00000000-0000-0000-0000-000000000000
0x0000000000000000000000001E000200 0x00000000000000000000000000000000 30 0 0 2 0 3 1 1 0 0 -2 0 4 0 00000000-0000-0000-0000-000000000000
(2行(s)受影响)
好吧,它不太可读。我想要显示的是一个空的UOW guid所以我不能用Guid杀死它。
我该如何解决这个问题?您还需要哪些信息?
编辑: 我还恢复了SQL Server 2012上的数据库,并且那里也没有bug。所以它只能在SQL Server 2008 R2上失败。