Поделиться через


Отсоединение масштабируемой общей базы данных

Время от времени данные отчетов становятся слишком старыми и бесполезными, и такую базу данных отчетов называют устаревшей. Изменение масштабируемой общей базы данных выполняется в цикле изменения из трех фаз, начинающемся с фазы отсоединения. По существу, фаза отсоединения включает в себя отключение устаревшей базы данных отчетов и отсоединение томов отчетов от серверов отчетов. Будучи отключаемой от данного экземпляра сервера, устаревшая база данных отчетов перестает быть масштабируемой общей базой данных на этом экземпляре сервера.

Этапы фазы отсоединения

На этом этапе на каждом из серверов отчетов выполните следующие операции.

  1. При необходимости отключите новые запросы к этой базе данных и позвольте текущим запросам правильно завершиться. Дополнительные сведения см. далее в пункте «Стратегии подготовки к отсоединению устаревшей базы отчетов».

  2. Отсоедините эту базу данных от каждого экземпляра сервера.

    Это можно выполнить с помощью следующей инструкции Transact-SQL:

    sp_detach_db @dbname='<database_name>'
    

    где <database_name> — имя базы данных.

  3. Отсоедините набор томов отчетов от каждого из серверов отчетов.

    Для отсоединения тома программой DiskPart выполните следующую команду в командной строке:

    DiskPart

    DISKPART> select volume=<номер_диска>

    DISKPART> remove

    DISKPART> exit

    Здесь <буква_диска> — буква, назначенная тому отчетов. Если база данных использует несколько томов отчетов, выполните этот шаг для каждого тома.

  4. Замаскируйте логический номер устройства LUN, соответствующий тому отчетов, чтобы скрыть его от серверов отчетов. Воспользуйтесь для этого служебными программами поставщика оборудования. Если база данных использует несколько томов отчетов, выполните этот шаг для каждого тома.

ПримечаниеПримечание

Фаза отсоединения — это первая фаза цикла изменения для данного набора томов отчетов. Тем не менее можно использовать два альтернативных набора томов отчетов для устаревших и новых версий базы данных отчетов. Это обеспечивает возможность перекрытия фаз отсоединения и обновления этих наборов томов. Дополнительные сведения см. в разделе Максимизация доступности масштабируемой общей базы данных.

Стратегии подготовки к отсоединению устаревшей базы отчетов

При замене устаревшей версии базы данных важно учесть бизнес-требования к среде, в которой выполняются отчеты. Необходимо оценить, какие из следующих задач бизнеса являются наиболее важными: завершение запросов, выполняющихся в данный момент, или как можно более быстрое завершение обновлений.

В зависимости от того, какое требование более важно, решите, как выполнять фазу отключения на каждом из серверов отчетов.

  • Разрешить запросам завершиться

    Для сохранения всех выполняемых запросов начните фазу отключения с остановки потока транзакций к базе данных, например остановив ввод-вывод. Затем на каждом экземпляре сервера дождитесь завершения всех текущих запросов. После отсоединения базы данных от всех экземпляров серверов можно отключать том отчетов.

  • Обновить базу данных как можно быстрее

    Для скорейшего завершения обновления получите монопольные права на доступ к этой базе данных на каждом экземпляре сервера, прервав запросы немедленно или по истечении указанного числа секунд. Прерванные запросы могут перезапуститься после подключения обновленной версии базы данных.

    Например, чтобы дать запущенным запросам 60 секунд на завершение перед прекращением оставшихся запросов выполните следующую инструкцию Transact-SQL:

    USE master;
    ALTER DATABASE AdventureWorks2008R2
    SET SINGLE_USER
    WITH ROLLBACK AFTER 60;
    GO
    

    Теперь можно отключить эту базу данных от каждого экземпляра сервера и отсоединить том или тома отчетов от каждого из серверов отчетов.

Дополнительные сведения см. в разделе ALTER DATABASE (Transact-SQL).

В этот момент отключенный набор томов отчетов готов к фазе построения или обновления следующего цикла обновления.

Другой способ: перед началом фазы отсоединения для подключенного в настоящее время набора томов отчетов можно обновить базу данных на другом наборе томов отчетов. Дополнительные сведения см. в разделе Максимизация доступности масштабируемой общей базы данных.