Management Studio备份SP / UDF

时间:2011-10-18 07:37:46

标签: sql sql-server backup ssms

只是想知道是否有一种简单的方法来备份存储过程和/或用户定义的函数?

作为开发人员,人们通常希望在生产中保留各种数据库对象的现有版本(即表/视图/触发器/ SP / UDF / MS管理的任何对象),以便能够恢复到最新状态。数据库的状态,以防出现回滚的情况。

我们知道数据库的备份符合该法案,但如果更改只是1 SP则会出现过度杀伤。

目前,这个过程是手动的,因此非常耗时且容易出现人为错误,因为这项任务很平常,应该是自动化的。

问我是否有可能(或者至少是否在MS的开发管道中)设置服务器状态,以便它知道“备份”任何被更改的内容。因此,每个db对象都有一个“archive”或“old versions”文件夹,可用于浏览对象的X最新版本。

4 个答案:

答案 0 :(得分:2)

我不知道你是否知道它,但你可以使用SSMS来源控制。

更好的是,请参阅Working with Database Projects。 Visual Studio 2010中的数据库项目为数据库开发人员带来了许多“代码”开发人员永远拥有的功能,包括源代码控制和自动部署。

答案 1 :(得分:0)

在对象资源管理器中,转到所需的数据库。单击鼠标右键以打开菜单。选择选项任务>>生成脚本。该向导将引导您完成整个过程。它有时很棘手,所以要玩弄它。祝你好运。

答案 2 :(得分:0)

我编写了一个名为SMOscript的命令行实用程序,它将所有数据库对象定义编写为文件。

答案 3 :(得分:0)

我见过的一个解决方案是使用sp_rename重命名现有对象,然后部署新对象。因此,如果您的数据库中有sp_foobar并且要部署它的新版本,则需要将现有版本重命名为sp_foobar_20111017012345,然后部署新版本。如果您需要恢复旧版本(或任何以前的版本),您需要执行select name from sys.objects where name like 'sp_foobar%',找到正确的版本,删除sp_foobar,然后使用sp_rename将相应的版本重命名为sp_foobar。