正常途径是解决不了的 想一想别的办法吧 如解密 解SQL SERVER 的加密过程就是你一开始安装时所选的加密方式所用到的
试试下面的,从别处拿过来的Here is the code for SQL 6.5/************************************************/ /* REVISED REC'D 5/21/98 */ /* sp_decrypt_object Tom Sager 01/26/98 */ /* */ /* Decrypts objects (views, procedures & trigs) */ /* created with the WITH ENCRYPTION option. */ /* */ /* Uses the encrypt() built-in function to find */ /* a plaintext string that encrypts to the same */ /* value as stored in the text column of the */ /* syscomments table. */ /* */ /************************************************/ create proc sp_decrypt_object (@objname varchar(30)) WITH ENCRYPTION asSET NOCOUNT ONdeclare @errmsg varchar(80) declare @encrtext varchar(255) declare @decrtext varchar(255) declare @testtext varchar(255) declare @printline varchar(255) declare @textlen int declare @lup int declare @match char(1) declare @testchar smallint declare @begblk smallint declare @endblk smallintif (select count(*) from sysobjects where name = @objname) = 0 begin select @errmsg = 'Object ' +@objname +' not found in database ' +DB_NAME() print @errmsg return 1 endif (select count(*) from sysobjects t1, syscomments t2 where t1.name = @objname and t1.id = t2.id and t2.texttype & 4 != 0) = 0 begin select @errmsg = 'Object ' +@objname +' is not encrypted in database ' +DB_NAME() print @errmsg return 1 endDECLARE comments_cursor CURSOR for select t1.text from syscomments t1, sysobjects t2 where t1.id = t2.id and t2.name = @objname order by t1.colidOPEN comments_cursorFETCH NEXT FROM comments_cursor INTO @encrtextWHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN select @decrtext = REPLICATE(' ', 255) select @textlen = DATALENGTH(@encrtext) select @lup = 1 select @match = 'n' while (@lup <= @textlen) begin select @testchar = 0 select @match = 'n' while (@match = 'n') begin select @decrtext = STUFF(@decrtext,@lup,1,CHAR(@testchar)) select @testtext = encrypt(@decrtext) if ASCII(SUBSTRING(@testtext,@lup,1)) = ASCII(SUBSTRING(@encrtext,@lup,1)) begin select @match = 'y' end select @testchar = @testchar + 1 if (@testchar > 255) begin print 'Error...no match found' return 1 end end select @lup = @lup + 1 end select @begblk = 1 select @endblk = 1 while (@endblk <= @textlen) begin if (substring(@decrtext,@endblk,1) = 0x0a) begin select @printline = @printline + SUBSTRING(@decrtext ,@begblk ,@endblk-@begblk+1) print @printline select @begblk = @endblk + 1 select @endblk = @begblk select @printline = NULL end select @endblk = @endblk + 1 end select @printline = @printline + SUBSTRING(@decrtext ,@begblk ,@endblk-@begblk+1) END FETCH NEXT FROM comments_cursor INTO @encrtext END print @printline CLOSE comments_cursorDEALLOCATE comments_cursor GO
想一想别的办法吧
如解密
解SQL SERVER 的加密过程就是你一开始安装时所选的加密方式所用到的
/* REVISED REC'D 5/21/98 */
/* sp_decrypt_object Tom Sager 01/26/98 */
/* */
/* Decrypts objects (views, procedures & trigs) */
/* created with the WITH ENCRYPTION option. */
/* */
/* Uses the encrypt() built-in function to find */
/* a plaintext string that encrypts to the same */
/* value as stored in the text column of the */
/* syscomments table. */
/* */
/************************************************/
create proc sp_decrypt_object
(@objname varchar(30))
WITH ENCRYPTION
asSET NOCOUNT ONdeclare @errmsg varchar(80)
declare @encrtext varchar(255)
declare @decrtext varchar(255)
declare @testtext varchar(255)
declare @printline varchar(255)
declare @textlen int
declare @lup int
declare @match char(1)
declare @testchar smallint
declare @begblk smallint
declare @endblk smallintif (select count(*)
from sysobjects
where name = @objname) = 0
begin
select @errmsg = 'Object '
+@objname
+' not found in database '
+DB_NAME()
print @errmsg
return 1
endif (select count(*) from sysobjects t1,
syscomments t2
where t1.name = @objname
and t1.id = t2.id
and t2.texttype & 4 != 0) = 0
begin
select @errmsg = 'Object '
+@objname
+' is not encrypted in database '
+DB_NAME()
print @errmsg
return 1
endDECLARE comments_cursor CURSOR for
select t1.text
from syscomments t1,
sysobjects t2
where t1.id = t2.id
and t2.name = @objname
order by t1.colidOPEN comments_cursorFETCH NEXT FROM comments_cursor
INTO @encrtextWHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
select @decrtext = REPLICATE(' ', 255)
select @textlen = DATALENGTH(@encrtext)
select @lup = 1
select @match = 'n'
while (@lup <= @textlen)
begin
select @testchar = 0
select @match = 'n'
while (@match = 'n')
begin
select @decrtext =
STUFF(@decrtext,@lup,1,CHAR(@testchar))
select @testtext = encrypt(@decrtext)
if ASCII(SUBSTRING(@testtext,@lup,1)) =
ASCII(SUBSTRING(@encrtext,@lup,1))
begin
select @match = 'y'
end
select @testchar = @testchar + 1
if (@testchar > 255)
begin
print 'Error...no match found'
return 1
end
end
select @lup = @lup + 1
end
select @begblk = 1
select @endblk = 1
while (@endblk <= @textlen)
begin
if (substring(@decrtext,@endblk,1) = 0x0a)
begin
select @printline = @printline +
SUBSTRING(@decrtext
,@begblk
,@endblk-@begblk+1)
print @printline
select @begblk = @endblk + 1
select @endblk = @begblk
select @printline = NULL
end
select @endblk = @endblk + 1
end
select @printline = @printline +
SUBSTRING(@decrtext
,@begblk
,@endblk-@begblk+1)
END
FETCH NEXT FROM comments_cursor INTO @encrtext
END
print @printline
CLOSE comments_cursorDEALLOCATE comments_cursor
GO