Management Studio Резервное копирование SP / UDFs - PullRequest
2 голосов
/ 18 октября 2011

Просто хотел узнать, существует ли простой способ резервного копирования хранимых процедур и / или пользовательских функций?

Как разработчик, обычно требуется сохранить существующие версии различных объектов базы данных на производстве (например, такие объекты, как таблицы / представления / триггеры / SP / UDF / все, что управляет MS), чтобы иметь возможность вернуться к самым последним состояние базы данных в случае возникновения ситуации отката.

Мы знаем, что резервная копия БД будет соответствовать всем требованиям, но будет излишним, если изменение будет просто 1 SP.

В настоящее время этот процесс является ручным и, следовательно, отнимает много времени, а также склонен к человеческим ошибкам, поскольку обычная задача / действительно должна была быть автоматизирована.

Я спрашиваю, возможно ли каким-либо образом (или, по крайней мере, если это происходит в dev-конвейере MS) установить состояние сервера, чтобы он знал, что нужно «сделать резервную копию» всего, что было изменено. Следовательно, каждый объект базы данных будет иметь папку «архив» или «более старые версии», которую можно использовать для просмотра последних версий объекта X.

Ответы [ 4 ]

2 голосов
/ 18 октября 2011

Я не знаю, знали ли вы об этом, но вы можете использовать контроль источника с SSMS.

Еще лучше, см. Работа с проектами баз данных . Проекты баз данных в Visual Studio 2010 предоставляют разработчикам баз данных многие функции, которыми разработчики «кода» обладают с тех пор, включая управление исходным кодом и автоматическое развертывание.

0 голосов
/ 18 октября 2011

Одно из применений, которое я видел, состоит в том, что вы переименовываете существующий объект в sp_rename, а затем развертываете новый.поэтому, если в вашей базе данных есть sp_foobar и вы хотите развернуть новую версию, вы переименуете существующую в sp_foobar_20111017012345, а затем развернете новую.Если вам нужно вернуться к старой версии (или любой предыдущей), вы должны сделать select name from sys.objects where name like 'sp_foobar%', найти нужную версию, удалить sp_foobar и использовать sp_rename, чтобы переименовать соответствующую версию обратно в sp_foobar.

0 голосов
/ 18 октября 2011

Я написал утилиту командной строки под названием SMOscript , которая записывает все определения объектов базы данных в файл.

0 голосов
/ 18 октября 2011

В обозревателе объектов перейдите к нужной базе данных. Щелкните правой кнопкой мыши, чтобы открыть меню. Выберите опцию Задачи >> Сгенерировать скрипты. Мастер проведет вас через весь процесс. Иногда это сложно, так что поиграйте с этим. Удачи.

...