Во многих узлах обозревателя объектов в среде SQL Server Management Studio отображается набор стандартных отчетов, созданных в Майкрософт. В этих отчетах сведены все обычно запрашиваемые данные о серверах. Начиная с версии SQL Server 2005 с пакетом обновления 2 (SP2), администраторы могут запускать пользовательские отчеты, созданные в среде Business Intelligence Development Studio, из среды 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 и она будет выполняться из этого отчета. Запуск отчета через учетную запись пользователя, обладающего расширенными правами доступа, делает возможным беспрепятственный запуск любых внедренных инструкций.
|
Образцы отчетов, включая стандартные отчеты, созданные в Майкрософт, доступны для загрузки. Эти образцы можно изменять с помощью среды Business Intelligence Development Studio.
Задачи
Как добавить пользовательский отчет в среду Management Studio
Как отменить подавление предупреждений для пользовательских отчетов
Основные понятия
Использование пользовательских отчетов со свойствами узлов обозревателя объектов
Справка и информация
Получение помощи по SQL Server 2008