摘要:
众所周知,SQL Server 2012最大的新功能是“Allways ON”,其实除了这个以外,在一些内部的功能和DMV上也做了较大的改进,这里罗列了大部分,希望对即将升级的朋友们有些帮助。 功能变更 功能名称 原有的功能 解决方法 BACKUP DATABASE 或 LOG WITH PASSWORDBACKUP DATABASE 或 LOG WITH MEDIAPASSWOR... 阅读全文
摘要:
NOLOCK的作用有的时候还是很强大的。通常我们的理解是NOLOCK不需要申请S锁,从而避免因他人做数据修改引起的阻塞,也就是说NOLOCK理应返回更多的数据才对(比如新插入的行还没提交,也顺手牵羊一起返回了)。然而,在某种情况下,NOLOCK反而返回了更少的数据,并且可以确认的是,当前没有人在删数据,那么到底是为什么呢? 以下是在实际工作中遇到的真实事件,最后微软技术中心的工程师给出了noloc... 阅读全文
摘要:
向大家介绍一款专门作数据库硬盘压力测试的工具,SQLio.exe。 安装指南 获取路径: http://www.microsoft.com/en-us/download/details.aspx?id=20163 安装步骤 双击SQLIO.msi打开安装程序 1、开始安装,点Next 2、同意协议 3、修改安装路径 4、一路next,开始安装 5、完成安装 使用说明 主要使用两个文件:P... 阅读全文
摘要:
一. SQL Replay简介 SQL Replay它是SQL Server Profiler中的一个trace模板,它将收集数据库服务器中必要的事件trace,用于在相同或不同的服务器上回放。通过改进模板脚本,我们可以更好的生成自定义的回放trace。这类trace主要可以帮助我们分析语句在同一台服务器的不同数据库对象上运行的性能(如索引、主键等),检测这些数据库对象变更前后的性能差异;也可以分... 阅读全文
摘要:
1. 事务日志的简介1.1什么是事务日志SQL Server数据库的日志文件也称为事务日志文件。每个 SQL Server 数据库都有至少有一个日志文件,用于记录所有事务以及每个事务对数据库所做的修改。事务日志是每个数据库的重要组件,了解和管理此日志是数据库管理员角色的重要组成部分。1.2事务日志的物理体系结构SQL Server 数据库引擎在内部将每一物理日志文件分成多个虚拟日志文件。虚拟日志文件没有固定大小,且物理日志文件所包含的虚拟日志文件数不固定。数据库引擎在创建或扩展日志文件时动态选择虚拟日志文件的大小。数据库引擎尝试维护少量的虚拟文件。在扩展日志文件后,虚拟文件的大小是现有日志大小 阅读全文
摘要:
第一部分 服务器版安装手册一、安装前环境检查安装前请做如下检查:A. 确保服务器布置在内部网络。B. 安装已验证过不影响SQL Server的Service Pack和安全修补程序。C. 存放数据库文件的磁盘分区需使用NTFS格式。D. 对关键的数据文件使用硬件RAID。E. 没有安装其他应用程序和服务,除了服务器标准安装许可的软件。F. 系统自带的防火墙需要关闭。G. SQL Server 版本选择,SQL Server 2012没有Datacenter版,我们默认都安装Enterprise版。(各版本 SQL Server 支持的最大处理器数)二、安装SQL Server 20121. 双 阅读全文
摘要:
概 要SQL Server2008 R2安装分为服务器端的安装与客户端的安装。安装服务器端前,我们需要检查服务器的相关设置,即安装前的环境检查;在安装后,我们还必须对SQL Server 2008 R2进行相应的配置;对于仅需安装SQL Server 2008 R2的客户端时,安装前后,我们都无需对其进行配置。本文档为企业安装SQL Server 2008 R2的指导性文档。需安装SQL Server 2008 R2时,无论是企业版,标准版,英文版,中文版的安装,均可按本文档执行。第一章 安装前环境检查安装前请做如下检查:A.确保服务器布置在内部网络。B.安装验证过不影响SQL Server的 阅读全文
摘要:
第一部分: 服务器版安装手册一、安装前环境检查A.确保服务器布置在内部网络。B.安装验证过不影响SQL Server的Service Pack和安全修补程序。C.使用NTFS。D.对关键的数据文件使用硬件RAID。E.没有安装其他应用程序和服务,除了服务器标准安装许可的软件。F.SQLServer 版本选择,如果服务器的CPU个数小于等于4个,而且这个数据库服务器不需要镜像,联机索引,分区表的系统安装SQLServer 2005标准版;其他情况需要安装SQLServer企业版。G.查看服务器是32位还是64位,并据此选择SQLServer的版本(X86或64).开始à运行…-> 阅读全文
摘要:
一、堆表1、堆的结构图1堆是不含聚集索引的表。堆的 sys.partitions 中具有一行,对于堆使用的每个分区,都有 index_id = 0。默认情况下,一个堆有一个分区。当堆有多个分区时,每个分区有一个堆结构,其中包含该特定分区的数据。例如,如果一个堆有四个分区,则有四个堆结构;每个分区有一个堆结构。根据堆中的数据类型,每个堆结构将有一个或多个分配单元来存储和管理特定分区的数据。每个堆中的每个分区至少有一个 IN_ROW_DATA 分配单元。如果堆包含大型对象 (LOB) 列,则该堆的每个分区还将有一个 LOB_DATA 分配单元。如果堆包含超过 8,060 字节行大小限制的可变长度列 阅读全文
摘要:
最近碰到几个年轻的程序员,惊讶的发现,很多人对数据库的认识只停留在对表的select,update,insert和delete,连最最基本的聚集索引和非聚集索引都搞不清!所以今天通过一个案例先来讲讲非聚集索引的seek和scan的性能差别。1.问题描述A服务器在工作时间段整体CPU较基线偏高,且有越来越高的趋势,虽然暂时在可接受范围内,但本着防患于未然的原则,应该引起重视。2.发现问题首先我们要找出开销较大的sql语句,看看是否有空间优化。方法很多种,最简单的是通过DMV的sys.dm_exec_query_stats。笔者这里提供了一段脚本,供大家参考。SELECT TOP 20[Datab 阅读全文