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

防止SQL SERVER的事件探查器跟踪程序中SQL脚本

如何防止程序中SQL脚本被SQL SERVER的事件探查器跟踪,保障自己的软件不被他人分析?
下面是一个停止所有SQLSERVER的跟踪器的脚本(两种方法的原理相同):
第一种方法:
procedure SQLCloseAllTrack;
const
sql = 'declare @TID integer ' +
'declare Trac Cursor For ' +
'SELECT Distinct Traceid from :: fn_trace_getinfo(default) ' +
'open Trac ' +
'Fetch Next from Trac into @TID ' +
'while @@fetch_status=0 ' +
'begin ' +
' exec sp_trace_setstatus @TID,0 ' +
' exec sp_trace_setstatus @TID,2 ' +
' Fetch Next from Trac into @TID ' +
'end ' +
'Close Trac ' +
'deallocate Trac';
begin
//停止所有SQLSERVER的跟踪器,以防止程序被別人跟踪
ExecSql(sql);
end;
第二种方法:
with faq1 do
begin
Close;
sql.Clear;
sql.add('declare @t_count int');
sql.add('set @t_count=1');
sql.add('while exists(SELECT * from ::::fn_trace_geteventinfo(@t_count))');
sql.add('begin');
sql.add('exec sp_trace_setstatus @t_count,0');
sql.add('set @t_count=@t_count+1');
sql.add('end');
try
execSQL;
except;
end;
close;sql.Clear;
end;
end;


相关文档:

SQL Server 2008阻止保存要求重新创建表的更改


新建数据表以后,若再对该表进行更改,则会出现警告信息“不允许保存更改 阻止保存要求重新创建表的更改”,等等,需要进行一下设置:工具--->选项--->Designers--->表设计器和数据库设计器--->组织保存要求重新创建表的更改,去掉复选框。
来源网络:“不是很理解为什么在2008中会加入"阻止 ......

SQL组合查询及先后顺序对效率的影响

在SQL跨表组合查询存在效率问题,举例比如
delete from media_source where movie_id in ( select media_id from media where type=2 ) and origin = 3;

delete from media_source where origin = 3 and movie_id in ( select media_id from media where type=2 );
的效率是不一样的。
若origin=3的情况下media_so ......

数据库组件 Hxj.Data(七) (sql篇)

上一节讲述的是删除操作,本节将讲述如何直接执行sql语句。 直接执行sql语句是使用fromSql方法。 DbSession.Default.fromSql("select * from products").ToDataTable();
 
这样看起来亲切多了吧,直接sql就可以执行。
 
当然也可添加参数的啊。
DbSession.Default.fromSql("select * ......

SQL经典短小代码收集 2

sqlserver的几个函数要记录
今日碰到个问题:要实现数据表中的一个字段中的文本为"xxx.gif"的转换为"xxx.jpg",我不知道其具体名称,只知道是以gif结尾。
问题解决:update pet set petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg' where petPhoto like '%.gif'
注意匹配符:“%& ......

SQL语句中CONVERT的使用方法

CONVERT的使用方法:
  格式:
  CONVERT(data_type,expression[,style])
  说明:
  此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
  相互转换的时候才用到.
  例子:
  Select CONVERT(varchar(30),getdate(),101) now
  结果为
  now
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号