zoukankan      html  css  js  c++  java
  • 查询并验证 TransactionScope 隔离级别

    void Main()
    {
        this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
    
        using (var tran = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 0, 120)))
        {
            this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
        }
        
        var transactionOptions = new System.Transactions.TransactionOptions();
        transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
        using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
        {
            this.ExecuteQuery<string>(@"SELECT  CASE transaction_isolation_level
                                          WHEN 0 THEN 'Unspecified'
                                          WHEN 1 THEN 'ReadUncommitted'
                                          WHEN 2 THEN 'ReadCommitted'
                                          WHEN 3 THEN 'Repeatable'
                                          WHEN 4 THEN 'Serializable'
                                          WHEN 5 THEN 'Snapshot'
                                        END AS TRANSACTION_ISOLATION_LEVEL
                                FROM    sys.dm_exec_sessions
                                WHERE   session_id = @@SPID;", new object[] { }).Dump();
        }
    }
    
    // Define other methods and classes here
  • 相关阅读:
    专家教你应对小孩鼻血不止
    爸爸去哪?
    Windows server 2008 R2 + IIS7.5,ASP网站设置
    请把这十个生命气质传给孩子
    zoj 2071 Technology Trader 最大权闭合子图
    TJU 2944 Mussy Paper 最大权闭合子图
    poj 1222 EXTENDED LIGHTS OUT 高斯消元
    codeforces 383C Propagating tree 线段树
    ubuntu 安装qq
    Kafka Manager 监控
  • 原文地址:https://www.cnblogs.com/nanfei/p/12964642.html
Copyright © 2011-2022 走看看