易截截图软件、单文件、免安装、纯绿色、仅160KB

解密SQL SERVER 2005加密存储过程,函数


在SQL SERVER 2005中必须用专用管理连接才可以查看过程过程中用到的表
EG:sqlcmd -A
1>use test
2>go
1>sp_decrypt 'p_testa'
2>go
Text
----------------------
Create procedure P_testa
with encryption
as
select * from test
 
create PROCEDURE [dbo].[sp_decrypt]
(@procedure sysname = NULL)  
AS  
SET NOCOUNT ON  
BEGIN
DECLARE @intProcSpace bigint, @t bigint, @maxColID smallint,@intEncrypted  
tinyint,@procNameLength int  
select @maxColID = max(subobjid),@intEncrypted = imageval from  
sys.sysobjvalues WHERE objid = object_id(@procedure)  
GROUP BY imageval  
select @procNameLength = datalength(@procedure) + 29  
DECLARE @real_01 nvarchar(max)  
DECLARE @fake_01 nvarchar(max)  
DECLARE @fake_encrypt_01 nvarchar(max)  
DECLARE @real_decrypt_01 nvarchar(max),@real_decrypt_01a nvarchar(max)  
declare @objtype varchar(2),@ParentName nvarchar(max)  
select @real_decrypt_01a = ''  
--提取对象的类型如是存储过程还是函数,如果是触发器,还要得到其父对象的名称  
select @objtype=type,@parentname=object_name(parent_object_id)  
from sys.objects where [object_id]=object_id(@procedure)  
-- 从sys.sysobjvalues里提出加密的imageval记录  
SET @real_01=(SELECT top 1 imageval from sys.sysobjvalues WHERE objid =  
object_id(@procedure) and valclass = 1 order by subobjid)  
--创建一个临时表  
create table #output ( [ident] [int] IDENTITY (1, 1) NOT NULL ,  
[real_decrypt] NVARCHAR(MAX) )  
--开始一个事务,稍后回滚  
BEGIN TRAN  
--更改原始的存储过程,用短横线替换  
if @objtype='P'  
SET @fake_01='ALTER PROCEDURE '+ @procedure +' WITH ENCRYPTION AS  
'+REPLICATE('-', 40003 - @procNameLength)  
else if @objtype='FN'  
SET @fake_01


相关文档:

更改SQL 2005的登陆方式

如果你的身份验证方式为Windows集成身份验证更改为混合方式的身份验证,需要在SQL Server Configuration Management中,把TCP/IP的活动启用,也就是第一个选择的地方,选择启用。并且使用集成身份验证方式登录后,在数据库服务器上选择属性,把安全性下的WINDOWS模式改为SQL与WINDOWS模式 ......

SQL数据库恢复模型(日志)

----------------------------------------------------------------------
1、SQL数据库恢复模型
----------------------------------------------------------------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信 ......

MS sql server删除服务器组...

之前为了方便操作就在Sql Server的企业管理器里注册了远程服务器,但是前一段时间在远程服务器上修改了该数据库的密码,每次点击该注册服务器系统要等很长时间,象死机一样;修改连接属性也修改不了,点击后也没有反应,于是就想删除重新注册,既然无法在管理器里删除,就想从注册表里删除,找了好久终于找到了,对应的sql ......

JAVA连接sql server 2005 数据库心得

首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2
解压Microsoft SQL Server 2005 jdbc driver1.2.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\Program Files)。
设置 Classpath
JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath ......

DateTime类型的数据SQL语句转换

以下转载,原文摘自http://www.cnblogs.com/fubeidong/archive/2007/07/06/526247.html
数据库中有个字段叫orderTime,是DateTime类型的数据,如果我们用以下SQL语句把它取出来:
select
orderTime
from orders
则会把时间都显示出来,而如果改成下面的SQL语句:
select
orderTime = convert(varchar(10),orderTime, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号