国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

如何批量加密存儲過程?

2024-07-21 02:03:58
字體:
來源:轉載
供稿:網友
--引用
http://www.microsoft.com/china/technet/columns/tipsfortechs/wsqs3.asp

綜合實例
下面給出了一個存儲過程,它的作用是自動將當前數據庫的用戶存儲過程加密。
DECLARE @sp_name nvarchar(400)
DECLARE @sp_content nvarchar(2000)
DECLARE @asbegin int
declare @now datetime
select @now = getdate()
DECLARE sp_cursor CURSOR FOR
SELECT object_name(id)
FROM sysobjects
WHERE xtype = 'P'
AND type = 'P'
AND crdate < @now
AND OBJECTPROPERTY(id, 'IsMSShipped')=0
OPEN sp_cursor
FETCH NEXT FROM sp_cursor
INTO @sp_name
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sp_content = text FROM syscomments WHERE id = OBJECT_ID(@sp_name)
SELECT @asbegin = PATINDEX ( '%AS' + char(13) + '%', @sp_content)
SELECT @sp_content = SUBSTRING(@sp_content, 1, @asbegin - 1)
+ ' WITH ENCRYPTION AS'
+ SUBSTRING (@sp_content, @asbegin+2, LEN(@sp_content))
SELECT @sp_name = 'DROP PROCEDURE [' + @sp_name + ']'
EXEC sp_executesql @sp_name
EXEC sp_executesql @sp_content
FETCH NEXT FROM sp_cursor
INTO @sp_name
END
CLOSE sp_cursor
DEALLOCATE sp_cursor
該存儲過程利用了 sysobjects 和 syscomments 表,并巧妙地修改了原存儲過程的 SQL 定義語句,將 AS 修改為了 WITH ENCRYPTION AS,從而達到了加密存儲過程的目的。本存儲過程在 SQL Server 2000 上通過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家界市| 南部县| 清水县| 江源县| 黄冈市| 瓦房店市| 霍林郭勒市| 景宁| 静乐县| 雷波县| 大理市| 宁波市| 广水市| 呼和浩特市| 滕州市| 右玉县| 融水| 疏勒县| 玉溪市| 图木舒克市| 洛阳市| 清水县| 铜山县| 望都县| 达州市| 万安县| 花莲县| 朝阳区| 成武县| 宜丰县| 萝北县| 青阳县| 遂溪县| 新龙县| 林州市| 铁力市| 新干县| 南城县| 新干县| 公主岭市| 建始县|