Habilitación del nivel de aislamiento de transacción de instantáneas en SQL Server 2005 Analysis Services

En este artículo se describen los pasos que debe seguir para habilitar el nivel de aislamiento de transacción de instantáneas en Analysis Services.

Versión del producto original: SQL Server
Número de KB original: 919160

Introducción

En este artículo se describe cómo habilitar el nivel de aislamiento de transacción de instantáneas en Microsoft SQL Server Analysis Services. Además, en este artículo se describe cómo probar si el nivel de aislamiento de transacción de instantáneas está habilitado.

Habilitación del nivel de aislamiento de transacción de instantáneas

En Analysis Services, puede usar el nivel de aislamiento de transacción de instantáneas para conectarse al origen de datos SQL Server. Para habilitar el nivel de aislamiento de transacción de instantáneas, siga estos pasos:

  1. En SQL Server Management Studio, ejecute las instrucciones siguientes.

    ALTER DATABASE <DatabaseName>
    SET READ_COMMITTED_SNAPSHOT ON
    GO
    ALTER DATABASE <DatabaseName>
    SET ALLOW_SNAPSHOT_ISOLATION ON
    GO
    

    Nota:

    En estas instrucciones, <DatabaseName> es un marcador de posición para una base de datos del origen de datos que desea usar en Analysis Services.

  2. En Business Intelligence Development Studio, cree un nuevo proyecto de Analysis Services.

    Como alternativa, abra un proyecto de Analysis Services existente.

  3. Si creó un nuevo proyecto de Analysis Services en el paso 2, siga estos pasos:

    1. En Explorador de soluciones, haga clic con el botón derecho en Orígenes de datosy, a continuación, haga clic en Nuevo origen de datos.
    2. En el cuadro de diálogo Seleccionar cómo definir la conexión , haga clic en Nuevo. Aparece el cuadro de diálogo Administrador de conexiones.

    Si abrió un proyecto de Analysis Services existente en el paso 2, siga estos pasos:

    1. En la carpeta Orígenes de datos , haga doble clic en el origen de datos existente.
    2. En el cuadro de diálogo Designer de origen de datos, haga clic en Editar. Aparece el cuadro de diálogo Administrador de conexiones.
  4. En el cuadro de diálogo Administrador de conexiones, haga clic en OLE DB nativo\SQL Native Client en la lista Proveedor.

  5. Especifique el nombre del servidor y la autenticación.

  6. Para probar la conexión, haga clic en Probar conexión.

  7. En el panel izquierdo, haga clic en Todo.

  8. En el panel derecho, haga clic en True en la lista Conexión de MARS y, a continuación, haga clic en Aceptar.

  9. En el cuadro de diálogo Origen de datos Designer , haga clic en Instantánea en la lista Aislamiento y, a continuación, haga clic en Aceptar.

Prueba de si el nivel de aislamiento de transacción de instantánea está habilitado

Para probar si el nivel de aislamiento de transacción de instantánea está habilitado, siga estos pasos:

  1. Inicie SQL Server Profiler.

  2. Cree un nuevo seguimiento para conectarse al origen de datos especificado en el proyecto de Analysis Services.

  3. En el cuadro de diálogo Propiedades de seguimiento , haga clic en la pestaña Selección de eventos .

  4. En la columna TransactionID , haga clic para activar las casillas de la fila del SQL:BatchCompleted evento y en la fila del SQL:BatchStarting evento.

    Nota:

    Para mostrar la columna TransactionID , haga clic para activar la casilla Mostrar todas las columnas .

  5. Haga clic en Ejecutar para iniciar el seguimiento.

  6. En Business Intelligence Development Studio, procese el proyecto de Analysis Services.

  7. En SQL Server Profiler, busque los SQL:BatchCompleted eventos y los SQL:BatchStarting eventos que tienen el mismo valor en la columna TransactionID. Normalmente, estos eventos contienen la SELECT instrucción en la columna TextData . Para estos eventos, obtenga el identificador de sesión en la columna SPID .

  8. Para conectarse al origen de datos, inicie SQL Server Management Studio.

  9. Cree una nueva consulta y, a continuación, ejecute la siguiente instrucción Transact-SQL.

    select session_id,Transaction_Isolation_Level from sys.dm_exec_sessions
    where session_id=<SPID>
    

    Nota:

    En esta instrucción, <SPID> es un marcador de posición para el identificador de sesión que obtuvo en el paso 7.

  10. En la pestaña Resultados , anote el valor de la columna Transaction_Isolation_Level . Este valor indica el nivel de aislamiento de transacción que se usa en el proyecto de Analysis Services. Cuando el nivel de aislamiento de transacción de instantánea está habilitado, el valor de la columna Transaction_Isolation_Level es 5. En la tabla siguiente se muestran los valores de la columna Transaction_Isolation_Level y los niveles de aislamiento de transacción correspondientes.

    Valor Nivel de aislamiento de transacción
    0 Unspecified
    1 ReadUncommitted
    2 ReadCommitted
    3 Repetible
    4 Serializable
    5 Instantánea

Referencias

Para obtener más información sobre el nivel de aislamiento de transacción de instantáneas, consulte los temas siguientes de los Libros en pantalla de SQL Server 2005:

  • SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
  • Habilitación de niveles de aislamiento basados en versiones de fila
  • Niveles de aislamiento en el motor de base de datos