none
請問有關 SQL 2000 ISOLATION LEVEL(隔離等級)問題 RRS feed

  • 問題

  •  

    在SQL 2000 中 預設交易隔離等級為READ COMMITTED,
    若要使用 READ UNCOMMITTED隔離等級, 需針對個別連線下如
     SET TRANSACTION ISOLATION LEVEL   READ UNCOMMITTED 指令.
    想請問是否能將SQL 2000 預設的隔離等級就直接改成READ UNCOMMITTED,
    讓所有連線預設皆使用此READ UNCOMMITTED隔離等級,謝謝...

    2007年4月26日 上午 02:21

解答

  • 您好:
    很抱歉!您無法在 SQL Server 的 Enterprise Manager 中,透過 GUI 的方式變更交易隔離等級設定,這是 design-issue。但是您可以使用 Transact-SQL 或透過資料庫 API 來設定:
  • Transact-SQL
    於 Transact-SQL 指令碼或資料程式庫應用程式使用 SET TRANSACTION ISOLATION LEVEL 陳述式。
  • ADO
    於 ADO 應用程式將 Connection 物件的 IsolationLevel 屬性設定為 adXactReadUncommitted、adXactReadCommitted、adXactRepeatableRead、或是 adXactReadSerializable。
  • OLE DB
    於 OLE DB 應用程式呼叫 isoLevel 設定為 ISOLATIONLEVEL_READUNCOMMITTED、ISOLATIONLEVEL_READCOMMITTED、ISOLATIONLEVEL_REPEATABLEREAD、或是 ISOLATIONLEVEL_SERIALIZABLE 的 ITransactionLocal : : StartTransaction。
  • ODBC
    於 ODBC 應用程式呼叫 Attribute 設定為 SQL_ATTR_TXN_ISOLATION 以及 ValuePtr 設定為 SQL_TXN_READ_UNCOMMITTED、SQL_TXN_READ_COMMITTED、SQL_TXN_REPEATABLE_READ、或是 SQL_TXN_SERIALIZABLE 的 SQLSetConnectAttr。
    2007年4月27日 上午 06:57
    版主

所有回覆

  • 您好:
    很抱歉!您無法在 SQL Server 的 Enterprise Manager 中,透過 GUI 的方式變更交易隔離等級設定,這是 design-issue。但是您可以使用 Transact-SQL 或透過資料庫 API 來設定:
  • Transact-SQL
    於 Transact-SQL 指令碼或資料程式庫應用程式使用 SET TRANSACTION ISOLATION LEVEL 陳述式。
  • ADO
    於 ADO 應用程式將 Connection 物件的 IsolationLevel 屬性設定為 adXactReadUncommitted、adXactReadCommitted、adXactRepeatableRead、或是 adXactReadSerializable。
  • OLE DB
    於 OLE DB 應用程式呼叫 isoLevel 設定為 ISOLATIONLEVEL_READUNCOMMITTED、ISOLATIONLEVEL_READCOMMITTED、ISOLATIONLEVEL_REPEATABLEREAD、或是 ISOLATIONLEVEL_SERIALIZABLE 的 ITransactionLocal : : StartTransaction。
  • ODBC
    於 ODBC 應用程式呼叫 Attribute 設定為 SQL_ATTR_TXN_ISOLATION 以及 ValuePtr 設定為 SQL_TXN_READ_UNCOMMITTED、SQL_TXN_READ_COMMITTED、SQL_TXN_REPEATABLE_READ、或是 SQL_TXN_SERIALIZABLE 的 SQLSetConnectAttr。
    2007年4月27日 上午 06:57
    版主
  • 非常謝謝您的回覆...
    2007年4月27日 上午 07:31