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
  • 相关阅读:
    Linux下SSH的Log文件路径
    Linux下压缩与解压命令tar
    Linux命令之at
    Linux下nice/renice命令小结
    Linux命令详解nice
    LVM---动态调整磁盘容量
    VT100字体
    Linux命令之WC
    for name in loop Shell
    Bind9用view配主从
  • 原文地址:https://www.cnblogs.com/nanfei/p/12964642.html
Copyright © 2011-2022 走看看