プロシージャを削除して作成すると、セキュリティ設定が失われます。これは、DBA を悩ませたり、アプリケーションを完全に壊してしまう可能性があります。
私がしていることは、まだ存在しない場合は簡単なストアド プロシージャを作成することです。その後、必要に応じてストアド プロシージャを ALTER できます。
IF object_id('YourSp') IS NULL
EXEC ('create procedure dbo.YourSp as select 1')
GO
ALTER PROCEDURE dbo.YourSp
AS
...
このようにして、セキュリティ設定、コメント、およびその他のメタデータは展開後も存続します。