Nếu bạn DROP và TẠO quy trình, bạn sẽ mất cài đặt bảo mật. Điều này có thể làm phiền DBA của bạn hoặc phá vỡ ứng dụng của bạn hoàn toàn.
Những gì tôi làm là tạo một thủ tục lưu trữ nhỏ nếu nó chưa tồn tại. Sau đó, bạn có thể thay đổi quy trình đã lưu theo ý muốn của mình.
IF object_id('YourSp') IS NULL
EXEC ('create procedure dbo.YourSp as select 1')
GO
ALTER PROCEDURE dbo.YourSp
AS
...
Bằng cách này, các cài đặt bảo mật, nhận xét và meta deta khác sẽ tồn tại trong quá trình triển khai.