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

Откуда:
Сообщений: 616
Всем привет.

Хочу автоматизировать задачу переноса хранимых процедур с эталона на множество других БД. Таблицы в каждой БД свои, нужно только хранимки распространить.

Поделитесь опытом.
13 ноя 19, 11:17    [22015120]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31331
teCa
Всем привет.

Хочу автоматизировать задачу переноса хранимых процедур с эталона на множество других БД. Таблицы в каждой БД свои, нужно только хранимки распространить.

Поделитесь опытом.
Поищите в этом разделе. Много раз было, последняя тема буквально пару дней назад.
13 ноя 19, 11:22    [22015128]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33517
Блог
teCa,

Проект в SSDT + публикация, например, руками. Или автоматом с помощью tfs или батника с компа разработчика.

Сообщение было отредактировано: 13 ноя 19, 12:07
13 ноя 19, 12:07    [22015199]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
Владислав Колосов
Member

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

если таблицы свои, то и процедуры должны отличаться.
13 ноя 19, 12:21    [22015209]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
L_argo
Member

Откуда:
Сообщений: 1191
Делал сабж для ХП и функций.
В результате получал обычный файл SQL-скрипта.

Он делает так:
Если ХП нет, то создаем пустую и грантим ее по умолчанию. Потом ее альтируем с новым sql-кодом.
Это нужно, чтобы не слетали гранты на сущ.ХП и старая ХП сохранялась, если новая вдруг не накатится.

Совместимо со Скл2005.

Правда до процесса выгрузки в правильном порядке пока руки не дошли. :(
13 ноя 19, 12:59    [22015255]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
L_argo
Member

Откуда:
Сообщений: 1191
Делал сабж для ХП и функций.
В результате получал обычный файл SQL-скрипта.

Он делает так:
Если ХП нет, то создаем пустую и грантим ее по умолчанию. Потом ее альтируем с новым sql-кодом.
Это нужно, чтобы не слетали гранты на сущ.ХП и старая ХП сохранялась, если новая вдруг не накатится.

Совместимо со Скл2005. Не требует установки сторонних продуктов. Кроме моей проги :)

Правда до процесса выгрузки в правильном порядке пока руки не дошли. :(
13 ноя 19, 13:02    [22015260]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4683
teCa,

Настоятельно рекомендую посмотреть в сторону SSIS -> Transfer SQL Server Objects Task

https://docs.microsoft.com/en-us/sql/integration-services/control-flow/transfer-sql-server-objects-task?view=sql-server-ver15

The following table lists the type of objects that can be copied.

Object
Tables
Views
Stored Procedures
User-Defined Functions
Defaults
User-Defined Data Types
Partition Functions
Partition Schemes
Schemas
Assemblies
User-Defined Aggregates
User-Defined Types
XML Schema Collection
13 ноя 19, 14:13    [22015377]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Самый простой вариант - это запихнуть процедуры в один sql файл.
Его и накатывать на основной сервер и на остальные, т.е. использовать как основной источник кода этих процедур.
14 ноя 19, 17:06    [22016447]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
Тяп-ляп
Member

Откуда: Москва
Сообщений: 797
Думаю, что еще правильнее - одна проца = один файл и в хранилище версий.
Обновление собирать в один файл оттуда.
15 ноя 19, 08:24    [22016728]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Можно еще и так извратиться Картинка с другого сайта.
Если прям выгрузка с определенной базы нужна.

select definition, *
from sys.sql_modules


https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql?view=sql-server-ver15
15 ноя 19, 09:03    [22016751]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка хранимых процедур с использованием T-SQL?  [new]
ViPRos
Member

Откуда:
Сообщений: 9877
SMO
19 ноя 19, 13:25    [22019565]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить