如何将我的存储过程一次性恢复到数据库中?

时间:2011-11-16 06:52:35

标签: sql sql-server sql-server-2005 stored-procedures

我已经完成了generate script并将我的100 + stored procedures分成了单独的100个文件,就像我们现在进行备份一样,我对这些文件进行了更改。 但现在我需要alter所有original stored procedures 来自数据库。 我的意思是现在说我需要再次加载到数据库中的所有这100个文件。

我怎么能这样做,就像我generate script从数据库中取出那些sp一样 有没有办法restore all new sp's同时进入同一个数据库?

请帮忙。

4 个答案:

答案 0 :(得分:2)

如果您希望取出存储过程的脚本,可以使用“生成脚本”取出它们,您将获得CREATE脚本。更改脚本正文后,可以重新运行DB上的脚本。但在此之前,您可以删除数据库中的SP或将脚本文件中的CREATE语句更改为ALTER。

另一种方法是在取出脚本时生成ALTER脚本。但这一次只能处理一个proc。您可以右键单击SP,然后从上下文菜单中选择“脚本存储过程为 - > ALTER为 - >文件...”。

答案 1 :(得分:0)

您可以将数据库存储过程备份到文件中,并使用“备份和还原”工具将它们还原到新的数据库服务器。

答案 2 :(得分:0)

ApexSQL Build完全符合您的需要。它针对新数据库或现有数据库执行SQL脚本,您可以指定先删除对象,这样在执行CREATE PROCEDURE语句时不会发生冲突 您可以创建T-SQL,C#或exe

enter image description here enter image description here

答案 3 :(得分:0)

请使用此脚本在您的数据库中执行...

Select Convert(varchar(Max),Substring([RowLog Contents 0],33,LEN([RowLog Contents 0]))) as [Script] from fn_dblog(NULL,NULL)

您将看到脚本存储过程被删除。

祝你好运:)