Tôi nhận thấy điều này đã được đánh dấu là đã trả lời, nhưng chúng tôi đã từng làm như thế này:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND OBJECT_ID = OBJECT_ID('dbo.MyProc'))
exec('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END')
GO
ALTER PROCEDURE [dbo].[MyProc]
AS
....
Chỉ để tránh bỏ sót quy trình.