九个步骤来解决SQL服务器的问题
我们都是时有发生的问题,我们需要努力通过一些解决问题的步骤来确定为什么发生问题。在这些情况下,你需要像一个犯罪现场调查员造成的发现根。不,我们不把黄警示胶带在我们的服务器,我们的网络电缆,和我们的台式机。 然而,有时我们会拔掉网线来防止机器被进一步污染。管这个问题,你需要做一些法医分析,确定问题的原因。
信息收集阶段
为了诊断首先需要收集一些有关问题的信息问题。你还需要检查日志文件以确定什么样的系统错误信息和日志记录的存在,可能会对你有帮助的问题诊断。下面是一组时应该考虑通过你的分析信息收集阶段的步骤。
步骤1:收集事实
任何解决问题的练习的第一步是收集事实。你需要知道什么样的问题发生。这就是你需要访谈客户,或程序员了解如何以及何时发生的问题。你需要确定它是否是全系统的,还是更多的是局限于一个特定的应用程序或组件 ,申请。你还需要知道 时间在问题发生时,它是否仍然是一个问题。除此之外,你需要知道的最后一次系统正确工作。你需要确定是否有任何新的系统或应用变化引入可能引起的问题。有一些事实问题你可以开始寻找线索,可能有助于找出问题的根本原因。
步骤2:在不同的环境和机器测试
值得在不同环境下的测试,如果你有他们。这是一个事实的收集工作,但我把它拼写出来作为一个单独的步骤,因为很多次的经验丰富的员工 不想执行测试在不同的环境当他们收集事实。你会发现只有一个环境受到影响,一系列的环境或 所有环境。如果只有一个环境影响的问题,可能是一个与环境 配置问题,或其他的工作环境。
此外,你可能想尝试不同的客户机,服务器或应用程序。偶尔,你会发现一个不同的配置或设置造成应用工作,或不工作。你需要了解所有的 不同的设置和配置选项然后文件的那些工作。
步骤3:检查SQL Server错误日志
SQL Server创建一个日志文件称为“日志”。一个新的日志文件创建 每次SQL Server启动。默认情况下,SQL Server六 保持旧的错误日志文件,每一个有序列号相关。的 错误日志文件默认存储在“日志”文件夹内的 标准”…Files\Microsoft SQL服务器…”文件夹 结构。
发现与时间的问题时,首次发生日志文件。看是否有在消息被由SQL Server输出任何异常。有时如果SQL Server检测到变化,或者遇到问题,它将被记录在错误日志文件。
步骤4:查看事件日志
你应该使用事件查看器查看不同的事件日志记录。事件日志中包含的信息警告和错误。你应该 看所有事件发生不久之前,期间和确定问题的 时间后。你需要确保你复习的“应用”和“系统”事件,以及“安全”事件。
步骤5:检查默认痕迹
默认跟踪,如前所述,是一种微量启动SQLServer 时自动启动,如果默认跟踪选项启用。在现代飞机 类似飞行记录器。这种跟踪捕获所有配置更改实例。通过回顾默认跟踪信息你可以确定什么样的数据库的变化可能是由期间被查出有问题。
默认跟踪文件存储在同一个日志文件夹中的日志。他们被命名为“log_xxx。真相与和解委员会”,其中xxx是一个序列号。 可以打开这些文件分析器看到记录的事件。或者,您可以使用“fn_trace_gettable”功能过程的 文件使用T-SQL:
SELECT *
从fn_trace_gettable
(c:Files\Microsoft SQL servermssql。1mssqlloglog_155 TRC,默认;
步骤6:检讨改变 日志
审查你的组织的变更日志。我希望你的组织有一个。一个 更改日志的集中位置,确定所有的变化都 介绍。如果您的组织有一个,这有助于识别 最近发生的任何变化。这个日志可能会为你提供一些线索来 为什么一个特定的问题发生,特别是如果应用程序, 有问题是近日已修改。如果你的 组织没有更改日志,然后在步骤1中你可能会问一个 程序员当最后的应用改变了。
分析阶段
现在你已经收集了一些信息,你需要分析的数据你聚集。审查每一步收集信息。寻找异常,将支持由客户或程序员发现问题。
把以上1个步骤确定的情况来确定每个 日志和跟踪文件可以帮助你找出问题出现的 。可在每一步看看是否有任何线索会让你更好地了解是什么原因造成的信息审查。
在你做了这样的分析,你可能是幸运的,找出问题的原因 。然而,会有一些时候,以上步骤不屈服 解决问题。在这种情况下,你需要继续前进,做一些 额外的测试和信息收集。
额外的测试和信息收集
如果你不能通过审查不同的系统日志中发现的问题,或者默认跟踪需要分析导致问题的实际过程。这意味着你可能要看代码甚至运行不同的测试。这里确定的步骤只有起点的休息。他们应该帮助你组织你的想法如何 你可能去进行更多的测试和收集更多的信息 帮助你解决手头的问题。
步骤7:制定测试计划
坐下来与客户和应用程序和文件都会通过=步骤,这是造成问题。许多这样的 信息可能已经在步骤1中收集的,但它至少是值得去 一遍。如果问题重复鉴定。如果不能 重复则可能难以确定是什么引起的问题。这里的 点是确定应用程序是如何连接到SQL Server和 T-SQL代码被执行。基于被调查你将需要开发一套测试运行,你可能想捕捉来确定什么什么信息的问题。做任何测试之前,我建议你去下一步。
步骤8:备份数据库
在继续做额外的测试,并 故障分析,这可能是明智的问题做数据库备份。 备份可全,微分或日志备份取决于你当前的 数据库备份策略,你的过去和现状。这 备份将提供你一个恢复点应该要开始调整SQL Server为您诊断故障排除步骤6中确定的步骤 部分。
步骤9:执行额外的测试和测井
把你的测试逻辑块尽可能小。这些步骤 连接到SQL Server的测试,你可能会考虑将SQL Server 仪使您可以监视什么样的T-SQL语句和批处理被 执行。分析器将允许您捕获正在运行的代码,这 有时是不同于程序员的期望,有时仪和 额外的步骤都需要缩小是什么原因造成目前的问题 。
CSI的方法来解决问题
其中最有价值的东西作为一个DBA是帮助程序员和 客户解决问题。更难的问题是解决大 奖励。以上,我已经确定要排除 问题逐步逼近。该方法确定了一些日志,看一些工具来使用,以 帮助您识别并解决问题。你会发现这些步骤做 不一定满足你的需求,这是好的。重要的一点是 明白你需要制定和遵循一个故障排除过程中 你的环境。有一个问题集的步骤和工具,可以让你 开发一种方法,你可以用在解决问题 迅速积极主动,有条不紊地。