浏览模式: 普通 | 列表
分类: Sql Server | < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | >
本文作者:未知
文章出处:未知
文章性质:原创
阅读次数:22
发布日期:2004-09-27
   
Sql-Server应用程序的高级Sql注入
本文作者:Chris Anley
翻译: luoluo [luoluonet@hotmail.com]
小组: http://www.ph4nt0m.net/
http://www.play8.net/

[目 录]

[概要]
[介绍]
[通过错误信息获取信息]
[更深入的访问]
[xp_cmdshell]
[xp_regread]
[其他扩展存储]
[联合服务器]
[用户自定义扩展存储]
[向表中导入文本文件]
[利用BCP创建文本文件]
[SQL-Server里的ActiveX 脚本]
[存储过程]
[高级Sql注入]
[没有引号的字符串]
[Sql-Injection二次注入]
...

阅读全文…
p.s. 这个方法挺有用,不用自己写随机读行号函数

相信熟悉SQL语句的朋友都知道,在SQL SERVER中可以使用ORDER BY NEWID()来随机排序SELECT的数据集结果,那相同的功能在ACCESS中如何实现呢?
  其实方法也很简单,就是使用随机函数Rnd()来实现.
  例如:
    SELECT * FROM TABLE ORDER BY Rnd(id)
    说明:id为自动编号

sql server 授权模式

[ 2009-03-18 16:45:48 | 作者: admin ]
一、服务器模式指你为每台服务器购买了多少份许可,就可以有多少个并发连接连到你的这台服务器;(指能有多少电脑设备上sql客户端可同时连接到服务器,如有多个财务软件需要链接到服务器,一台WEB服务器连到数据库时只产生一个客户端链接)
二、客户端模式指你为一个客户购买了多少份许可,这个客户就可以与服务器存在多少个并发连接。
三、cpu模式为数据库服务器上限制的cpu数目

以星型来表示的话,
服务器模式表示服务器是中心,并发连接从服务器向客户发散;
客户端模式表示客户机是中心,并发连接从客户端向服务器发散。
当无法直接使用sql语句,需要用sp_executesql来插入记录的时候,对于插入ntext比较难以处理,现在推荐一个相对简单的办法
先插入其他字段,ntext只插入空文本,然后获取该记录ntext的大文本指针,在指针处写入大文本

--插入新记录,ntext只插入空文本
insert into tao123_Info ...

--获取插入记录的id号
set @newId = SCOPE_IDENTITY()

--获取该记录ntext的大文本指针
select @tao123_pointer = textptr(ntext_Body) from tao123_Info WITH (NOLOCK) where Id = @newId

--在指针地方插入
WRITETEXT tao123_Info.ntext_Body @tao123_pointer @ntextNewContent
存储过程中遇到表名、字段为变量的时候不可避免的会使用
  exec sp_executesql @sql

当插入一条记录的时候,我们习惯用 SCOPE_IDENTITY() 来获取最后一条的ID号,
然而用在 sp_executesql 之后时,获取的值为NULL,无法正常得到ID,原因是当 exec sp_executesql 执行结束,这个所谓的“范围”也就结束了。要想得到ID,必须让 SCOPE_IDENTITY 在这个范围内,所以需要将 SCOPE_IDENTITY 放入@sql中

参考:
   select @Sql = N' insert into tao123 ; select @varNewId= SCOPE_IDENTITY() ; '
   execute sp_executesql @Sql ,N'@varNewId int OUTPUT',@varNewId=@newId output

SQLSERVER管理员必备DBCC命令

[ 2008-10-24 00:10:59 | 作者: admin ]
一、了解DBCC
DBCC(database consistenecy checker,简称dbcc) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。
数据库控制台命令语句可分为以下类别:
维护: 对数据库、索引或文件组进行维护的任务。
杂项: 杂项任务,如启用跟踪标志或从内存中删除 DLL。
信息: 收集并显示各种类型信息的任务。
验证: 对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作

二、DBBCC维护语句:对数据库、索引或文件组进行维护的任务。
DBCC CLEANTABLE。回收删除的可变长度列和文本列的空间。
      DBCC CLEANTABLE
      (
            { 'database_name' | database_id | 0 }
        , { 'table_name' | table_id | 'view_name' | view_id }
...

阅读全文…
p.s. 用下面的删除操作,700万记录中删除有条件的记录200万,在查询分析器操作耗时1:30秒。

  删除的问题:
    1. 减少索引的影响: 删除所有索引, 然后做处理, 最后再重建索引
    2. 减少日志记录:
               a. 备份数据库(如果有必要的话,因为下面的操作很少记录日志,出错后无法从日志中恢复数据)
               b. 设置最小日志记录:
                    alter database <dbname> recovery simple
               c. 进行你的处理
               d. 恢复默认设置:
                    alter database <dbname> recovery full
...

阅读全文…

SQL 获得不包含时间部分的日期

[ 2008-09-03 16:44:17 | 作者: admin ]
GetDate()获得的日期由两部分组成,是今天的日期和当时的时间:

Select GetDate()
用DateName()就可以获得到相应的年、月、日,再把它们连接起来就好了:

Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate())
另外,DateName()还可以获得到小时、时间、秒、星期几、第几周,分别如下:

Select Datename(hour,GetDate())
Select Datename(minute,GetDate())
Select Datename(second,GetDate())
Select Datename(weekDay,GetDate())
Select Datename(week,GetDate())

SQL中的日期类型DateTime的默认格式就是yyyy-mm-dd ...

阅读全文…