SQL Server 2012: как записать все хранимые процедуры базы данных в отдельные файлы .sql?

Я хочу написать все хранимые процедуры из SQL Server 2012 в Visual Studio 2012 как файлы .sql (в другом проекте). Как я могу это сделать? Мне нужен один файл .sql для каждой хранимой процедуры? Я получаю сценарии, используя параметр «Создать сценарии в задачах», щелкнув правой кнопкой мыши БД в SQL Server 2012. Однако в каждом случае имя файла .sql — spname.StoredProcedure. Я хочу, чтобы имя было spname.sql. Опять же, я не хочу, чтобы имя файла было database.spname.StoredProcedure, я хочу, чтобы это было просто spname.sql


person Community    schedule 01.03.2016    source источник
comment
перейдите в SSMS, щелкните правой кнопкой мыши базу данных, выберите задачи сценариев, проверьте свои SP и настройте параметры сценариев.   -  person Ivan Starostin    schedule 01.03.2016
comment
Возможный дубликат скрипта всех хранимых процедур в Management Studio 2005   -  person Liesel    schedule 01.03.2016
comment
Я хочу один файл .sql для каждой хранимой процедуры и почти получаю его, но имя файлов - spname.StoredProcedure, я хочу, чтобы это было spname.sql   -  person    schedule 01.03.2016


Ответы (2)


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

Решение использует хранимую процедуру sp_Helptext с командой SQL BCP для создания сценария создания для целевого SP, а затем создает файл экспорта .sql в файловой системе.

Я надеюсь, что это помогает,

введите описание изображения здесь

Кроме того, в мастере создания сценария, если вы настроите параметры выбора, как показано на рисунке ниже, вы получите имя sp в качестве имени выходного файла сценария.

введите описание изображения здесь

person Eralper    schedule 01.03.2016
comment
Я попробовал описанный выше способ написать скрипт @Eralper, но получаю сообщение об ошибке: текст для объекта 'spname' зашифрован. - person ; 01.03.2016
comment
Это связано с тем, что эта хранимая процедура с именем spname зашифрована. Невозможно просмотреть содержимое этой процедуры. Я не уверен, есть ли способ увидеть это. Можно ли просмотреть его содержимое вручную? - person Eralper; 01.03.2016
comment
Да, используя стороннее приложение, красные ворота @Eralper - person ; 02.03.2016
comment
После вашего комментария я попробовал инструмент dbForge SQL Decryptor, который отлично сработал :) и его можно бесплатно загрузить и использовать: devart.com/dbforge/sql/sqldecryptor - person Eralper; 03.03.2016

Как сказал @Ivan_Starostin:

Шаг первый

введите здесь описание изображения

Шаг второй

введите здесь описание изображения

Шаг третий

введите здесь описание изображения

person Andrey Morozov    schedule 01.03.2016
comment
Хотя вопрос озаглавлен как один файл sql, при внимательном прочтении Анил хочет один файл для каждой хранимой процедуры. - person Eralper; 01.03.2016
comment
Я хочу один файл .sql для каждой хранимой процедуры и почти получаю его, но имя файлов - spname.StoredProcedure, я хочу, чтобы это было spname.sql - person ; 01.03.2016
comment
Кто-нибудь ответит на мой вопрос? Я не хочу, чтобы имена файлов были dbname.spname.Stored procedure. Я хочу, чтобы имена были spname.sql. - person ; 01.03.2016
comment
Привет, Анил, я пропустил параметр «Один файл на объект» в «Файлах для создания». Если вы выберете эту опцию и укажите путь только ниже, вы получите то, что ожидаете. - person Eralper; 01.03.2016
comment
Спасибо! Это сделало именно то, что я искал! - person AxleWack; 15.12.2019