在Server的前提下,我们使用了DBCC OpenTran,但是我们发现DBCC OpenTran在Azure中是不可用的。有什么办法可以替代呢?
发布于 2022-10-15 05:13:56
根据Microsoft,Azure数据库支持文档。如果它不能工作,尝试使用像sys.dm_exec_sessions,sys.sysprocesses这样的sys视图。
SELECT * FROM sys.dm_exec_sessions where open_transaction_count=1;SELECT * FROM sys.sysprocesses WHERE open_tran = 1查询:
以下查询使用dbcc、sys.sysprocesses视图、sys.dm_exec_sessions视图获取当前数据库的活动事务信息。
CREATE TABLE T1(Col1 INT, Col2 CHAR(3));
GO
BEGIN TRAN
INSERT INTO T1 VALUES (101, 'abc');
GO
DBCC OPENTRAN;
SELECT * FROM sys.sysprocesses WHERE open_tran = 1;
SELECT * FROM sys.dm_exec_sessions where open_transaction_count=1;
ROLLBACK TRAN;
GO
DROP TABLE T1;
GO结果:
DBCC 结果:

sys.sysprocesses视图的结果:

sys.dm_exec_sessions视图的结果:

有关其他信息,请参阅Microsoft 会话T。
https://stackoverflow.com/questions/74040656
复制相似问题