Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
SuperJur Member Откуда: Москва Сообщений: 274 |
Доброе время суток! Сабж. Но соль в том, как можно узнать список хранимых процедур, в которых используется определенная таблица ? Удачи! |
19 авг 11, 10:32 [11144128] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
SELECT [name] FROM [sys].[objects] WHERE [type]='P' AND OBJECT_DEFINITION([object_id]) LIKE N'%ИмяТаблицы%'; |
19 авг 11, 10:46 [11144243] Ответить | Цитировать Сообщить модератору |
SuperJur Member Откуда: Москва Сообщений: 274 |
iap, ой, как спасибо! |
19 авг 11, 10:47 [11144252] Ответить | Цитировать Сообщить модератору |
Шпунтик Member Откуда: Сообщений: 148 |
SuperJur, ещё можно ткнуть правой кнопкой по таблице и View Dependencies |
19 авг 11, 10:51 [11144292] Ответить | Цитировать Сообщить модератору |
SuperJur Member Откуда: Москва Сообщений: 274 |
Шпунтик, :-), спасибо, я тыкал, но надо кодом. Даже профайлер запускал, чтобы посмотреть, что там делает машинка программным кодом. |
19 авг 11, 11:00 [11144359] Ответить | Цитировать Сообщить модератору |
sysdepends
Guest |
и что вам сказал профайлер? зы select * from sys.sysdepends |
||
19 авг 11, 13:06 [11145608] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Начинучка
Guest |
iap, сорри за некропостинг... а если мне нужно табличное построчное представление исходного кода процедуры? как его можно получить ? из каких системных таблиц/представлениий? |
16 янв 18, 11:02 [21109834] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Начинучка, sys.syscomments ну и помнить что больше 8000 будет хранится в нескольких записях. можете sp_helptext посмотреть код |
16 янв 18, 11:06 [21109847] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
sp_helptext |
||
16 янв 18, 11:34 [21109936] Ответить | Цитировать Сообщить модератору |
Шыфл Member Откуда: Прага Сообщений: 776 |
select * from sys.all_sql_modules select * from sys.sql_modules |
16 янв 18, 16:32 [21111435] Ответить | Цитировать Сообщить модератору |
Начинучка
Guest |
А подскажите, как лучше решить такого рода задачу: 1) Нужно получить список процедур в определенной БД по определенному условию. 2) Для всех процедур из этого списка получить их определение (текст процедуры). 3) Сохранить текст процедуры в файл. Каждую процедуры - в отдельный файл. С первыми двумя пунктами, вроде разобрался с вашей помощью. А третий как реализовать? |
17 янв 18, 06:29 [21112541] Ответить | Цитировать Сообщить модератору |
aleksrov Member Откуда: Сообщений: 948 |
Можете создать пакет SSIS, или можете использовать powershell, sqlcmd и т.д. http://www.sqlservercentral.com/articles/Export/147145/ Как сделать чтобы в отдельный файл, зависит от того что выбирите. |
||
17 янв 18, 06:39 [21112549] Ответить | Цитировать Сообщить модератору |
iiyama Member Откуда: Сообщений: 642 |
Начинучка, 1. Правый клик на БД->Tasks->GenerateScripts 2. Select specific -> Выделяете все процедуры 3. Files to generate = Singe file per object 4. Добавляете в свой репозитарий контроля версий (или просто копируете в нужную папку) 5. Переносите куда нужно только нужные (имя файла = названию объекта в БД) 6. Profit |
17 янв 18, 10:07 [21112905] Ответить | Цитировать Сообщить модератору |
Начинучка
Guest |
iiyama, возьму на вооружение.... aleksrov, а если через sqlcmd, как оно примерно могло бы выглядеть? |
17 янв 18, 10:08 [21112913] Ответить | Цитировать Сообщить модератору |
человек_ниоткуда
Guest |
Можно сделать SSDT Database Project (гуглим), а там сделать schema compare (гуглим). |
17 янв 18, 11:40 [21113257] Ответить | Цитировать Сообщить модератору |
Alexander Us Member Откуда: Сообщений: 1153 |
Можете и .NET программку написать. Курите классы SMO: например StoredProcedure.Script примеры |
||
17 янв 18, 17:14 [21114532] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |