用MSSQL 2005减轻生产服务器优化负荷

蓝陌妖

蓝陌妖

2016-02-19 14:46

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是用MSSQL 2005减轻生产服务器优化负荷,一起来学习了解下吧!

  优化较大的工作负荷会对所优化的服务器产生很大的开销。开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的。如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题。本文介绍如何用MSSQL 2005减轻生产服务器优化负荷。

  优化较大的工作负荷会对所优化的服务器产生很大的开销。开销是由数据库引擎优化顾问在优化进程中多次调用查询优化器导致的。如果除生产服务器以外,再使用一台测试服务器,则可以消除此开销问题。

  数据库引擎优化顾问如何使用测试服务器

  使用测试服务器的传统方法是将所有数据从生产服务器复制到测试服务器,优化测试服务器,然后在生产服务器上实现建议。此过程可以消除对生产服务器的性能影响,但这不是最佳解决方案。例如,将大量数据从生产服务器复制到测试服务器可能消耗大量时间和资源。此外,测试服务器硬件很少像生产服务器中部署的硬件那样功能强大。优化进程依赖于查询优化器,而它生成的建议部分依赖于基础硬件。如果测试服务器硬件和生产服务器硬件不相同,数据库引擎优化顾问建议的质量就会降低。

  若要避免出现这些问题,数据库引擎优化顾问将通过把大部分优化负荷转移到测试服务器,优化生产服务器上的数据库。它通过使用生产服务器硬件配置信息,而不是真正地将数据从生产服务器复制到测试服务器,来执行该操作。数据库引擎优化顾问不会将实际数据从生产服务器复制到测试服务器中。它仅复制元数据和必要的统计信息。

  下列步骤概要介绍了用于在测试服务器上优化生产数据库的过程:

  1. 确保两台服务器上都存在要使用测试服务器的用户。

  开始之前,请确保两台服务器上都存在要使用测试服务器来优化生产服务器上的数据库的用户。这就需要您在测试服务器上创建用户及其登录帐户。如果您在两台计算机上都是 sysadmin 固定服务器角色成员,将不需要执行此步骤。

  2. 优化测试服务器上的工作负荷。

  若要优化测试服务器上的工作负荷,必须通过 dta 命令行实用工具使用 XML 输入文件。在 XML 输入文件中,在 TuningOptions 父元素下使用 TestServer 子元素指定测试服务器的名称,并为其他子元素指定值。

  在优化进程中,数据库引擎优化顾问将在测试服务器上创建 Shell 数据库。若要创建此 Shell 数据库并对其进行优化,数据库引擎优化顾问需要在下列情况下调用生产服务器:

  a. 数据库引擎优化顾问将元数据从生产数据库导入到测试服务器 Shell 数据库。此元数据包括空表、索引、视图、存储过程和触发器等。这使得对测试服务器 Shell 数据库执行工作负荷查询成为可能。

  b. 数据库引擎优化顾问从生产服务器导入统计信息,以便查询优化器可以准确优化对测试服务器的查询。

  c. 数据库引擎优化顾问从生产服务器导入指定处理器数和可用内存量的硬件参数,为查询优化器提供生成查询计划所需的信息。

  3. 数据库引擎优化顾问优化完测试服务器 Shell 数据库后,将生成优化建议。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  4. 将通过优化测试服务器得到的建议应用于生产服务器。

  注意:在数据库引擎优化顾问的图形用户界面 (GUI) 中不支持测试服务器优化功能。

  示例

  首先,请确保测试服务器和生产服务器上都存在要执行优化的用户。

  将用户信息复制到测试服务器后,就可以在数据库引擎优化顾问 XML 输入文件中定义测试服务器优化会话。下面的示例 XML 输入文件说明如何使用数据库引擎优化顾问指定测试服务器来优化数据库。

  在此示例中,MyDatabaseName 数据库在 MyServerName 上进行优化。Transact-SQL 脚本(即 MyWorkloadScript.sql)用作工作负荷。此工作负荷包含对 MyDatabaseName 执行的事件。查询优化器对此数据库的大部分调用操作(作为优化进程的一部分发生)是由驻留在 MyTestServerName 上的 Shell 数据库实现的。Shell 数据库由元数据和统计信息构成。此进程会将优化开销卸载到测试服务器。数据库引擎优化顾问使用此 XML 输入文件生成优化建议时,应只考虑索引 (IDX) 而不考虑分区,并且不需要在 MyDatabaseName 中保留现有的任何物理设计结构。

?xml version="1.0" encoding="utf-16" ?
DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/sqlserver/2004/07/dta" 
DTAInput
Server 
NameMyServerName/Name  
Database    
NameMyDatabaseName/Name 
/Database  
/Server  
Workload   
FileMyWorkloadScript.sql/File  
/Workload  
TuningOptions  
TestServerMyTestServerName/TestServer  
FeatureSetIDX/FeatureSet   
PartitioningNONE/Partitioning
KeepExistingNONE/KeepExisting 
/TuningOptions
/DTAInput
/DTAXML

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

用MSSQL 2005减轻生产服务器优化负荷

编程语言 网络编程
用MSSQL 2005减轻生产服务器优化负荷

网站优化之服务器配置优化

Web开发
网站优化之服务器配置优化

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎样减轻生产前后的痛

怀孕
怎样减轻生产前后的痛

Mysql入门系列:优化MYSQL服务器

编程语言 网络编程
Mysql入门系列:优化MYSQL服务器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

浅谈如何优化SQL Server服务器

编程语言 网络编程
浅谈如何优化SQL Server服务器

喝麻油可以减轻生产的疼痛吗

怀孕
喝麻油可以减轻生产的疼痛吗

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用XML创建可排序、分页的数据显示页面

用XML创建可排序、分页的数据显示页面

XML 和Java – 是敌还是友?

XML 和Java – 是敌还是友?
下拉加载更多内容 ↓