如何在 SSMS 中生成多个 Alter 脚本

dan*_*ods 4 sql sql-server sql-server-2008


我正在使用sql server management studio 2008尝试为每个存储过程生成一个更改脚本,以便保存每个修订版的脚本。我可以轻松地为每个单独的过程生成一个更改脚本,但我并不想手动执行一百个存储过程。

我知道SSMS在任务下有一个自动生成脚本的功能,但唯一的选项是创建、删除和创建、删除。我似乎无法弄清楚如何启用更改。我已经搜索了很多 SO 文章,并在 msdn 中进行了一些挖掘,但我一无所获。

我希望 stackoverflow 的优秀人员能够迎接挑战。提前致谢

E.T*_*.T. 8

使用“高级脚本选项”中的“检查对象存在”选项。脚本将包含一组IF NOT EXISTS...CREATE命令以及您想要编写脚本的每个存储过程的ALTER 命令。

  • 已确认:适用于 SSMS 2014。这里唯一的“完全正确”答案。将生成如下脚本:`IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]') AND type in (N'P', N'PC')) BEGIN EXEC dbo .sp_executesql @statement = N'CREATE PROCEDURE [dbo].[MySP] AS' END GO ALTER ....` (2认同)