Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
teCa Member Откуда: Сообщений: 746 |
Всем привет. Хочу автоматизировать задачу переноса хранимых процедур с эталона на множество других БД. Таблицы в каждой БД свои, нужно только хранимки распространить. Поделитесь опытом. |
13 ноя 19, 11:17 [22015120] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||||
13 ноя 19, 11:22 [22015128] Ответить | Цитировать Сообщить модератору |
Критик Member Откуда: Москва / Калуга Сообщений: 34756 Блог |
teCa, Проект в SSDT + публикация, например, руками. Или автоматом с помощью tfs или батника с компа разработчика. Сообщение было отредактировано: 13 ноя 19, 12:07 |
13 ноя 19, 12:07 [22015199] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
teCa, если таблицы свои, то и процедуры должны отличаться. |
13 ноя 19, 12:21 [22015209] Ответить | Цитировать Сообщить модератору |
L_argo Member Откуда: Сообщений: 1406 |
Делал сабж для ХП и функций. В результате получал обычный файл SQL-скрипта. Он делает так: Если ХП нет, то создаем пустую и грантим ее по умолчанию. Потом ее альтируем с новым sql-кодом. Это нужно, чтобы не слетали гранты на сущ.ХП и старая ХП сохранялась, если новая вдруг не накатится. Совместимо со Скл2005. Правда до процесса выгрузки в правильном порядке пока руки не дошли. :( |
13 ноя 19, 12:59 [22015255] Ответить | Цитировать Сообщить модератору |
L_argo Member Откуда: Сообщений: 1406 |
Делал сабж для ХП и функций. В результате получал обычный файл SQL-скрипта. Он делает так: Если ХП нет, то создаем пустую и грантим ее по умолчанию. Потом ее альтируем с новым sql-кодом. Это нужно, чтобы не слетали гранты на сущ.ХП и старая ХП сохранялась, если новая вдруг не накатится. Совместимо со Скл2005. Не требует установки сторонних продуктов. Кроме моей проги :) Правда до процесса выгрузки в правильном порядке пока руки не дошли. :( |
13 ноя 19, 13:02 [22015260] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4805 |
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] Ответить | Цитировать Сообщить модератору |
Владимир Затуливетер Member Откуда: Сообщений: 427 |
Самый простой вариант - это запихнуть процедуры в один sql файл. Его и накатывать на основной сервер и на остальные, т.е. использовать как основной источник кода этих процедур. |
14 ноя 19, 17:06 [22016447] Ответить | Цитировать Сообщить модератору |
Тяп-ляп Member Откуда: Москва Сообщений: 808 |
Думаю, что еще правильнее - одна проца = один файл и в хранилище версий. Обновление собирать в один файл оттуда. |
15 ноя 19, 08:24 [22016728] Ответить | Цитировать Сообщить модератору |
Владимир Затуливетер 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] Ответить | Цитировать Сообщить модератору |
ViPRos Member Откуда: Сообщений: 9931 |
SMO |
19 ноя 19, 13:25 [22019565] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |