国产探花免费观看_亚洲丰满少妇自慰呻吟_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 上通過。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁市| 兴海县| 自贡市| 永新县| 昌乐县| 隆林| 抚顺市| 云阳县| 闻喜县| 邹平县| 水富县| 黄陵县| 崇信县| 隆化县| 香港 | 招远市| 长汀县| 会同县| 六枝特区| 巴马| 嵊泗县| 河东区| 旺苍县| 咸宁市| 嘉善县| 修文县| 长岛县| 云阳县| 台湾省| 昌邑市| 原阳县| 留坝县| 固原市| 贡嘎县| 文安县| 永昌县| 邵阳市| 鄂伦春自治旗| 射阳县| 高州市| 张北县|