Пользовательские отчеты в среде 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
Отмена скрытия предупреждений для пользовательских отчетов
Использование пользовательских отчетов для свойств узлов обозревателя объектов