暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
SQL Server存储过程的加密和解密.docx
240
12页
0次
2022-12-27
100墨值下载
一、用于加密的存储过程(sp_EncryptObject
存储过程(sp_EncryptObject)加密的方法是在存储过程,函数,视图的“As”
置前加上“with encryption”;如果是触发器,就在“for”位置前加“with encryption”
注:如果我们在创建新的存储过程或者函数时,可以直接在"As"或者“for”位置前加
上“with encryption”
如果触发器是{AFTER|INSTEAD OF}需要修改下面的代码“For”位置:
if objectproperty(object_id(@Object),'ExecIsAfterTrigger')=0 set @Replace='As' ;
else set @Replace='For ';
存储过程代码:
USE master;
GO
IF OBJECT_ID('[sp_EncryptObject]') IS NOT NULL
DROP PROCEDURE [sp_EncryptObject];
GO
CREATE PROCEDURE sp_EncryptObject
(
@Object sysname = 'All'
)
AS /*
@Object=All 的时候,对所有的函数,存储过程,视图和触发器进行加密
调用方法:
1. Execute sp_EncryptObject 'All'
2. Execute sp_EncryptObject 'ObjectName'
*/
BEGIN
SET NOCOUNT ON;
IF @Object <> 'All'
BEGIN
IF NOT EXISTS ( SELECT 1
FROM sys.objects a
WHERE a.object_id = OBJECT_ID(@Object)
AND a.type IN ( 'P', 'V', 'TR', 'FN',
'IF', 'TF' ) )
BEGIN
--SQL Server 2008
-- RAISERROR 50001 N'无效的加密对象!加密对象必须是函数,
存储过程,视图或触发器。'
--SQL Server 2012
THROW 50001, N'无效的加密对象!加密对象必须是函数,存储过
程,视图或触发器。',1;
RETURN;
END;
IF EXISTS ( SELECT 1
FROM sys.sql_modules a
WHERE a.object_id = OBJECT_ID(@Object)
AND a.definition IS NULL )
BEGIN
--SQL Server 2008
-- RAISERROR 50001 N'对象已经加密!'
--SQL Server 2012
THROW 50001, N'对象已经加密!',1;
RETURN;
END;
END;
DECLARE @sql NVARCHAR(MAX) ,
@C1 NCHAR(1) ,
@C2 NCHAR(1) ,
@type NVARCHAR(50) ,
@Replace NVARCHAR(50);
SET @C1 = NCHAR(13);
SET @C2 = NCHAR(10);
DECLARE cur_Object CURSOR
FOR
SELECT OBJECT_NAME(a.object_id) AS ObjectName ,
a.definition
FROM sys.sql_modules a
INNER JOIN sys.objects b ON b.object_id = a.object_id
AND b.is_ms_shipped = 0
AND NOT EXISTS ( SELECT
1
FROM
sys.extended_properties x
WHERE
x.major_id = b.object_id
AND x.minor_id = 0
AND x.class = 1
AND x.name =
'microsoft_database_tools_support' )
WHERE b.type IN ( 'P', 'V', 'TR', 'FN', 'IF', 'TF' )
AND ( b.name = @Object
OR @Object = 'All'
of 12
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜