2010-03-12 3 views
1

На сервере Sql при выборе варианта изменения SP или UDF он загружает запрос на изменение объектов в окне запроса. Доступны ли эти запросы в системной таблице, чтобы я мог хранить инструкции alter где-нибудь? Похоже, что в syscomments есть некоторые объекты, но не все из них.MS Sql Создание объекта сервера/Alter Script

Благодаря

ответ

1

Не используйте syscomments, потому что syscomments.text является nvarchar(4000) и в результате будет укоротить все, что больше.

Используйте sys.sql_modules, потому что definition is nvarchar(max), он не будет усекать длинный код.

использовать это, чтобы просмотреть текст данной процедуры, представления или функции:

SELECT * FROM sys.sql_modules WHERE object_id=object_id('YourProcedure') 

Используйте это, чтобы получить имя, тип и текст любой процедуры, представления или функции:

SELECT DISTINCT 
    o.name AS Object_Name,o.type_desc, m.definition 
    FROM sys.sql_modules  m 
     INNER JOIN sys.objects o ON m.object_id=o.object_id 
    WHERE m.object_id=object_id('CPT_SP_IRA_ComboBox_IncidentStatus') 
-1

Я не совсем уверен, что вы просите, но вы можете увидеть хранимые процедуры с помощью следующего запроса:

SELECT SO.Type,SO.Name,SC.Text 
FROM sysobjects SO (NOLOCK) 
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID 
AND SO.Type = 'P' 
ORDER BY SO.Name 

Если вы после различных типов объектов, возьмите посмотрите на sys.sysobjects для разных типов.

Смежные вопросы