2013-01-03 54 views
4

当前,如果我想对存储过程做一个备份,使用Mircosoft SQL Server Management Studio 2008 R2,我右键单击我的存储过程,选择修改,然后在存储过程中将alter proc部分更改为创建过程,并将“备份”一词添加到存储过程名称的末尾。有一个更好的方法吗?在一个完美的世界中,我希望能够备份数据库中的所有存储过程,并将它们保存在本地的某处。我不喜欢我所做的所有这些备份如何让我的存储过程列表变得马虎(因为没有更好的词)。如果你不能说明的话,我对编写存储过程非常陌生,并希望能够保证现有的存储过程免受我可能犯的任何错误的影响。备份存储过程

在此先感谢您的帮助!

+1

尝试此SO贴子的想法。 http://stackoverflow.com/questions/183148/stored-procedure-versioning –

+1

我更喜欢的另一个stackoverflow答案 - [在Management Studio 2005中脚本所有存储过程](http://stackoverflow.com/questions/175703/script - 全存储,过程式管理工作室-2005)。 – Serg

回答

4

有多种方法可以让您的存储过程备份除了实时数据库之外。以下是几个:

  • 备份数据库时,所有存储过程都包含在该备份中。如果您需要还原为较旧版本,则可以将其还原到另一个数据库,并将该过程编写为新的编辑器选项卡或文件或其他内容。希望你有一个实时和测试数据库,所以你可以直接到实时数据库并在那里编写存储过程的脚本,而不必从备份中恢复。
  • 您可以脚本的每个版本的存储过程,以创建它们时分开的文件和名称并附加日期到文件的名称。您可以通过查看this问题的答案来编写所有现有存储过程的脚本。
  • 您可以使用版本控制产品。我不确定是否允许我在这里指出您的位置,但只需搜索“SQL源代码管理”,您就可以在搜索结果中找到一个非常好的搜索结果。