PDA

View Full Version : چطور می توان همه SP و View و Trigger ها را encryption کرد؟



SYNDROME
پنج شنبه 09 اسفند 1386, 07:33 صبح
جستجو کردم ولی به جواب مناسب نرسیدم.
چطوری می توان به یک دستور یا یک برنامه کوچک همه SP و View و Trigger های داخل یک بانک را Encrypt کرد.
با تشکر از همه دوستان

SYNDROME
جمعه 10 اسفند 1386, 18:21 عصر
کسی از دوستان روشی برای این کار را سراغ ندارد.
با تشکر

Elham_gh
شنبه 11 اسفند 1386, 13:54 عصر
برای View و Trigger دیگه Comment گذاشتم مثل Stored Procedure اون دستور DROP رو اضافه کن.


DECLARE _Cursor CURSOR FOR
SELECT Obj.name,com.TEXT,Obj.Xtype
FROM sys.sysobjects Obj,sys.syscomments Com
WHERE Obj.id=Com.id
AND Obj.xtype IN('P','V','T')

DECLARE @Text as NVARCHAR(MAX),@Name as sysname,@Xtype AS Char(2)
DECLARE @strExequte as NVARCHAR(4000)
DECLARE @AsLocation AS INT

OPEN _Cursor
FETCH NEXT FROM _Cursor INTO @Name,@Text,@Xtype
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @Text
SET @AsLocation=PATINDEX('%AS%',@Text)
SET @Text=STUFF(@Text,@AsLocation,2,' WITH ENCRYPTION AS ')
IF @Xtype='P'
SET @strExequte='IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID('''+@Name+''')
AND type=''p'')
DROP PROCEDURE '+@Name


--IF @Xtype='V'
------
--IF @Xtype='T'
------
EXECUTE sp_executesql @strExequte
EXECUTE sp_executesql @Text
FETCH NEXT FROM _Cursor INTO @Name,@Text,@Xtype
END;
CLOSE _Cursor;
DEALLOCATE _Cursor;
GO

SYNDROME
شنبه 25 اسفند 1386, 16:49 عصر
کاربر Elham_gh
تابع فوق درست کار نمی کند.
روی بعضی عمل می کند و روی بعضی دیگر اشتباه عمل می کند.
در سایت جستجو کردم ولی اکثر روشها با مشکل بر می خورد.
اگر کسی از دوستان راه حلی و یا کدی دارد بنده را راهنمایی کند.
موفق باشید