- 博客(34)
- 资源 (13)
- 收藏
- 关注
转载 SQL Server 2008 索引之十亿行数据测试报告
索引简介 索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。当然更新一个包含索引的表需要比更新一个没有索引的表花更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。 索引的分类:微软的SQL SER
2013-11-08 15:43:24
4295
转载 SQL Server 2008、2012 事务日志截断(truncate)与收缩(shrink)
现象:一个数据库,数据文件10+G ,事务日志达20+G,而且使用常规的截断、收缩方法均无法减小日志物理文件的尺寸解决方法:步骤一:查看日志信息在查询分析器中执行如下代码来查看日志信息: DBCC LOGINFO('数据库名称') 可以看到status=0的日志,代表已经备份到磁盘的日志文件;而status=2的日志还没有备份。当收缩日志文件时,收缩掉的空间其实就是
2013-07-11 16:15:42
7617
转载 深入分析各种raid级别相对单盘速度变化
入分析各种raid级别相对单盘速度变化 RAID0用分片存储方式把数据分布在两个盘或更多盘上,读写持续传输速率会增加一倍,随机读写速度按理论是有可能增加的,这取决于数据分片大小和读写的大小,不过总的来说很值得怀疑;硬件RAID1的随机和持续写速率和单个硬盘是完全一样的,但读的话由于可以从两个硬盘随意选一个读,随机读性能会有明显的增加,可能至2倍,至于持续读取速率理论上有可能增加,不过我很怀疑有
2012-03-07 14:51:18
9636
1
转载 使用 js WinHttpRequest 修改伪造 Referer (附实战代码)
【转】使用 js WinHttpRequest 修改伪造 Referer (附实战代码)首先说明,伪造访问来路不是什么光明正大的事情,目的就是为了欺骗服务器。原本以为给 XMLHTTP 对象增加一个 Referer 的header 就可以,结果却没有任何作用,改用 ServerXMLHTTP 也如此。无意间发现公司内部项目使用的 paypal 扣款程序里面有 W
2012-03-02 13:36:34
14685
4
转载 修改Metabase.xml文件提升IIS性能
Metabase.xml文件是IIS的设置文件,每个网站已经IIS的设置都在这个下面,所以在修改这个文件之前要把这个文件备份一下。这个文件在C:/WINDOWS/system32/inetsrv/Metabase.xml,前篇的启用IIS的静态压缩也可以在文件下设置,也可以在IIS的图形界面下设置。 对IIS的性能优化要对症下药,对不同的网站有不同的优化方法,在分析你网站的特点的情况
2012-02-11 21:46:27
960
原创 事物发布中,更改字段,新加表的操作流程
<br />注意:发布时须使用备份文件进行发布<br /> <br />更改字段<br />1:停止相关业务工作流,确保对需要修改字段的表没有任何数据操作<br />2:在发布中删除需要修改字段的表的发布<br />3:在订阅库中,直接修改字段<br />4:在发布库中,直接修改字段<br />5:在发布中,重新选择这个表<br />6:手工测试发布和订阅在该表上是否同步<br />7:回复相关业务工作流程<br /> <br />新添发布表<br />1:在发布数据库和订阅数据库上直接创建完全一样的表<b
2011-05-05 16:41:00
2313
转载 事物发布出现中断如:(事务序列号: 0x0000003A000001DB006800000000)
<br />1 <br />Replication-replication distribution subsystem agent null failed. the publication XXX does not exist<br />从字面上可以看到,当前订阅的发布已经不存在了,而相应的分发代理却因为某些原因没有被删除,继续运行,就会出现这种错误。 <br />这个错误可以在distributor的错误日志中,或者MSrepl_errors表中看到. <br />A1 如何解决:在distributo
2011-05-05 16:21:00
3324
转载 SQL Server事务复制通过备份文件进行订阅初始化
<br />1、在发布服务器上创建一个发布。<br />2、发布属性中的订阅选项,设置允许从备份文件初始化为true,默认是false。<br />3、在发布服务器上暂停分发日志的清理作业(否则可能出现事物被清理而无法创建订阅的错误),备份数据库,发布服务器上保留备份文件,后面要用。<br />4、在订阅服务器上使用刚才的备份还原数据库,删除订阅服务器上数据库的触发器。<br />5、在发布服务器上执行sp_addsubscription存储过程添加订阅,脚本如下:<br />exec sp_addsubs
2011-04-28 17:15:00
4901
原创 sql_split函数
<br />alter function sql_split<br />(<br /> @str varchar(1024), --要分割的字符串<br /> @split varchar(10), --分隔符号<br /> @index int --取第几个元素<br />)<br />returns varchar(1024)<br />as<br />begin<br /> declare @split_str varchar(1024)<br /> declare @location int<b
2011-01-20 12:24:00
2078
原创 merge 语句实现数据的差异传输
最近数据库升级到2008,研究了一下,发现有一个很好用的新功能,merge 语句加上存储过程,可以实现数据的差异传输,源表的增删改,都可以使用 merge 语句,把数据更改应用到目标表上,我们原来一个2亿多条记录的表,完全传输一次需要3个多小时,使用这个方法进行数据传输,首次花的时间和原来差不多,但是在以后的定时作业里面,看到传输时间只有不到 10分钟了,经大量数据抽样检查,数据是完全相同的,通过优化,以及增加作业的频率,可以实现数据更短的时间差,这对于表比较大,而且需要进行不定期同步的情况来说,节省了不少
2010-08-05 23:45:00
770
原创 sql2008安装问题-----sql browser 无法启动终极解决办法
这几天在几台不同的服务器上安装 sql2008 ,其中一台服务器安装顺利,其他几台都安装不上,都是提示 sql browser 无法启动,这几台机器硬件配置一模一样,系统都是比较单纯的,没有安装什么软件,研究N久,一点头绪都找不到,简直要抓狂啊 冷静,冷静,碰到这样的问题一定要冷静,仔细分析,还好有一台成功装上了,有可对比分析的对象 狂查几台机器的差异,服务、端口、防火墙、IP安全策略、
2009-06-01 13:26:00
9718
4
转载 锁概念 以及 例程说明
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读A用户读取数据,随后B用户读出该数据并修改,
2009-03-19 16:28:00
1808
原创 表变量自动增加字段、主键的定义+exists使用例子
--表变量定义自动增加字段,定义主键DECLARE @tmp2 table(id int IDENTITY(1,1),id2 int primary key(id))insert into @tmp2(id2) select top 100 id from book order by idselect * from @tmp2 order by id --指定一个子查询,测试行是否存在 selec
2008-06-09 17:31:00
2087
原创 SQL Server锁类型(SQL)
1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁。 2. NOLOCK:不添加共享锁和排它锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅应用于SELECT语句。 3. PAGLOCK:指定添加页锁(否则通常可能添加表锁)。 4. READCOMMITTED用与运行在提交读隔离级别的事务相同的锁语义执行
2008-06-01 19:10:00
3706
原创 SQL SERVER 2005 同步复制技术
SQL SERVER 2005 同步复制技术 以下实现复制步骤(以快照复制为例) 运行平台SQL SERVER 2005 一、准备工作: 1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。 2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。打开1433端口,在防火墙中设特例 3.在发布服务器上建立一个共享目录,作为发布快
2008-05-29 15:18:00
2353
1
原创 SQLServer2000同步复制技术实现步骤
SQLServer2000同步复制技术实现步骤 作者:gaojier 日期:2007-06-25 字体大小: 小 中 大 一、 预备工作 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 --管理工具 --计算机管理 --用户和组 --右键用户 --新建用户 --建立一个隶属于administrator组的登陆windows的用户(S
2008-05-29 15:09:00
760
原创 用强制订阅实现数据库同步操作
用强制订阅实现数据库同步操作 大量和批量的数据可以用数据库的同步机制处理://说明:为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式在客户机器使用强制订阅方式。有疑问联系作者:zlp321001@hotmail.com测试通过//--1:环境服务器环境:机器名称: ZehuaDb 操作系统:Windows 2000 Server数据库版本:SQL 2000 Server 个人版
2008-05-29 15:07:00
2009
原创 Lumigent Log Explorer 使用方法
前言本文通过一个Bug的分析、解决,概述了使用Lumigent Log Explorer对SQL Server的事务日志进行分析的方法,以及常见的数据库误操作后的恢复、撤销方法 Bug描述 网站的文章模块有一个评分的功能: 用户选择1-5分,点击提交后,文章的评分次数(Stars) + 1、总分(StarTotal) + 分数、平均分(StarAvg) = 新总分 / 新评分次数 文章页面显示用户
2008-05-29 11:04:00
9171
原创 having 的用法
指定组或聚合的搜索条件。HAVING 只能与 SELECT 语句一起使用。HAVING 通常在 GROUP BY 子句中使用。如果不使用 GROUP BY 子句,则 HAVING 的行为与 WHERE 子句一样。 以WHERE 不同的地方在于,having可以在条件里面带聚合函数 sum ,count 比如:select * from book where authorid in (select
2008-05-28 17:42:00
1045
原创 SQL Server 2005中解决死锁问题
SQL Server 2005中解决死锁问题 数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法。 将下面的SQL语句放在两个不同的连接里面,并且在5秒内同时执行,将会发生死锁。 use Northwind begin tran insert into Orders(CustomerId) val
2008-05-26 16:59:00
2313
原创 SQL数据库——锁的概述
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读
2008-05-26 16:57:00
3083
1
原创 链接服务器应用实例
不同服务器数据库之间的数据操作--创建链接服务器 exec sp_addlinkedserver ITSV , , SQLOLEDB , 远程服务器名或ip地址 exec sp_addlinkedsrvlogin ITSV , false ,null, 用户名 , 密码 --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示
2008-05-26 13:53:00
1340
原创 行转列的问题
/*标题:普通行列转换(version 2.0)作者:爱新觉罗.毓华 时间:2008-03-09地点:广东深圳说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四
2008-05-26 10:50:00
972
原创 分页存储过程
ALTER PROCEDURE [dbo].[book_fenye] @tblName varchar(255), -- 表名 @mainid varchar(255), --主键字段名 @strGetFields varchar(1000) = *, -- 需要返回的列 @fldName varchar(255)=, -- 排序的字段名 @OrderType bit = 0, -
2008-05-26 10:46:00
814
原创 SQL Server执行部分语句的内存代价
SQL Server执行部分语句的内存代价 众所周知,SQL Server执行SQL语句的性能判定标准主要是IO读取数大小。本文在不违反这一原则情况下,同时来分析一下部分SQL语句执行时,SQL Server内存的变化情况。 首先简述一下SQL Server内存占用的特点。SQL Server所占用的内存除程序(即SQL Server引擎)外,主要包括缓存的数据(Buffer)和执行计
2008-05-26 08:40:00
4685
2
转载 优化SQL Server的内存占用之执行缓存
优化SQL Server的内存占用之执行缓存 在论坛上常见有朋友抱怨,说SQL Server太吃内存了。这里笔者根据经验简单介绍一下内存相关的调优知识。首先说明一下SQL Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data Buffer)、执行缓存(Procedure Cache)、以及SQL Server引擎程序。SQL Server引
2008-05-26 08:37:00
1023
原创 某列在两条相邻的记录之间的差值
求某列在两条相邻的记录之间的差值,可扩展应用求出符合条件的记录,以下语句是以时间作为差值条件1: 表变量的方法declare @a table (tid int identity(1,1),id int,t1 datetime)insert into @a(id,t1) select id,updatetime from book order by id--select * f
2008-05-23 23:49:00
2182
原创 显式值插入表的标识列中
SET IDENTITY_INSERT 允许将显式值插入表的标识列中。 语法 SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON ¦ OFF } 参数 database 是指定的表所驻留的数据库名称。 owner 是表所有者的名称。 table 是含有标识列的表名。 注释 任何时候,会话中只有一个表的 IDENTITY_INSER
2008-05-23 23:34:00
834
原创 数据表的物理优化方案(1)
面对一个总量过亿的数据库,如何优化?虽然优化了主键,建立了索引,优化了查询,可是,它为什么还是那么慢呢? 更恶劣的情况是,在月结,转帐,统计汇总时,它总是超时. 这的确是让很多人头痛的事.更多人提出的解决方案是:换硬件吧,换硬件真的那么有效吗?就算快一倍,从60秒变成了30秒,你的用户一样是无法忍受. 两三年前,我也遇到过这个问题,也被这个问题拆磨了好几天,后来,在优化数据
2008-05-23 16:55:00
952
原创 数据表的物理优化方案(2)
--------------------------------- -- 对指定的表进行物理优化. --------------------------------- IF EXISTS(SELECT [NAME] FROM SYSOBJECTS WHERE [NAME]=dt_optimize_table) BEGIN DROP PROC dt_optimize_table END GO C
2008-05-23 16:54:00
729
原创 数据库质疑处理方法
备份数据文件,然后按下面的步骤处理: 1.新建一个同名的数据库(数据文件与原来的要一致) 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
2008-05-22 15:03:00
1019
转载 DBCC DBREINDEX重建索引提高SQL Server性能
DBCC DBREINDEX重建索引提高SQL Server性能 大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。 1. 索引的体系结构 为什么要不断的维护表的索引?首先,
2008-05-22 14:34:00
1856
原创 索引原理,查询机制
(一)SQLS如何访问没有建立索引的数据表 Heap译成汉语叫做“堆”,其本义暗含杂乱无章、无序的意思,前面提到数据值被写进数据页时,由于每一行记录之间并没有特定的排列顺序,所以行与行的顺序就是随机无序的,当然表中的数据页也就是无序的了,而表中所有数据页就形成了“堆”。可以说,一张没有索引的数据表,就像一个只有书柜而没有索引卡片柜的图书馆,书库里面塞满了一堆乱七八糟的图书。当读者对管理员提交查
2008-05-22 14:32:00
3357
原创 数据库自动网络备份
企业管理器--管理--SQL Server代理--右键作业--新建作业--"常规"项中输入作业名称--"步骤"项--新建--"步骤名"中输入步骤名--"类型"中选择"Transact-SQL 脚本(TSQL)"--"数据库"选择执行命令的数据库--"命令"中输入要执行的语句: declare @strsql varchar(1000)
2008-05-22 14:27:00
577
Log Explorer for SQL Server 2005.rar
2010-08-19
无线网络密码查看器1.15
2010-06-28
Log Explorer for SQL Server v4.0.rar
2009-01-09
WebBrowser 控件 内存溢出 补丁 From Microsoft
2008-12-21
DeDeDark.rar
2008-11-05
QQ在线号码提取机.rar
2008-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人