批量加密SQLSERVER 2000 的存储过程
来源:互联网 发布:散热好的的笔记本 知乎 编辑:程序博客网 时间:2024/05/17 02:54
/*批量加密SQLSERVER 2000 的存储过程
/*
摘自:微软官方网站
*/
=======================================================================================
下面给出了一个存储过程,它的作用是自动将当前数据库的用户存储过程加密。
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 上通过。
- 批量加密SQLSERVER 2000 的存储过程
- 破解SQLSERVER存储过程的加密
- sqlserver 批量删除存储过程
- sqlserver 批量删除存储过程
- sqlserver 存储过程、存储函数的加密、解密
- sqlserver 存储过程、存储函数的加密、解密[转]
- sqlserver 存储过程、存储函数的加密、解密
- sqlserver 存储过程、存储函数的加密、解密[转]
- SQLServer查找哪些存储过程是已经加密的
- sqlServer存储过程的加密和解密方法
- SqlServer批量删除表和存储过程
- 加密与解密SQLSERVER存储过程
- 批量删除存储过程的存储过程
- [sqlServer]sqlServer存储过程的常见语法
- sqlserver批量删除存储过程和批量修改存储过程语句
- SQLServer存储过程的分页
- SQLServer存储过程的分页
- SqlServer 存储过程的事务
- 从MVC与三层架构谈到优化架构提高Web效率
- 将Arch GNU/Linux 安装到磁盘文件(loop)
- inet_addr和inet_ntoa
- Linux命令大全
- 更改visual studio 2010 帮助文档库位置
- 批量加密SQLSERVER 2000 的存储过程
- CWnd::RepositionBars函数和WM_SIZEPARENT消息
- 信息系统项目管理系列之二:项目生命期和组织
- htons和htonl
- 勾选CHECKBOX之后改变其他控件状态
- 模仿百度百科的js编辑器,代码存档。
- 配置Editplus的PHP调试环境
- Sql Server 2005 维护计划 调度修改(转)
- 您可能不知道的.Net2.0小技巧