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


Просмотр определения хранимой процедуры

Определение хранимой процедуры можно просмотреть в Среда SQL Server Management Studio, воспользовавшись параметрами меню обозревателя объектов, а также с помощью редактора запросов и языка Transact-SQL. В данном разделе описывается процесс просмотра определения хранимой процедуры в обозревателе объектов и с помощью хранимой в системе процедуры, системной функции и в представлении каталога объектов в редакторе запросов.

  • Перед началом работы выполните следующие действия. Безопасность

  • Просмотр определения хранимой процедуры при помощи следующего.  SQL Server Management Studio, Transact-SQL

Перед началом

Безопасность

Разрешения

[В начало]

  • Системная хранимая процедура: sp_helptext
    Необходимо быть членом роли public. Определения системных объектов видимы для всех. Определения пользовательских объектов видимы владельцу объекта или участникам, которым предоставлены следующие разрешения: ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION.

  • Системная функция: OBJECT_DEFINITION
    Определения системных объектов видимы для всех. Определения пользовательских объектов видимы владельцу объекта или участникам, которым предоставлены следующие разрешения: ALTER, CONTROL, TAKE OWNERSHIP или VIEW DEFINITION. Эти разрешения неявно предоставляются членам предопределенных ролей базы данных db_owner, db_ddladmin и db_securityadmin.

  • Представление каталога объектов: sys.sql_modules
    Видимость метаданных в представлениях каталогов ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения. Дополнительные сведения см. в разделе Настройка видимости метаданных.

Просмотр определения хранимой процедуры

Можно использовать одно из следующего.

  • SQL Server Management Studio

  • Transact-SQL

Использование среды SQL Server Management Studio

Просмотр определения процедуры средствами обозревателя объектов

  1. В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine и разверните его.

  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит процедура, и узел Программирование.

  3. Разверните пункт Хранимые процедуры, щелкните правой кнопкой процедуру, после чего щелкните пункт Создать скрипт для хранимой процедуры как, после чего щелкните один из следующих пунктов: Создать в, Изменить на или Удалить и создать в.

  4. Выберите Создать окно редактора запросов. При этом отобразится определение процедуры.

[В начало]

Использование Transact-SQL

Просмотр определения процедуры в редакторе запросов

  • Системная хранимая процедура: sp_helptext

    1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

    2. На панели инструментов нажмите кнопку Создать запрос.

    3. В окне запроса введите следующую инструкцию, которая использует системную хранимую процедуру sp_helptext. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

      USE AdventureWorks2012;
      GO
      EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';
      
  • Системная функция: OBJECT_DEFINITION

    1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

    2. На панели инструментов нажмите кнопку Создать запрос.

    3. В окне запроса введите следующие инструкции, которые используют системную функцию OBJECT_DEFINITION. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

      USE AdventureWorks2012;
      GO
      SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
      
  • Представление каталога объектов: sys.sql_modules

    1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

    2. На панели инструментов нажмите кнопку Создать запрос.

    3. В окне запроса введите следующие инструкции, которые используют представление каталогов sys.sql_modules. Измените имя базы данных и имя хранимой процедуры для ссылки на нужную базу данных и хранимую процедуру.

      USE AdventureWorks2012;
      GO
      SELECT definition
      FROM sys.sql_modules
      WHERE object_id = (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
      

[В начало]

См. также

Справочник

OBJECT_DEFINITION (Transact-SQL)

sys.sql_modules (Transact-SQL)

sp_helptext (Transact-SQL)

OBJECT_ID (Transact-SQL)

Основные понятия

Создание хранимой процедуры

Изменение хранимой процедуры

Удаление хранимой процедуры

Изменение имени хранимой процедуры