Бөлісу құралы:


Пользовательские отчеты в среде Management Studio

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

В СРЕДЕ SQL Server Management Studio многие узлы обозреватель объектов отображают набор стандартных отчетов, созданных корпорацией Майкрософт. В этих отчетах сведены все обычно запрашиваемые данные о серверах. Начиная с SQL Server 2005 (9.x) с пакетом обновления 2 , администраторы могут запускать пользовательские отчеты, созданные в SQL Server Data Tools (SSDT) из Management Studio.

Внедрение

Пользовательские отчеты создаются на языке определения отчетов и хранятся в виде файлов определения отчетов (RDL). RDL определяет сведения о получении данных и макете отчета в формате XML. Язык RDL представляет собой открытую схему. Это дает разработчикам возможность расширять его, добавляя дополнительные атрибуты и элементы. Внутри отчета могут выполняться любые допустимые инструкции Transact-SQL.

Если обозреватель объектов не подключен к серверу, то пользовательские отчеты могут выполняться в контексте текущего узла, выбранного в обозревателе объектов, если отчеты ссылаются на его параметры отчета. Это позволяет отчету использовать текущий контекст (например, текущую базу данных) либо согласованный контекст (например, указать нужную базу данных в инструкции Transact-SQL, включенной в пользовательский отчет).

Запуск пользовательского отчета

Пользовательский отчет можно запустить в Management Studio следующими способами:

  • Щелкните узел в обозревателе объектов правой кнопкой мыши, наведите указатель на Отчеты , а затем выберите пункт Пользовательские отчеты. В диалоговом окне Открытие файла найдите папку, содержащую RDL-файлы, и откройте нужный файл отчета.

  • Щелкните узел в обозревателе объектов правой кнопкой мыши, наведите указатель на Отчеты, а затем выберите пункт Пользовательские отчеты. После этого выберите из списка последних использованных файлов нужный пользовательский отчет.

Ограничения

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

  • Чтобы предотвратить непреднамеренное выполнение вредоносного кода, среда Management Studio не может быть настроена для автоматического запуска отчета, даже если файловая система настроена для связывания RDL-файлов с Management Studio. Отчеты не могут выполняться программным способом в Среде Management Studio и не могут выполняться из командной строки через Management Studio.

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

  • Пользовательский отчет не может быть добавлен в список стандартных отчетов.

  • Код, обрабатываемый в отчете, может оказать влияние на производительность сервера.

  • Пользовательские отчеты не поддерживают вложенные отчеты.

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

  • Любой параметр, используемый в команде (запросе), может ссылаться только на один параметр отчета и не может использовать операторы выражений.

  • Для команд отчетов (запросов) поддерживаются только следующие типы команд: «Только текст» и «Хранимая процедура».

  • Среда обработки отчетов не предусматривает экранирование параметров запросов. Автор запроса должен проверить, что его запрос устойчив к атакам типа «Внедрение SQL».

Управление пользовательскими отчетами

Пользователям, имеющим несколько пользовательских отчетов, рекомендуется упорядочить их по папкам файловой системы, задав соответствующие разрешения файловой системы NTFS.

Разрешения

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

Для пользователя и учетной записи, используемой службой SQL Server, требуется доступ на чтение к папке файловой системы, содержащей файлы отчета.

Любая допустимая команда платформа .NET Framework может быть внедрена в отчет, но эта команда не будет выполнена.

Внимание

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

См. также

Добавление пользовательского отчета в среду Management Studio
Отмена скрытия предупреждений для пользовательских отчетов
Использование пользовательских отчетов для свойств узлов обозревателя объектов