一个安静的程序猿~
原文: 第十章——维护索引(9)——监控索引消耗的空间 前言: 性能优化是DBA的工作之一,但是同时,DBA还需要关心SQLServer实例、数据库消耗的空间、提供数据库用户高可用性、管理数据库备份策略等等。
原文: 第十章——维护索引(8)——在计算列中创建索引提高性能 前言: 在理解计算列上的索引之前,先了解计算列的基本知识。计算列由可以使用同一表中的其他列的表达式计算得来。
原文: 第十章——维护索引(7)——使用索引视图提高性能 前言: 视图是一个包含了一个或多个表的数据列的虚拟表。通常情况下,它仅仅是存储了查询的对象,一个视图可以当作一个表,可以用于存储过程、JOIN、用户自定义函数等等。
原文: 第十章——维护索引(6)——查找无用索引 前言: 众所周知,索引对性能的提升有巨大作用。但是这是有代价的,索引需要磁盘空间来存放它的B-Tree,并且用于在每次DML执行后更新信息,所以应该在一定时期内检查有无无用索引。
原文: 第十章——维护索引(5)——查找丢失索引 前言: 在开发阶段,很难总是可以在合适的列上创建合适的索引。所以一开始创建的索引可能会无效,此时,需要找出这些无效的索引。
原文: 第十章——维护索引(4)——通过重组索引提高性能 前言: 如果碎片程度小于30%,建议使用重组而不是重建。因为重组不会锁住数据页或者数据表,并且降低CPU的资源。
原文: 第十章——维护索引(3)——通过重建索引提高性能 前言: 重建一个索引只是在内部删除并重建索引,使得碎片消失、统计信息更新、物理顺序重新排列组织。
原文: 第十章——维护索引(2)——填充因子 前言: 在第九章中,已经介绍了如何使用索引,当一个索引创建时,以B-Tree格式存放数据,拥有根节点、中间节点、叶子节点。
原文: 第十章——维护索引(1)——索引碎片 本系列包含: 1、 查找碎片。 2、 使用填充因子。 3、 使用REBUILD来加索引性能。
原文:SQL Server 2008 R2 跟踪标志 跟踪标志用于临时设置特定服务器的特征或关闭特定行为。例如,如果启动 SQL Server 的一个实例时设置了跟踪标志 3205,将禁用磁带机的硬件压缩。
原文: 第十九章——使用资源调控器管理资源(3)——监控资源调控器 前言: 在对每个应用程序配置了资源调控器之后,需要监控资源调控器。
原文: 第十九章——使用资源调控器管理资源(1)——使用SQLServer Management Studio 配置资源调控器 本系列包含: 1、 使用SQLServer Management Studio 配置资源调控器 2、 使用T-SQL配置资源调控器 3、 监控资源调控器 前言: 在前面的章节,提到过可以通过多种配置数据库服务器的方式来提高性能。
原文: 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器 前言: 在前一章已经演示了如何使用SSMS来配置资源调控器。
原文: 第十八章——基于策略的管理(2)——限制数据库对象 前言: 在实际环境中,会有很多开发人员正在对一个项目编写SQL脚本,此时需要对对象的命名经行强制限定。
原文: 第十八章——基于策略的管理(1)——评估数据库属性 前言: 本章包含: 1、评估数据库属性 2、限制数据库对象 介绍: 基于策略的管理(PBM)能帮助DBA管理一个或多个实例,并通过PBM管理数据库实体或其他SQLServer对象。
原文: 第十七章——配置SQLServer(3)——配置“对即时负载的优化” 前言: 在第一次执行查询或者存储过程时,会创建执行计划并存储在SQLServer的过程缓存内存中。
原文: 第十七章——配置SQLServer(4)——优化SQLServer实例的配置 前言: Sp_configure 可以用于管理和优化SQLServer资源,而且绝大部分配置都可以使用SQLServer ManagementStudio的图形化界面实现。
原文: 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE来限制内存。
原文: 第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器 前言: SQLServer提供了一个系统存储过程,SP_Configure,可以帮助你管理实例级别的配置。
原文: 第十三章——表和索引分区(2)——使用拆分删除和加载大数据 前言: 很多时候需要对大数据量进行归档或者删除,并周期性加载大数据量到一个大表中,现在来做个简单的例子,你经常需要删除大数据量表中的大量数据。
原文: 第十三章——表和索引分区(1)——使用Range Left进行表分区 前言: 如果数据表的数据持续增长,并且表中的数据量已经达到数十亿甚至更多,数据的查询和操作将非常困难,面对非常庞大的表,几时简单的增删改操作都会花费非常多的时间,如删除某个数据然后重建索引这些操作,会很难实现。
原文: 第十二章——SQLServer统计信息(4)——在过滤索引上的统计信息 前言: 从2008开始,引入了一个增强非聚集索引的新功能——过滤索引(filter index),可以使用带有where条件的语句来创建非聚集索引,过滤掉不需要的数据,降低索引的维护开销和存储空间,提高查询性能。
原文: 第十二章——SQLServer统计信息(3)——发现过期统计信息并处理 前言: 统计信息是关于谓词中的数据分布的主要信息源,如果不知道具体的数据分布,优化器不能获得预估的数据集,从而不能统计需要返回的数据。
原文: 第十二章——SQLServer统计信息(1)——创建和更新统计信息 简介: 查询的统计信息: 目前为止,已经介绍了选择索引、维护索引。
原文: 第十二章——SQLServer统计信息(2)——非索引键上统计信息的影响 前言: 索引对性能方面总是扮演着一个重要的角色,实际上,查询优化器首先检查谓词上的统计信息,然后才决定用什么索引。
原文: 第十六章——处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁 前言: 作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用。
原文: 第十六章——处理锁、阻塞和死锁(2)——侦测阻塞和阻塞查询 前言: 如果一个事务正在等待一些给其他事务锁定的资源。这个事务就被成为“被阻塞的事务”。
原文: 第十六章——处理锁、阻塞和死锁(1)——确定长时间运行的事务 前言: 事务是OLTP系统中的主要部分。它管理数据一致性和数据并发问题,当多个资源同时被读取或者修改相同数据时,SQLServer会通过锁定机制来确保数据库中的数据总是处于一个有效状态。
原文: 第六章——根据执行计划优化性能(3)——键值查找 前言: 本文为本系列最后一篇,介绍键值查找的相关知识。 键值查找是具有聚集索引的表上的一个书签查找,键值查找用于SQLServer查询一些非键值列的数据。
原文: 第六章——根据执行计划优化性能(1)——理解哈希、合并、嵌套循环连接策略 前言: 本系列文章包括: 1、 理解Hash、Merge、Nested Loop关联策略。
原文: 第六章——根据执行计划优化性能(2)——查找表/索引扫描 前言: 在绝大部分情况下,特别是从一个大表中返回少量数据时,表扫描或者索引扫描并不是一种高效的方式。
原文: 第七章——DMVs和DMFs(3)——用DMV和DMF监控TempDB 前言: 我们都知道TempDB是SQLServer的系统数据库,且SQLServer的日常运作严重依赖这个库。
原文: 第七章——DMVs和DMFs(2)——用DMV和DMF监控索引性能 本文继续介绍使用DMO来监控,这次讲述的是监控索引性能。
原文: 第七章——DMVs和DMFs(1) 简介: 从SQLServer2005开始,微软引入了一个名叫DMO(动态管理对象)的新特性,DMO可以分为DMFs(Dynamic Manage Functions,动态管理函数)和DMVs(Dynamic Manage Views,动态管理视图)两部分。
原文: 第四章——SQLServer2008-2012资源及性能监控(3) 本文为本系列最后一章,监控内存使用。监控服务器的内存是非常重要的事情,有很多情况会引起内存消耗。
原文: 第四章——SQLServer2008-2012资源及性能监控(2) . 本文接着上文继续,讲述如何监控CPU的使用情况 前言: CPU是服务器中最重要的资源。
原文: 第四章——SQLServer2008-2012资源及性能监控(1) 性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性能监控作为依据。
原文: 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3) 本文为这个系列最后一篇。将是如何使用DBCC命令来监控SQLServer日志空间的使用情况。
原文: 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(2) 承接上文,本文讲述如何使用系统存储过程来监控系统。
原文: 何时使用SET和SELECT为变量赋值 我们经常使用SET和SELECT来为变量复制,但是有时候,只能选其一来使用,下面来看看这些例子,本例中使用AdventureWorks数据库来做演示。
原文: SQLServer 2008以上误操作数据库恢复方法——日志尾部备份 原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。
原文: SQLServer RESOURCE_SEMAPHORE 等待状态 概述: 当一个SQLServer实例运行得很慢的时候,应该做一些检查,如检查等待状态。
原文: SQLServer 列出每个表的列和属性 当需要整理一个数据库帮助文档是,可能需要列出库中每个表的列及其属性。这可能在开发一些接口或者外包给别的公司时有帮助。
原文: 你是否也忘了刷新视图? 起因: 由于工作原因,我隔几天就要执行一批开发人员提供过来的脚本,部分是新需求的开发,部分是修复bug。
原文: 使用SQLCMD在SQLServer执行多个脚本 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司,十几个客户,每个客户一个库,但是数据库结构、存储过程、视图等都是一模一样,每次执行脚本(以下称为升级),如果有一百个脚本,那么就要按顺序执行过千次,这种工作量可不是一个人能承受得了的。
原文: SQL Server高可用——日志传送(4-3)——使用 顺接上一篇:SQL Server高可用——日志传送(4-2)——部署 本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项。
原文: SQL Server高可用——日志传送(4-2)——部署 前文再续,书接上一回。本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主服务器 SQL02:辅助服务器 SQL03:监视服务器 初始配置: 这里是实验方便,正式环境应该由于特殊账号的读写权限。
原文: SQLServer恢复表级数据 最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update、delete出现了无法恢复的后果,加上那些库都是几十G。
原文: 一个非常有用的函数——COALESCE 很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用,本文主要讲解其中的一些基本使用: 首先看看联机丛书的简要定义: 返回其参数中第一个非空表达式 语法: COALESCE ( expression [ ,...n ] ) 如果所有参数均为 NULL,则 COALESCE 返回 NULL。
原文: 查看SQLServer 代理作业的历史信息 不敢说众所周知,但是大部分人都应该知道SQLServer的代理作业情况都存储在SQLServer5大系统数据库(master/msdb/model/tempdb/resources)中的MSDB中,而由于代理作业的长期运行和种类较多,所以一般可以看到msdb的大小往往比其他库加起来还大。
发表了文章
2018-12-12
发表了文章
2018-12-12
发表了文章
2018-12-12
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-10
发表了文章
2018-12-07
发表了文章
2018-12-07
发表了文章
2018-12-04
发表了文章
2018-12-04
发表了文章
2018-12-03
发表了文章
2018-12-03
发表了文章
2018-12-03
发表了文章
2018-12-03
发表了文章
2018-12-02