-
SQL注入全过程深入分析
本文分析了SQL注入全过程。分享给大家供大家参考,具体如下:初步注入--绕过验证,直接登录公司网站登陆框如下:可以看到除了账号密码之外,还有一个公司名的输入框,根据输入框的形式不难推出SQL的写法如下:复制代码代码如下:SELECT*FromTableWHEREName='XX'andPassword='YY'andCorp='ZZ'我发现前两者都做一些检查,而第三个输入框却疏忽了,漏洞就在这里!注入开始,在输入框中输入以下内容:用户名乱填,密码留空,这种情况下点击登录按钮后竟然成功登录了...
数据库操作教程 2022-09-23 18:07:47 -
Sqlserver中内部函数fn_PhysLocFormatter存在解析错误详解
前言有网友指出,SQLServer2012中fn_PhysLocFormatter内部函数在解析数据行记录位置时存在错误,见:http://www.itpub.net/thread-1751655-1-1.html,实际测试后发现,一是2008R2中同样存在问题,二是不仅页号解析存在问题,槽号解析也存在同样问题。下面先查看表NT_SiteInfo的数据行记录位置...
数据库操作教程 2022-09-23 18:07:43 -
sqlserver中几种典型的等待
为了准备今年的双11很久没有更新blog,在最近的几次sqlserver问题的排查中,总结了sqlserver几种典型的等待类型,类似于oracle中的等待事件,如果看到这样的等待类型时候能够迅速定位问题的根源,下面通过一则案例来把这些典型的等待处理方法整理出来:第一种等待.memory等待早上接到一用户反馈其RDS实例非常的慢,通过观察sqlserver活动会话监视器(activemonitor)的waitingtasks(类似于mysql的threadrunning)可以看到有10多w的等待任务,可以明确数据库现在已经出现了较大的瓶颈,紧接着通过resourcewaits看到数据库中有大量的memory内存等待:看到是memory资源等待后,为了立刻恢复用户应用,想到立刻去调大内存,发现该实例已经是24G了,看来一下os的空余内存,还有较多的内存剩余,所以将内存调大到36G,发现resourcewaits还是在memory上等待,同时这个时候的cpu使用率飙升,达到了90%左右(之前在10%左右的等待).这样解决不了根本问题,于是通过recentexpensivequeries,发...
数据库操作教程 2022-09-23 18:07:38 -
SQLSERVER中强制类型转换cast和convert的区别详解
SQLSERVER中强制类型转换cast和convert的区别在SQLSERVER中,cast和convert函数都可用于类型转换,其功能是相同的,只是语法不同.cast一般更容易使用,convert的优点是可以格式化日期和数值...
数据库操作教程 2022-09-23 18:07:30 -
sqlserver进程死锁关闭的方法
1.首先我们需要判断是哪个用户锁住了哪张表.--查询被锁表selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'查询后会返回一个包含spid和tableName列的表.其中spid是进程名,tableName是表名.2.了解到了究竟是哪个进程锁了哪张表后,需要通过进程找到锁表的主机.--查询主机名execsp_who2'xxx'xxx就是spid列的进程,检索后会列出很多信息,其中就包含主机名.3.通过spid列的值进行关闭进程.--关闭进程declare@spidintSet@spid=xxx--锁表进程declare@sqlvarchar(1000)set@sql='kill'+cast(@spidasvarchar)exec(@sql)PS:有些时候强行杀掉进程是比较危险的,所以最好可以找到执行进程的主机,在该机器上关闭进程.以上所述是小编给大家介绍的sqlserver进程死锁关闭...
数据库操作教程 2022-09-23 18:07:23 -
SqlServer批量备份多个数据库且删除3天前的备份
废话不多说了,直接给大家贴代码了,具体代码如下所示:/********************************************批量备份数据库且删除3天前的备份*******************************************/DECLARE@backupfileVARCHAR(1024)DECLARE@backdescVARCHAR(1024)DECLARE@filenameVARCHAR(1024)DECLARE@pathVARCHAR(1024)DECLARE@dbnameVARCHAR(1024)DECLARE@extension_nameVARCHAR(16)--备份参数DECLAREtmp_CurCURSORFORSELECTNAMEFROM[sys].[databases]WHERENAMENOTIN('master','model','msdb','tempdb')SET@path=N'D:BackupAutoback';SET@extension_name=N'bak';--生成文件名SET@filename=CONVERT(VARC...
数据库操作教程 2022-09-23 18:07:20 -
浅析SQLServer聚焦索引对非聚集索引的影响
前言在学习SQL2012基础教程过程中会时不时穿插其他内容来进行讲解,相信看过SQLServer2012T-SQL基础教程的童鞋知道前面写的所有内容并非都是摘抄书上内容,如若是这样那将没有任何意义,学习的过程必须同时也是一个思考的过程,无论是独立思考也好还是查资料也罢都是思考而非走马观花,要不然过一段时间又会健忘。简短的内容,深入的理解...
数据库操作教程 2022-09-23 18:07:15 -
SQLServer数据库从高版本降级到低版本实例详解
SQLServer数据库从高版本降级到低版本实例详解由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接【分离/附加】或者【备份/还原】数据库,在不同版本之间存放。往往就会遇到版本不兼容的问题...
数据库操作教程 2022-09-23 18:07:14 -
SQLServer解析XML数据的方法详解
本文实例讲述了SQLServer解析XML数据的方法。分享给大家供大家参考,具体如下:--5.读取XML--下面为多种方法从XML中读取EMAILDECLARE@xXMLSELECT@x='<People><dongsheng><InfoName="Email">[email protected]</Info><InfoName="Phone">678945546</Info><InfoName="qq">36575</Info></dongsheng></People>'--方法[email protected]('data(/People/dongsheng/Info[@Name="Email"])[1]','varchar(30)')--方法[email protected]('(/People/dongsheng/Info[@Name="Email"])[1]','varchar(30)')--方法3SELECTC.value('.','varchar(30)')F...
数据库操作教程 2022-09-23 18:07:10 -
SQLServer附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程
问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5。如下图:问题原因:可能是文件访问权限方面的问题...
数据库操作教程 2022-09-23 18:07:06 -
SQLServer地址搜索性能优化
这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享。1.需求 1.1基本需求:根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内...
数据库操作教程 2022-09-23 18:07:01