网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.一个有关DISTINCT的问题解答.
.MS SQL数据库备份和恢复存储过程.
.解决方案:用户 'sa' 登录失败。.
.使用SQL Mail收发和自动处理邮件.
.两表(多表)关联update的写法.
.SELECT查询的应用(三).
.自动安装sql server数据库.
.深入浅出SQL之左连接、右连接和全.
.两台SQLServer数据同步解决方案(.
.SQL server 危险存储过程删除与恢.
.用Forall与bulk collect快速复制.
.SQL Server2000数据库分离与附加.
.关于sql的小玩意 sql server添加.
.SQL中也可以用格式字符串定制日期.
.SQL Server 2000/2005下将数据导.
.数据库的分页问题.
.SQL Server 2000的数据转换服务(.
.用一个案例讲解应用程序越来越慢.
.解决sqlplus里执行@sql.sql发生的.
.生成MSSQL Data备份的存储过程.

利用SQL Server 2005减轻生产服务器优化负荷

发表日期:2006-12-15


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

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

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

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

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

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

2.   优化测试服务器上的工作负荷。
若要优化测试服务器上的工作负荷,必须通过 dta 命令行实用工具使用 XML 输入文件。在 XML 输入文件中,在 TuningOptions 父元素下使用 TestServer 子元素指定测试服务器的名称,并为其他子元素指定值。
在优化进程中,数据库引擎优化顾问将在测试服务器上创建 Shell 数据库。若要创建此 Shell 数据库并对其进行优化,数据库引擎优化顾问需要在下列情况下调用生产服务器:

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

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

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

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

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

注意:

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

示例

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

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

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

<Name>MyServerName</Name>     

 <Database>         <Name>MyDatabaseName</Name>       </Database>   

 </Server>   

 <Workload>      

<File>MyWorkloadScript.sql</File>    

</Workload>    

<TuningOptions>      

<TestServer>MyTestServerName</TestServer>    

  <FeatureSet>IDX</FeatureSet>     

 <Partitioning>NONE</Partitioning>     

 <KeepExisting>NONE</KeepExisting>   

 </TuningOptions>  

</DTAInput>

</DTAXML>

http://blog.csdn.net/JDMBA/archive/2006/12/13/1441582.aspx

上一篇:Sql 语句:显示 Sql Server 中所有表中的信息 人气:5935
下一篇:SQL Server各种日期计算方法 人气:5169
浏览全部SQL Server 2005的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐