在任何企业,SQL Server的安装,配置和维护都是数据库管理员的主要职责。本文将介绍在成功安装了数据库软件之后所要遵循的一些重要的SQL Server最佳实践。 让我们先从给数据库打补丁作为开始。Microsoft会时不时为SQL Server的各个服务生命尚未终止的版本发布一些服务包,累计更新和修正补丁以进行技术支持。
强烈推荐当SQL Server安装完成后,就马上从Microsoft’s Update Center页面定期下载并安装最新的补丁。作为一项最佳实践,这些补丁需要在开发环境下进行测试然后接着迁移至生产环境。大多数补丁需要重启SQL Server,因此如果可能的话在……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在任何企业,SQL Server的安装,配置和维护都是数据库管理员的主要职责。本文将介绍在成功安装了数据库软件之后所要遵循的一些重要的SQL Server最佳实践。
让我们先从给数据库打补丁作为开始。Microsoft会时不时为SQL Server的各个服务生命尚未终止的版本发布一些服务包,累计更新和修正补丁以进行技术支持。强烈推荐当SQL Server安装完成后,就马上从Microsoft's Update Center页面定期下载并安装最新的补丁。作为一项最佳实践,这些补丁需要在开发环境下进行测试然后接着迁移至生产环境。大多数补丁需要重启SQL Server,因此如果可能的话在安装它们的过程中要对停机时间有所规划。
Microsoft SQL Server 2012在安装设置中引入了Product Update功能。该功能可以发现并显示最新的可用更新来增强SQL Server的安全性和性能。SQL Server 2014和SQL Server 2016的安装设置中也内置了该功能。
配置tempdb来减少竞争
当广泛使用了tempdb的应用程序在临时数据库中分配新页的时候会引起加锁竞争的问题。如果发生的竞争严重,与tempdb相关的查询就可能会在短时间内无响应。这些现象表明需要调整SQL Server tempdb的大小来改善整体查询性能。你所需要为tempdb配置的数据文件的数量取决于分配给SQL Server一个实例的逻辑处理器的数量。
创建数据库维护计划
当你在一个SQL Server实例上创建了用户数据库之后,可以将数据库维护计划设置为自动任务,例如重建索引以更好地组织数据,压缩数据文件以及备份所有数据库和事务日志文件。这些备份可以让你根据你的数据库恢复计划来实现数据库即时点的恢复。另外,记得要定期备份除了tempdb之外(tempdb是无法备份的)内置进SQL Server的所有系统数据库。这包括资源数据库,它是一个用于存储所有系统对象的只读数据库,它可以让升级至新版的SQL Server变得更加简便。但是,SQL Server无法对资源数据库本身进行备份——你必须手动做一个基于文件或是磁盘的备份。
定期运行DBCC CHECKDB命令
作为SQL Server最佳实践的一部分,数据库管理员(DBAs)还需要在他们的环境中主动检测数据库损坏。要做到这点的一个方法就是对所有用户和系统数据库定期运行DBCC CHECKDB命令。该命令会对数据库执行一致性检查来寻找可能会导致数据丢失和处理问题的损坏。
要克服系统故障或其他灾难来最小化或避免数据损失,DBA还需要每夜或每周执行全数据库备份至另一个SQL Server实例——然后运行DBCC CHECKDB命令来识别潜在损坏。此外,对全数据库备份和灾难恢复计划的周期性测试是无可替代的。
对msd susect_pages表进行监控
在msdb系统数据库中的suspect_pages表同样能够帮助识别数据库损坏。它将可疑页的标识存入一个SQL Server实例,以及每页的数据库的ID。该表包括的错误有错误校验和,不完整页,以及错误消息823和824。因此该最佳实践就是要创建一个定期运行的SQL Server任务来监控suspect_pages表并且会在每次添加一个新记录的时候给DBA团队发送邮件。
允许“执行卷维护任务”
在数据库创建和恢复以及数据或日志文件增长期间,SQL Server会用零来填充任何消费空间。该操作会消耗大量SQL Server资源。可以通过给SQL Server Database Engine服务赋予“执行卷维护任务”的特权来避免这种情况。当你赋予了这项特权后,SQL Server就会跳过赋零步骤并立即给数据库分配新添加的空间。这同样有助于减少恢复数据库所要花费的时间。
使用专门的管理员连接
专门的管理员连接可以让DBA在服务器处于非正常状态以及无法响应用户连接的时候进行接入。这有助于DBA运行故障诊断查询或是诊断函数。使用sp_configure系统存储过程可以在实例级别启用该功能。
在实例上启用备份压缩
SQL Server Enterprise和Standard Edition的客户可以使用数据库备份压缩功能。该功能可在SQL Server实例级别通过使用SQL Server Management Studio(SSMS)或T-SQL脚本来启用。它还可以在不实际指定WITH COMPRESSION语句的情况下用于创建所有数据库的压缩备份。
配置最小和最大服务器内存
SQL Server最佳实践还包括配置最小和最大内存来分配给每个数据库实例中的SQL Server进程。在其默认设置中,SQL Server会根据处理工作负载和可用资源来动态改变内存分配。但DBA可以手动设置最小和最大内存级别来限制数据库可访问内存的数量。而对于一个特定实例潜在最大的服务器内存来说,可以这样计算,即减去操作系统和来自你的SQL Server系统中总内存量的任何其他实例所需的内存。
设置最大程度的并行性
利用最大程度的并行性设置来限制为并行计划执行所用的最大处理器数量。其数量的默认值是零,这可以让SQL Server所有可用处理器增至最多64个。要对用于单个查询执行所使用的最大CPU数量进行限制,可以通过指定期望总数来实现。这是一项高级别的配置更改,可以通过使用SSMS或sp_configure系统存储过程来实现。
翻译
TechTarget特邀编辑。毕业于北京邮电大学网络技术研究院。熟悉软件开发测试的各个环节和流程,对操作系统,数据库,计算机网络等有较为深入的理解。现就职于中国电子科技集团公司下属研究所,从事软件研发工作。热衷于英文的学习交流,平时喜欢户外运动,音乐,电影。
相关推荐
-
如何做好SQL Server数据库安装规划
在SQL Server安装过程中,你必须做许多选择。作为常规指导,建议你最好在安装系统之前熟悉这些选项。
-
利用Sysprep工具加快SQL Server 2008 R2部署
SQL Server 2008 R2的发布给我们带来了在SQL Server世界里闻所未闻的功能,即提供了一个部署SQL Server服务器映像的能力。
-
在SQL Server 2005上创建vCenter数据库
无论选择标准版还是企业版,当你创建vCenter Server数据库时,Microsoft提供了一些配置设置的建议,本文将带您了解如何在SQL Server 2005上创建vCenter数据库。
-
SQL Server 2008 R2安装:硬件需求
SQL Server 2008 R2的内存需求随版本的不同差异很大。虽然如此,微软声称一般最少需要1GB内存。当然,对于SQL Server Express,最低内存需求就更小了。