Включение уровня изоляции транзакций snapshot в службах Analysis Services SQL Server 2005

В этой статье описаны действия, которые необходимо выполнить, чтобы включить уровень изоляции транзакций snapshot в службах Analysis Services.

Оригинальная версия продукта: SQL Server
Оригинальный номер базы знаний: 919160

Введение

В этой статье описывается, как включить уровень изоляции транзакций snapshot в Microsoft SQL Server Analysis Services. Кроме того, в этой статье описывается, как проверить, включен ли уровень изоляции транзакций snapshot.

Включение уровня изоляции транзакций snapshot

В службах Analysis Services для подключения к источнику данных SQL Server можно использовать уровень изоляции транзакций snapshot. Чтобы включить уровень изоляции транзакций snapshot, выполните следующие действия.

  1. В SQL Server Management Studio выполните следующие инструкции.

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

    Примечание.

    В этих инструкциях — заполнитель для базы данных в источнике данных, <DatabaseName> который вы хотите использовать в службах Analysis Services.

  2. В среде Business Intelligence Development Studio создайте проект служб Analysis Services.

    Кроме того, откройте существующий проект служб Analysis Services.

  3. Если вы создали проект служб Analysis Services на шаге 2, выполните следующие действия.

    1. В Обозреватель решений щелкните правой кнопкой мыши пункт Источники данных и выберите пункт Создать источник данных.
    2. В диалоговом окне Выбор способа определения подключения нажмите кнопку Создать. Откроется диалоговое окно диспетчер подключений.

    Если вы открыли существующий проект служб Analysis Services на шаге 2, выполните следующие действия.

    1. В папке Источники данных дважды щелкните существующий источник данных.
    2. В диалоговом окне Источник данных Designer нажмите кнопку Изменить. Откроется диалоговое окно диспетчер подключений.
  4. В диалоговом окне диспетчер подключений выберите Native OLE DB\SQL Native Client в списке поставщиков.

  5. Укажите имя сервера и проверку подлинности.

  6. Чтобы проверить подключение, щелкните Проверить подключение.

  7. В левой области щелкните Все.

  8. В правой области выберите True в списке ПОДКЛЮЧЕНИЕ MARS , а затем нажмите кнопку ОК.

  9. В диалоговом окне Источник данных Designer выберите моментальный снимок в списке Изоляция и нажмите кнопку ОК.

Проверка того, включен ли уровень изоляции транзакций snapshot

Чтобы проверить, включен ли уровень изоляции транзакций snapshot, выполните следующие действия.

  1. Запустите SQL Server Profiler.

  2. Создайте новую трассировку для подключения к источнику данных, указанному в проекте служб Analysis Services.

  3. В диалоговом окне Свойства трассировки перейдите на вкладку Выбор событий .

  4. В столбце TransactionID щелкните, чтобы выбрать поля проверка в строке SQL:BatchCompleted события и в строке SQL:BatchStarting для события.

    Примечание.

    Чтобы отобразить столбец TransactionID, выберите поле Показать все столбцы проверка.

  5. Нажмите кнопку Выполнить , чтобы запустить трассировку.

  6. В среде Business Intelligence Development Studio обработайте проект служб Analysis Services.

  7. В SQL Server Profiler найдите SQL:BatchCompleted события и SQL:BatchStarting события с одинаковым значением в столбце TransactionID. Как правило, эти события содержат инструкцию SELECT в столбце TextData . Для этих событий получите идентификатор сеанса в столбце SPID .

  8. Чтобы подключиться к источнику данных, запустите SQL Server Management Studio.

  9. Создайте запрос, а затем выполните следующую инструкцию Transact-SQL.

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

    Примечание.

    В этой инструкции SPID> является заполнителем для идентификатора сеанса,< полученного на шаге 7.

  10. На вкладке Результаты обратите внимание на значение в столбце Transaction_Isolation_Level . Это значение указывает уровень изоляции транзакций, который используется в проекте служб Analysis Services. Если включен уровень изоляции транзакций snapshot, значение в столбце Transaction_Isolation_Level равно 5. В следующей таблице показаны значения в столбце Transaction_Isolation_Level и соответствующие уровни изоляции транзакций.

    Значение Уровень изоляции транзакций
    0 Не определено.
    1 ReadUncommitted
    2 ReadCommitted
    3 Повторяемые
    4 Сериализуемый
    5 Снимок

Ссылки

Дополнительные сведения об уровне изоляции транзакций snapshot см. в следующих разделах электронной документации по SQL Server 2005 г.:

  • SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
  • Включение уровней изоляции на основе управления версиями строк
  • Уровни изоляции в ядре СУБД