用于处理SQL Server安装后期问题的更优实践

数据库 SQL Server
在任何企业,SQL Server的安装,配置和维护都是数据库管理员的主要职责。本文将介绍在成功安装了数据库软件之后所要遵循的一些重要的SQL Server最佳实践。

[[172798]]

在任何企业,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中国原创
相关推荐

2010-07-23 09:15:08

安装SQL Serve

2017-06-02 10:25:26

Java异常处理

2011-04-06 13:14:29

SQL Server 安装

2010-07-26 13:33:28

SQL Server

2017-01-23 21:05:00

AndroidApp启动优化

2017-05-17 15:50:34

开发前端react

2010-06-18 10:43:05

SQL Server

2010-11-10 10:09:40

2010-09-25 10:05:25

sql server主

2016-08-23 10:50:50

WebJavascript缓存

2010-10-20 17:37:23

SQL Server连

2010-10-21 15:34:27

SQL SERVER服

2010-11-08 14:32:00

SQL Server登

2010-11-08 15:21:17

SQL Server连

2010-06-17 14:16:24

SQL Server补

2011-08-02 15:39:30

SQL Server iSql

2010-07-02 10:42:11

SQL Server

2022-02-09 10:07:03

LinuxSQL Server

2010-11-09 17:09:23

SQL Server中

2021-01-18 05:23:14

SQL 排序Server
点赞
收藏

51CTO技术栈公众号