سلام. خیلی کاره خوبی میکنی.
خیلی عالیه اگه برنامه کامل بشه خیلی طرفدار پیدا میکنه از جمله خوده من.
من برای نرم افزار خودم تقریبا به چنین مشکلی برخوردم و به سختی تونستم بعضی قسمتاش رو حل کنم.
مثلا برای بروزرسانی تمامه sp ها حوصله نداشتم وجود یا عدم وجود sp ها رو با EXISTS چک کنم به همین دلیل کدی نوشتم که تمامه sp های موجود رو پیدا میکنه و پاک میکنه.
البته باید بگم که من برای بالا رفتنه امنیت، اسم تمامه sp های خودم رو با کلمه proc شروع کردم به همین دلیل توی کده زیر خیلی راحت میتونم اونا رو پیدا کنم:
DECLARE @sp_Name nvarchar(MAX)
SET @sp_Name=''
SELECT @sp_Name=NAME FROM sys.objects WHERE type='P' AND NAME LIKE 'proc_%'
WHILE(@sp_Name!='')
BEGIN
exec('DROP PROC ' + @sp_Name)
SET @sp_Name=''
SELECT @sp_Name=NAME FROM sys.objects WHERE type='P' AND NAME LIKE 'proc_%'
END
بعد از اجرای این تمامه sp ها رو دوباره CREATE میکنم پس نیازی به ALTER کردن نیست.
برای تغییر IDENTITY به ON یا OFF هم از این کد استفاده کردم که مشکل داره و ON یا OFF نمیشه و توی یک تاپیک جدید مشکل رو مطرح کردم امیدوارم به جواب برسه :
IF IDENT_INCR('[table name]') IS NOT NULL
SET IDENTITY_INSERT dbo.[table name] OFF
امیدوارم برنامه هر چی زود تر آماده بشه و در اختیار عموم قرار بگیره.
موفق و پیروز باشی.