Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Где на сервере хранятся содержимое хранимых процедур?  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
Возможно ли достать список хранимых процедур и их содержимое, аналогично списку таблиц, вьюх, тригеров, столбцов, из системных таблиц или представлений?
11 окт 11, 10:55    [11417867]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Oblom,
да.
11 окт 11, 10:58    [11417901]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
iljy
Member

Откуда:
Сообщений: 8711
Oblom,

INFORMATION_SCHEMA.ROUTINES
11 окт 11, 11:00    [11417915]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Oblom,

sys.objects + фильтр по евойному столбцу type
11 окт 11, 11:07    [11417988]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
SamMan,

А! ТС еще текст ХП требуется. Тогда джоин предыдущего с sys.sql_modules и глядеть колонку definition у последнего.
11 окт 11, 11:13    [11418036]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SELECT OBJECT_DEFINITION(OBJECT_ID(N'ИмяПроцедуры','P'));
11 окт 11, 11:36    [11418262]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
ещё один профанский вопрос, как по имени таблицы определить в какой файловой группе она находится?
я пробовал
SELECT f.name
FROM sys.tables t 
	INNER JOIN sys.filegroups f ON t.filestream_data_space_id=f.data_space_id
WHERE t.object_id = object_id('Table1')
как написано в BOL, но у меня для всех таблиц базы filestream_data_space_id в представлении sys.tables равно NULL
11 окт 11, 16:38    [11421594]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
Glory
Member

Откуда:
Сообщений: 104751
sys.indexes
11 окт 11, 16:45    [11421642]     Ответить | Цитировать Сообщить модератору
 Re: Где на сервере хранятся содержимое хранимых процедур?  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Oblom
как по имени таблицы определить в какой файловой группе она находится?


Очень просто:
select 
object_name(i.object_id), d.name
from sys.data_spaces d
inner join sys.indexes i on d.data_space_id = i.data_space_id
where
i.index_id < 2
and objectproperty(i.object_id, 'IsMsShipped') = 0
order by d.name
11 окт 11, 16:47    [11421658]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить