SQL: программно копировать хранимые процедуры из одной базы данных в другую - PullRequest
1 голос
/ 25 мая 2011

Я ищу способ скопировать хранимые процедуры из одной базы данных SQL в другой на том же экземпляре.Он должен быть автоматическим, предпочтительно с помощью кода (t-sql или чего-либо еще), поэтому использование трюка с генерацией сценариев нежизнеспособно (плюс я не хочу поддерживать такое количество сценариев, и люди забывают их запускать).

Я немного искал по этому вопросу и не нашел работоспособного решения.Кто-то предложил хитрый трюк - сгенерировать весь текст хранимой процедуры в поле sql, а затем преобразовать его и выполнить в db назначения, но, к сожалению, у него были проблемы.Готово, если это вообще возможно?

Если я не могу сделать это программно, будет ли быстрое решение с использованием ssis?

Спасибо.

Редактировать: Использование смесиSQL 2005 и 2008 версий.

1 Ответ

0 голосов
/ 25 мая 2011

Вы можете сделать это программно в .NET, используя SMO framework.

Бесплатная / простая реализация может быть осуществлена ​​через PowerShell.

У меня есть скрипт, который делает именно это - он генерирует скрипты для объектов SQL, включая Stored Procs, и выполняет скрипты создания на целевом сервере.

Это удобный обходной путь, когда проблемы безопасности не позволяют подключать серверы, но вам необходимо синхронизировать определенные ресурсы между несколькими серверами.

Если все, что вас волнует, это проки, то будет достаточно просто проверить sys.sql_modules на ваших исходных и целевых БД и выполнить любые, которые не существуют в цели, через поле definition в этом представлении. 1015 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...