数据库
winddai
这个作者很懒,什么都没留下…
展开
-
注入过滤
最近看到论坛上好多朋友都在谈论asp+mssql的网站被注入问题.本人所在公司旗下所有网站,前一阵也被人大规模扫描.再加上今年四五月份的时候曾经爆发过一次SQL注入攻击.所以一直在想,是不是又一次的大范围的攻击开始了呢.今天把个人总结的对付SQL注入的方法给大家共享下.希望对大家有帮助.也欢迎大家来讨论,完善防范代码.如何防范SQL注入是一个令人很头疼的问题,大家要明确一下.被注入的根本问题是程序写的不够严谨,如果你的判断足够严格,就绝对不会被注入.更不要期待使用一些组件,防火墙之类的来解决.使用这些东西,转载 2010-08-16 10:30:00 · 368 阅读 · 0 评论 -
collate chinese_prc_ci_as null
我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。 语法是collate collation_name collation_name ::={windows_collation_name}|{sql_collation_name}转载 2010-08-16 11:07:00 · 389 阅读 · 0 评论 -
select * from dbo.sysobjects where type not in('S','D','K')
详解: select * from dbo.sysobjects where type not in('S','D','K') ('S','D','K') 值 xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY转载 2010-08-16 11:08:00 · 2215 阅读 · 1 评论 -
Sql Server 重置标识列
在SQL Server中, 我们有时需要在清空数据表之后,重新添加记录时,标识列重新从1开始计数。 我们只需要在插入记录之前,执行下面的命令: DBCC CHECKIDENT (表名, RESEED, 0) 如果是清空表中内容再重置标识列可以选择使用 Truncate Table 命令: Truncate Table tablename TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同 TRUNCATE TABLE 删除表中的所有行,转载 2010-08-16 11:09:00 · 719 阅读 · 0 评论 -
存储过程返回临时表的问题
deallocate rt_cursor 此存储过程的作用是取出每个分类的最新10条记录。 出现的错误信息是(一旦操作返回的记录集时就出现): ADODB.Recordset 错误 '800a0e78' The operation requested by the application is not allowed if the object is closed. 此存储过程能在qa中正常运行且能得到正确结果,使用odbc连接数据库的话,也能得到正确的结果。于是首先怀疑o转载 2010-08-16 11:10:00 · 709 阅读 · 1 评论 -
T_SQL小手册
--语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE -转载 2010-08-16 11:17:00 · 287 阅读 · 0 评论 -
创建视图
SQL SERVER 提供了使用SQL SERVER Enterprise Manager 和Transac-SQL 命令两种方法来创建视图。在创建或使用视图,时应该注意到以下情况: • 只能在当前数据库中创建视图,在视图中最多只能引用1024 列; • 如果视图引用的表被删除,则当使用该视图时将返回一条错误信息,如果创建具有相同的表的结构新表来替代已删除的表视图则可以使用,否则必须重新创建视图; • 如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,转载 2010-08-16 11:17:00 · 1604 阅读 · 0 评论 -
跨库,跨服务器的视图
使用联结服务器: EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;' exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码' GO 然后你转载 2010-08-16 11:18:00 · 900 阅读 · 0 评论 -
sql视图:SQL Server 2000的视图中必须小心使用*符
有些朋友看到这个标题可能会有疑问,难道在视图中使用*符号还有何要注意的地方吗?对于这个问题,我们先不必回答,先看一下例子吧。 我这里,使用的数据库是SqlServer2000自带的Northwind,这样方便大家自己私下里测试。首先,创建两个视图,视图的脚本如下: --视图 vCustomersA create view vCustomersA as select CustomerID ,CompanyName,ContactName,ContactTitle,转载 2010-08-16 11:18:00 · 332 阅读 · 0 评论 -
SQL使用视图的简单语法大全
使用CREATE VIEW命令创建视图的简单语法如下: CREATE VIEW 视图名 [WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }] AS SELECT 列1, 列2, ……, 列n FROM 表名 [WHERE 从句] [WITH CHECK OPTION] 使用CREATE VIEW命令创建视图时对结果集进行排转载 2010-08-16 11:19:00 · 1109 阅读 · 0 评论 -
海量数据库的查询优化及分页算法方案
随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题。 在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的MS SQL SERVER转载 2010-08-16 11:04:00 · 398 阅读 · 0 评论 -
for xml auto
<br />该子句的语法如下所示: <br />[ FOR { XML { RAW | AUTO | EXPLICIT } <br />[ , XMLDATA ] <br />[ , ELEMENTS ] <br />[ , BINARY BASE64 ] } ] <br /><br />FOR XML子句的XML模式由三种参数值表示:RAW、AUTO或者EXPLICIT。模式决定了结果XML的形式和组成。 <br /><br />RAW示例 <br /><br />我们执行以下的SQL语句: <br />转载 2010-08-16 11:03:00 · 369 阅读 · 0 评论 -
数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间
--在查询分析器中执行 <br /> <br /> --截断事务日志 <br /> backup log tempdb with no_log <br /> go <br /> <br /> --收缩数据库 <br /> dbcc shrinkdatabase (tempdb) <br /> go<br /><br />在企业管理器中设置tempdb的事务日志自动增长,文件增长不受限制<br />设置tempdb文件属性是自动增长。转载 2010-08-16 11:02:00 · 1458 阅读 · 0 评论 -
一次性替换数据库中所有表所有列的关键字
<br />因为域名www.aaa.com要换成www.bbb.cn<br />所以我写了两个存储过程,实现了一次性替换数据库中所有表所有列的关键字,包括了数据表中的所有文本字段(varchar.nvarchar,ntext,text等)..<br /><br />当然要实现类型为varchar,nvarchar的字段是很容易实现的,用一句SQL就可以搞定:<br />update Table set Column=Replace(Column,'oldkeyword','newkeyword').<br转载 2010-08-16 10:33:00 · 760 阅读 · 0 评论 -
Transact SQL 常用语句以及函数
Transact SQL 语 句 功 能 ========================================================================-- 数据操作SELECT -- 从数据库表中检索数据行和列 INSERT -- 向数据库表添加新数据行 DELETE -- 从数据库表中删除数据行 UPDATE -- 更新数据库表中的数据 -- 数据定义 CREATE TABLE -- 创建一个数据库表 DROP TABLE -- 从数据库中删除表 ALTER T转载 2010-08-16 11:05:00 · 277 阅读 · 0 评论 -
在SQL Server数据库开发中的十大问题
在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表和字段的名字约束进行探究。学习如何解决并发问题,并且在不了解T-SQL的情况下编写存储过程。查看这些解决方案的快速参考,并且了解更多内容。 在SQL Server开发问题中你可能会问到的十个问题: 1、什么是常见的对表和字段的名字约束? 2、有没有可能在不了解T-SQL的情况下编写存储过程 3、T-SQL 中如何比较CLR 存储过程转载 2010-08-16 11:06:00 · 331 阅读 · 0 评论 -
if exists (select * from dbo.sysobjects where id = object_id ..
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPers转载 2010-08-16 11:08:00 · 1204 阅读 · 0 评论 -
SQL语句基础精华搜集
asc 按升序排列 desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 Create DATABASE data转载 2010-08-16 11:09:00 · 346 阅读 · 0 评论 -
sql注入相关
' 单引号 封装过滤request function requestfilter(value) ...过滤程序 requestfilter=temp end function Set POST = Server.CreateObject("Scripting.Dictionary") For Each x In request.Form POST.add x,requestfilter(request.Form(x)) Next name = POST("name") %>转载 2010-08-16 10:27:00 · 246 阅读 · 0 评论 -
xType
<br />xType char(2) <br /><br />对象类型。可以是下列对象类型中的一种: <br />C = CHECK 约束 <br />D = 默认值或 DEFAULT 约束 <br />F = FOREIGN KEY 约束 <br />L = 日志 <br />FN = 标量函数 <br />IF = 内嵌表函数 <br />P = 存储过程 <br />PK = PRIMARY KEY 约束(类型是 K) <br />RF = 复制筛选存储过程 <br />S = 系统表 <br /转载 2010-08-16 10:41:00 · 302 阅读 · 0 评论 -
SQL中的CASE使用方法
<br />Case具有两种格式。简单Case函数和Case搜索函数。 <br />--简单Case函数<br />CASE sex<br /> WHEN<br />'1'<br />THEN<br />'男'<br />WHEN<br />'2'<br />THEN<br />'女'<br />ELSE<br />'其他'<br />END<br />--Case搜索函数<br />CASE<br />WHEN sex =<br />'1'<br />THEN<br />'男'<br />转载 2010-08-16 10:58:00 · 350 阅读 · 0 评论 -
SQL Server日志清空方法
SQL Server日志清空方法 一般清空日志用以下两条命令即可: 操作方法: DUMP TRANSACTION 数据库名子 WITH NO_LOG /*清空日志*/ DBCC SHRINKDATABASE ("数据库名子") /*收缩指定数据库中的数据文件大小*/ 在查询分析器中顺序执行以下三步,其中 databasename 为你的数据库文件名 1.清空日志:DUMP TRANSACTI转载 2010-08-16 11:01:00 · 664 阅读 · 0 评论 -
SQL SERVER数据库开发之存储过程应用
<br />序<br /> 可能有不少朋友使用SQL SERVER做开发也已经有段日子,但还没有或者很少在项目中使用存储过程,或许有些朋友认为根本没有必要使用存储过程等等。其实当你一个项目做完到了维护阶段时,就会发现存储过程给我们带来了好处了,修改方便,不能去改我们的应用程序,只需要改存储过程的内容,而且还可以使我们的程序速度得到提高。SQL SERVER 联机丛书中的定义:<br /> 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。<br /> 可以创建一转载 2010-08-16 11:26:00 · 345 阅读 · 0 评论