SQL Server数据库系统变化与性能调试

  我们都听过一个流行的说法"唯一不变的,就是变化"。变化是不可避免的。对于不断发展的企业,这意味着管理">应用数据库环境的时候,IT总在发生重要的变化。通常,昨天还运行良好的数据库系统在今天可能会遇到严重的问题。发生了什么变化呢?这篇文章将和数据库管理员(DBA)和开发者一起讨论如何在不断变化的环境中进行数据库调优,文章中我们将讨论到:

  通常在数据库环境中发生变化的种类

  这些变化是如何跟应用性能相关的

  在数据库环境中跟踪变化的重要性

  如何应用变化跟踪的信息改善整个数据库系统性能,可用性和稳定性

  在今天竞争激烈的市场中,IT管理变化的能力是成功的关键。公司希望IT部门提供功能强大的,具有高可用性的和性能已优化的应用系统。当IT部门忽略主动地监测,分析和经常地报告系统性能时,系统性能将开始下降,并且最终用户将开始遭受长的应用响应时间。因此IT的使用效率将大打折扣。这篇文章也将提供改善IT效率的具体方法。

  
  变化是成功的关键

  当业务系统变得反应缓慢,没有效率,过时,或者不可用时,这将减少有效操作业务的能力,对于公司产生的是消极影响。IT部门正在寻找一种方法,通过实施积极有计划地变化的有效方式,改善整个系统健康,减少没有计划地变化所带来的消极影响。一句话,业务必须不断适应有效的操作,并且在市场中具有竞争力。

  变化过程中计划性非常重要。没有计划地变化会对系统健康产生不利的影响,例如一定字段的意外删除或覆盖,数据库索引的删除,启动错误配置文件和人为错误的数据库或监听过程,包括程序bug和数据入口错误。

  测量变化对于有计划得变化系统的影响很重要的。例如,当计划硬件升级,负责该任务的IT部门将告诉管理部门升级能带来哪些改善。管理部门将衡量这些改善和实施变化所需的投资成本,确定变化是否有好处,或者以后应该避免什么。

  IT部门要有计划的对数据库进行调优,就必须不间断的对数据库运行状况进行监测以便及时调整数据库管理策略。IT部门是如何从有计划地变化中测量和报告有益的结果呢?

  对有计划的变化进行测量的好处

  在现在的环境中测量有计划地变化所带来的好处是一件令人畏缩的工作。很多IT公司只能大约估计实施这些变化带来的好处,即使对于最重要和成本最高的项目也是如此,在这些项目中测量变化带来好处的信息是最有价值的。没有合适的数据收集和历史报告产物用于测量与变化相关的有利与不利影响,要收集有用的分析指标用于保证结果对系统影响比较小是几乎不可能。

  当IT部门增加CPU和内存容量时,他们能够通过使用工具或OS命令行,在一定的时间周期中估计变化所带来的好处,比较容易地监测空闲可用资源的总量。但CPU或内存升级是如何影响最终用户性能的?这个问题比较难回答,除非实施不间断地监测解决方案,用于确立过去使用情况模型,比如数据活动等级和应用性能走势。只有这样,IT部门才能主动地比较结果,准确地确定变化所带来的好处,这些好处是与增加CPU或内存资源相关的。

时间: 2024-10-26 07:30:42

SQL Server数据库系统变化与性能调试的相关文章

应用Profiler优化SQL Server数据库系统

当你的SQL Server数据库系统运行缓慢的时候,你或许多多少少知道可以使用SQL Server Profiler(中文叫SQL事件探查器)工具来进行跟踪和分析.是的,Profiler可以用来捕获发送到SQL Server的所有语句以及语句的执行性能相关数据(如语句的read/writes页面数目,CPU的使用量,以及语句的duration等)以供以后分析.但本文并不介绍如何使用Profiler 工具,而是将介绍如何使用read80trace(有关该工具见后面介绍)工具结合自定义的存储过程来提

Microsoft SQL Server 7.0储存过程调试指南

server|过程 Microsoft SQL Server 7.0储存过程调试指南  摘要:描述了如何使用Microsoft Visual InterDev的SQL调试器来清除Microsoft SQL Server储存过程中的错误. 使用Visual InterDev清除储存过程和触发器中的错误如果您正在使用Microsoft Visual Studio企业版,Visual InterDev包含有一个SQL调试器.您可以使用它象处理其他脚本或程序一样,清除SQL Server储存过程和触发器

分析下自己写的SQL Server同步工具的性能和缺陷

分析下自己写的SQL Server同步工具的性能和缺陷 1. C#同步SQL Server数据库Schema 2. C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]   通过测试我写的同步程序,得出结论: 1.程序第一次调用SQLBulkCopy会耗时较长 2.同步程序放在目标机器在耗时方面相对少些 测试数据: declare @varI varchar(200) set @varI=0 while(@varI<100000) begin set @varI=@varI

SQL Server访问Oracle查询性能问题解决

1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考这篇文章http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html 目前的查询语句就是一个简单的带where条件的查询语句,类似如下: SELECT*FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME WHERE CO

SQL Server数据库备份的性能优化

一.选择合理的备份时机. 虽然说,SQL Server数据库在联机或者活动状态,也可以进行备份.但是,一般情况下,笔者不建议这么做.因为在数据库活动的时候进行备份的话,一方面会增加备份的时间;另一方面,因为备份作业占用了一定的硬件资源,会对数据库的访问性能产生比较大的影响,特别是并发性访问. 所以,在数据库备份的时候,数据库管理员应当尽量减少SQL Server中的当前活动.对于大部分企业来说,一般数据库活动的高发期在白天的八个小时.故从理论上说,除了这八个小时外,对数据库进行备份的话,可以把这

SQL Server 2016 查询存储性能优化小结_MsSql

作为一个DBA,排除SQL Server问题是我们的职责之一,每个月都有很多人给我们带来各种不能解释却要解决的性能问题. 我就多次听到,以前的SQL Server的性能问题都还好且在正常范围内,但现在一切已经改变,SQL Server开始糟糕, 疯狂的事情不能解释.在这个情况下我介入,分析下整个SQL Server的安装,最后用一些神奇的调查方法找出性能问题的根源. 但很多时候问题的根源是一样的:所谓的计划回归(Plan Regression),即特定查询的执行计划已经改变.昨天SQL Serv

SQL Server 2008中进行性能数据收集

通过这个动手实验室,您可以了解到:了解与性能数据收集相关的组件及术语;创建并配置管理数据仓库;管理数据收集的类型及间隔;对收集上来的数据进行分析;创建自定义的数据收集类型. 1. 创建管理数据仓库 在SQL Server 2008中有很多组件可以进行性能数据收集.为了设定收集数据的类型以及收集计划,数据收集器需要使用管理数据仓库.管理数据仓库也是一个关系型数据库,但在创建该数据库时很多默认设置需要进行修改,在我们后面的实验中将深入讨论.理想状态下,管理数据仓库最好和生产环境的数据库位于不同的服务

SQL Server 2016 查询存储性能优化小结

作为一个DBA,排除SQL Server问题是我们的职责之一,每个月都有很多人给我们带来各种不能解释却要解决的性能问题. 我就多次听到,以前的SQL Server的性能问题都还好且在正常范围内,但现在一切已经改变,SQL Server开始糟糕, 疯狂的事情不能解释.在这个情况下我介入,分析下整个SQL Server的安装,最后用一些神奇的调查方法找出性能问题的根源. 但很多时候问题的根源是一样的:所谓的计划回归(Plan Regression),即特定查询的执行计划已经改变.昨天SQL Serv

解密SQL Server数据库系统的编译

你知道SQL Server这么庞大的企业级数据库服务器产品是如何build出来的吗? 这有些相关的数据: 每个build 的大小在300GB左右. 每个完整的build需要几十台高端的服务器运行2.5天. 每个完整的build由几千个job.10000多个参数组成. 我们每天同时做20个左右的build,每周130个. 位于美国微软总部雷蒙德和北京的build团队能够保证build全天24小时不间断的顺利进行. 从去年至今,我们build team已经成功而准时地完成了数以千计的build. 也