我想知道有什么方法可以一次执行所有存储过程。目前我正在使用exec "Stored Procedure name"
命令执行每个存储过程。我有超过 200 个存储过程要在我的数据库上执行。
是否有任何简单的方法可以一次执行所有这些存储过程,因为我很难跟踪它们?
我想知道有什么方法可以一次执行所有存储过程。目前我正在使用exec "Stored Procedure name"
命令执行每个存储过程。我有超过 200 个存储过程要在我的数据库上执行。
是否有任何简单的方法可以一次执行所有这些存储过程,因为我很难跟踪它们?
我建议您编写一个调用其他存储过程的存储过程。
将所有存储过程放在一个存储过程中,
CREATE PROCEDURE CallAllProcedure
AS
BEGIN
CALL Proc1
CALL Proc2
END
假设您使用的是查询分析器,只需在所有存储的 proc 和运行脚本之间放置一个 GO。
如果你想并行执行它们,你可以创建一个 SQLJob 并安排它们同时执行。下面的链接是 SQL 作业的一般用法。
您可以从查询 type='P' 的 sys.objects 表中选择所有存储过程名称。之后就可以对每个存储过程名称使用游标来执行了。但是带参数的存储过程呢?您还必须提供参数值以避免错误。
您可以使用服务代理来执行此异步操作,但我认为同时运行 200 个存储过程不是一个好主意,除非您确定数据库上不会有任何争用