Инициализация сервера отчетов

В службах Службы Reporting Services инициализированный сервер — это сервер, способный шифровать и дешифровать данные в базе данных сервера отчетов. Инициализация является необходимым условием функционирования сервера отчетов. Инициализация происходит, когда служба сервера отчетов запускается впервые. Она также происходит, когда сервер отчетов подключается к уже развернутой системе или когда вручную повторно создаются ключи как часть процесса восстановления. Дополнительные сведения о создании ключей шифрования и их назначении см. в разделах Настройка и управление ключами шифрования и Хранение зашифрованных данных сервера отчетов.

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

Если инициализация по какой-либо причине прошла неудачно, сервер отчетов возвращает ошибку RSReportServerNotActivated в ответ на запросы пользователя и службы. В такой ситуации, вероятно, потребуется произвести диагностику и устранение неисправностей в системе или конфигурации сервера. Дополнительные сведения см. в разделе Устранение неполадок при инициализации и ошибок ключа шифрования электронной документации по SQL Server.

Общие сведения о процессе инициализации

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

Ниже описаны этапы инициализации.

  1. При первоначальном запуске служба сервера отчетов считывает файл конфигурации RSReportServer.config, чтобы получить идентификатор установки и сведения для соединения с базой данных.

  2. Служба сервера отчетов запрашивает открытый ключ у служб криптографии. Windows создает секретный и открытый ключ и отсылает открытый ключ службе сервера отчетов.

  3. Служба сервера отчетов соединяется с базой данных сервера отчетов и сохраняет значения идентификатора установки и открытого ключа.

  4. Служба сервера отчетов снова вызывает службы криптографии, на этот раз запрашивая симметричный ключ. Windows создает симметричный ключ.

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

Инициализация сервера отчетов для масштабного развертывания

Службы Службы Reporting Services поддерживает модель масштабного развертывания, которая опирается на совместное использование одной базы данных сервера отчетов несколькими экземплярами сервера отчетов. Чтобы присоединиться к масштабному развертыванию, сервер отчетов должен создать и сохранить свою копию симметричного ключа в общей базе данных. Хотя все серверы, использующие эту базу данных, пользуются единственным симметричным ключом, каждый сервер отчетов имеет собственную копию этого ключа. Каждая копия отличается от других тем, что она уникальным образом зашифрована при помощи открытого ключа своего владельца.

Первая группа этапов инициализации сервера отчетов для масштабного развертывания идентична первым трем этапам инициализации сочетания одиночного сервера и базы данных.

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

Как инициализировать сервер отчетов

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

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

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

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

Можно также воспользоваться поставщиком инструментария управления Windows (WMI) для служб Службы Reporting Services, чтобы программными средствами инициализировать сервер отчетов. Дополнительные сведения см. в разделе Поставщик WMI для служб Reporting Services электронной документации по SQL Server.

Как подтвердить инициализацию сервера отчетов

Для подтверждения инициализации сервера отчетов обратитесь к веб-службе сервера отчетов, введя в командной строке http://<имя_сервера>/reportserver. Если получена ошибка RSReportServerNotActivated, инициализация прошла неудачно.