SQL Server DBA的六大日常职责

日期: 2014-04-02 作者:Basit Farooq翻译:Ranma 来源:TechTarget中国 英文

SQL Server数据库管理是一项复杂而又充满压力的工作。数据库管理员的职责覆盖性能,业务数据以及SQL Server数据库的完整性和安全性。为了履行他们的职责并让保证业务数据可用性,DBA必须对SQL Server进行例行检查以监控它们的状态。 那么,SQL Server有哪些关键任务需要DBA放到日常list中的呢?本文就将介绍六个SQL Server DBA的日常职责。

验证所有的SQL Server实例状态良好 检查网络上每个SQL Server的连接性,确保所有的SQL Server实例状态良好。确保所有在SQL Server实例上的数据库是在线的。除此之外,验证硬盘上数据库数据的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SQL Server数据库管理是一项复杂而又充满压力的工作。数据库管理员的职责覆盖性能,业务数据以及SQL Server数据库的完整性和安全性。为了履行他们的职责并让保证业务数据可用性,DBA必须对SQL Server进行例行检查以监控它们的状态。

那么,SQL Server有哪些关键任务需要DBA放到日常list中的呢?本文就将介绍六个SQL Server DBA的日常职责。

验证所有的SQL Server实例状态良好

检查网络上每个SQL Server的连接性,确保所有的SQL Server实例状态良好。确保所有在SQL Server实例上的数据库是在线的。除此之外,验证硬盘上数据库数据的存储,这可以通过对每个SQL Server实例上的每个数据库执行Database Consistency Checker(数据库一致性检查器DBCC)的CHECKDB命令来完成。PHYSICAL_ONLY和DBCC CHECKDB结合使用可以执行更快,这在数据库非常大和服务器并不强大的时候是很有用的。

检查SQL Server错误日志的异常事件

无论设计并测试的数据库如何完善,也是有可能发生错误的。SQL Server在操作系统和应用程序日志文件中存储了警告以及错误消息,所以每天审查错误日志有助于快速而轻松地识别在SQL Server环境中已经发生的异常错误和安全问题。默认情况下,SQL Server会保留一份当前日志和6份归档日志。你可以使用SQL Server Management Studio Log Viewer(SQL Server管理平台日志查看器)或sp_readerrorlog未记录存储过程来查看SQL Server错误日志。

验证所有既定工作执行是否成功

管理SQL Server Agent的工作是DBA的一项重要职责,因为它们对于任何SQL Server环境都是至关重要的。它们被创建并安排来执行关键业务和操作任务。因此,对于跟踪所有未执行成功的既定工作是很重要的。

SQL Server Agent存储了任务,警报和操作的历史信息。历史信息是存储在msdb数据库的sysjobhistory表中的。你可以用Job Activity Monitor(任务活动监控器)来查看任务和任务步骤的历史。此外,你还可以在sysjobhistory中查询失败任务。例如,可以从下面的查询看出是追踪了过去24小时的失败任务:

验证数据库是否成功备份

一个DBA的关键管理任务之一是定期备份数据库。这是因为可靠的备份在确保数据恢复中是最为重要的工具。因此,对于DBA来说,检查数据库备份并验证它们已经成功创建和保存在安全位置是很重要的。

SQL Server在msdb数据库中保存了关于每份成功备份的信息。关于每个成功备份操作的信息是存储在backupset表中的,而关于每个备份物理文件的信息则存在backupmediafamily表中。举例来说,我写了以下查询,它可以用来为任意给定的SQL Server实例检查所有数据库的备份状态:

监控磁盘空间

检查在每个SQL Server上的空闲空间的数量并确保不是处在低磁盘空间状态。为了获得最佳性能,建议所有磁盘应至少保持15%或更多的可用空闲空间。如果磁盘空间相比前一天有重大变动,你还应该调查磁盘空闲空间波动的原因。通常来说事务日志的异常增长可以引起磁盘空间的重大变动。

要监控磁盘空间,你可以使用未记录的存储过程xp_fixeddrives。但是xp_fixeddrives是有限制的,即它只能用于返回关于固定硬盘的信息,而非安装点。要监控操作系统卷上的空闲空间,包括安装点,你可以使用sys.dm os volume stats动态管理功能。这一动态管理功能会返回关于数据库文件所在的操作系统卷的信息。例如,你可以如下一样查询此动态管理功能,来获取任意给定SQL Server实例上的硬盘空闲空间信息:

或者,你可以编写一个PowerShell脚本或公共语言运行时(CLR),过程来监控磁盘和安装点的空闲空间。

检查数据库大小和增长设置

SQL Server实例上的数据库大小是一个可测量的量,应该对每个单独的SQL Server实例进行追踪。要这样做的原因是如果数据库或事务文件耗尽空间,那么其所有正在执行的事务都会失败。因此,监控和管理数据库的增长是至关重要的。

你可以使用sys.master文件系统视图来监控数据库增长设置和文件大小。此系统视图会为所有数据库返回所有文件的状态,也包括那些处于离线状态的。例如,以下查询会为每个数据库返回每个数据库文件的文件名,大小,位置和增长设置。

作者

Basit Farooq
Basit Farooq

资深数据库管理员、培训师和技术撰稿人,具有十多年微软SQL Server平台的开发、技术培训和数据库管理的经验。

翻译

Ranma
Ranma

相关推荐