Импорт существующих хранимых процедур в SQL Server - PullRequest
5 голосов
/ 18 декабря 2008

Я восстановил свою базу данных разработки из производства, и хранимые процедуры, которые мне нужны в моей среде разработки, не существуют в моей производственной базе данных. Есть ли команда, которую можно использовать для импорта хранимых процедур Developmetn обратно в SQL Server. Есть около 88 файлов, так как каждая процедура находится в отдельном текстовом файле.

ТИА! Chris

Ответы [ 6 ]

11 голосов
/ 18 декабря 2008

Упс, вы сделали болезненный способ создания сценариев. Вы должны были создать единый сценарий для всех процедур, щелкнув правой кнопкой мыши базу данных в SSMS и выбрав Задачи -> Создать сценарии.

Однако, если вы не хотите снова проходить этот процесс, откройте оболочку cmd в папке и запомните те старые дни пакетных файлов:

for %f in (*.sql) do sqlcmd -i %f

Это должно сработать! При необходимости вы можете добавить другие параметры в sqlcmd (то есть логин, пароль, имя сервера, ...). Чтобы увидеть список переключателей, просто сделайте sqlcmd -h.

1 голос
/ 12 сентября 2011
  1. Щелкните правой кнопкой мыши базу данных, откуда вы хотите передать данные
  2. Выбрать Передача данных
  3. Выберите Таблицы или Процедура сохранения (что вы хотите перенести)
  4. Выберите место, куда вы хотите передать данные (либо на сервере, либо на локальном хосте, либо в любом файле)
1 голос
/ 18 декабря 2008

Для SQL 2K и 2K5 вы хотите этот инструмент .

Я задал похожий вопрос некоторое время назад и получил этот совет от Майка Л (проголосуйте за него здесь ).

0 голосов
/ 30 июня 2011

Если вам, как и мне, приходится иметь дело с кучей файлов sql в иерархии папок, этот один вкладыш объединит их в один файл с именем out.sql, который вы легко сможете выполнить в SQL Management studio. Он будет включать только файлы, которые КОНЕЦ в .sql, и игнорировать такие файлы, как * .sqlsettings.

Запустите его из корневой папки иерархии файлов .sql. Убедитесь, что в out.sql нет ничего ценного, так как оно будет заменено.

del out.sql && for /f %f in ('dir /b /s ^| findstr /E \.sql') do type %f >> out.sql
0 голосов
/ 18 декабря 2008

Я не знаю, есть ли способ сделать это из командной строки, но если у вас есть все они в текстовых файлах, совсем не должно быть труда написать быстрое и грязное приложение, которое просто перебирает все файлы и запускает операторы create на вашем производственном сервере, используя любой выбранный вами язык.

0 голосов
/ 18 декабря 2008

Щелкните правой кнопкой мыши базу данных разработки. Нажмите «Создать сценарии SQL» и выберите только сохраненные предустановки. Если вам нужна дополнительная фильтрация, вы можете даже выбрать хранимые процедуры, которые вам не нужны.

Тогда просто запустите этот запрос при разработке.

...