-
防止SQLSERVER的事件探查器跟踪软件
两种方法的原理相同第一种方法:复制代码代码如下:procedureSQLCloseAllTrack;constsql='declare@TIDinteger'+'declareTracCursorFor'+'SELECTDistinctTraceidFROM::fn_trace_getinfo(default)'+'openTrac'+'FetchNextFromTracinto@TID'+'while@@fetch_status=0'+'begin'+'execsp_trace_setstatus@TID,0'+'execsp_trace_setstatus@TID,2'+'FetchNextFromTracinto@TID'+'end'+'CloseTrac'+'deallocateTrac';begin//停止所有SQLSERVER的跟踪器,以防止程序被別人跟踪ExecSql(sql);end;第二种方法:复制代码代码如下:withfaq1dobeginClose;sql.Clear;sql...
数据库操作教程 2022-09-23 16:55:32 -
根据多条件查询临时表想得到不同结果集的方法
当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集。select*[email protected](selectidfromtbwheref=@c)但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如复制代码代码如下:if@aisnotnullbegin--得到@a想得到的endif@bisnotnullbegin--得到@b想得到的endif@cisnotnullbegin--得到@c想得到的end这样做好像没什么问题,但如果@a和@b是一起的,甚至是@a,@b,@c,@d,@e,@f等等N多种条件组合,这样就不好办了...
数据库操作教程 2022-09-23 16:53:56 -
sqlserver自动备份所有数据库的SQL
复制代码代码如下:usemasterdeclare@DbNamevarchar(60)declare@BackSqlvarchar(1000)declaremyCursorcursorforSELECT[name]FROMSYSDATABASESwhere[name]notin('master','model','msdb','tempdb')orderby[name]openmyCursorfetchnextfrommyCursorinto@DbNamewhile(@@FETCH_STATUS=0)beginifdatename(weekday,getdate())='星期三'--每周三覆盖上周三的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'星期三.bak''withformat'endelse--每天覆盖上一天的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'Aut...
数据库操作教程 2022-09-23 16:52:39 -
SQLServer自动更新统计信息的基本算法
自动更新统计信息的基本算法是:·如果表格是在tempdb数据库表的基数是小于6,自动更新到表的每个六个修改。·如果表的基数是大于6,但小于或等于500,更新状态每500的修改...
数据库操作教程 2022-09-23 16:50:50 -
SqlServer索引自动优化工具
鉴于人手严重不足(当时算两个半人的资源),打消了逐个库手动去改的念头。当前的程序结构不允许搞革命的做法,只能搞搞改良,所以准备搞个自动化工具去处理...
数据库操作教程 2022-09-23 16:50:25 -
SQLServer双服务器架设并数据自动同步教程
交待:使用的软硬件环境为WinXPSP2、SQLServer2000SP2个人版、普通双核台式机、1000M局域网,A机为已使用的服务器,上面已有数据库和海量数据,B机为此次新架服务器,两机登陆方式均为sqlserver身份验证模式,其它设置均为默认设置,无特别。A机上另有FTP服务器,用于程序自动更新...
数据库操作教程 2022-09-23 16:49:26 -
sqlserver触发器学习(实现自动编号)
总结常用基本点如下:1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。 DDL触发器:在用户对数据库执行数据定义(CREATE、ALTER、DROP或相似的语句)对数据库结构进行修改时激活而做出响应...
数据库操作教程 2022-09-23 16:48:35 -
sqlserver自动生成拼音首字母的函数
建立一个查询,执行下面的语句生成函数fn_GetPy复制代码代码如下:--生成拼音首码CREATEfunctionfn_GetPy(@strnvarchar(4000))returnsnvarchar(4000)--WITHENCRYPTIONasbegindeclare@intLenintdeclare@strRetnvarchar(4000)declare@tempnvarchar(100)set@intLen=len(@str)set@strRet=''while@intLen>0beginset@temp=''select@temp=casewhensubstring(@str,@intLen,1)>='帀'then'Z'whensubstring(@str,@intLen,1)>='丫'then'Y'whensubstring(@str,@intLen,1)>='夕'then'X'whensubstring(@str,@intLen,1)>='屲'then'W'whensubstring(@str,@intLen,1)>='他'then'T...
数据库操作教程 2022-09-23 16:46:59 -
sqlserver编写archive通用模板脚本实现自动分批删除数据
博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常使用。然后就对delete语句进行按均匀数据量分批delete的改写,这样的话,原来的删除一个表用一个语句,就可能变成几十行,如果archive的表有十几个甚至几十个,那我们的脚本篇幅就非常大了,增加了开发和维护的成本,不利于经验比较少的新入职同事去开发archive脚本,也容易把注意力分散到所谓分批逻辑中...
数据库操作教程 2022-09-23 16:43:38 -
mybatiscollection多条件查询的实现方法
mybatiscollection多条件查询的实现方法前言:业务需要通过mybatis查询返回嵌套集合,嫌多次查询太麻烦,用自带的高级查询解决问题,下边是代码,已测试通过。说下自己的理解,就是一个主查询结果集里面嵌套了子查询的结果集,可以是多个子查询,每个子查询的条件从主查询结果集中获取,返回值各自定义...
数据库操作教程 2022-09-23 16:43:37 -
SQLServer查看login所授予的具体权限问题
在SQLServer数据库中如何查看一个登录名(login)的具体权限呢,如果使用SSMS的UI界面查看登录名的具体权限的话,用户数据库非常多的话,要梳理完它所有的权限,操作又耗时又麻烦,个人十分崇尚简洁、高效的方法,反感那些需要大量手工操作的UI界面操作方式,哪怕就是脚本,如果不能一次搞定,手工多操作几次(例如,切换数据库),都是不可接受的。最近遇到这个需求,就完善了一下之前的脚本get_login_rights_script.sql,输入登录名参数,将这个登录名所拥有的服务器角色、数据库角色、以及所授予具体对象的相关权限使用脚本查询出来,脚本分享如下:--==================================================================================================================--ScriptName:get_login_rights_script.sql--Author:潇湘隐者--CreateDate:2015-12-18--Description:查看某个登录名被授予的数据...
数据库操作教程 2022-09-23 16:42:55 -
SQLServer利用sp_spaceused如何查看表记录存在不准确的情况
前言在之前写过一篇博客"关系数据库如何快速查询表的记录数",里面介绍了使用sp_spaceused查看表的记录数是否正确的问题,具体如下:关于问题3:有多个索引的表,是否记录数会存在不一致的情况? 答案:个人测试以及统计来看,暂时发现多个索引的情况下,sys.partitions中的rows记录数都是一致的。暂时没有发现不一致的情况,当然也不排除有特殊情况...
数据库操作教程 2022-09-23 16:42:51