亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

SQL Server 2008數(shù)據(jù)庫引擎優(yōu)化顧問與索引優(yōu)化向導之間的差別

【字号: 作者:豬豬瀏覽:101日期:2023-10-27 18:16:34

除了可以處理 Microsoft SQL Server 的新數(shù)據(jù)庫功能以外,數(shù)據(jù)庫引擎優(yōu)化顧問在具體操作方面也不同于 Microsoft SQL Server 2000 索引優(yōu)化向導。盡管這兩個工具都提供了圖形用戶界面 (GUI) 和命令提示符界面,但熟悉索引優(yōu)化向導的用戶應注意以下更改。

有關數(shù)據(jù)庫引擎優(yōu)化顧問的新功能的完整列表,請參閱數(shù)據(jù)庫引擎優(yōu)化顧問功能。 優(yōu)化數(shù)據(jù)庫所需的權限

在 SQL Server 2000 中,只有 sysadmin 固定服務器角色的成員可以使用索引優(yōu)化向導來優(yōu)化數(shù)據(jù)庫。在 SQL Server 中,通過使用數(shù)據(jù)庫引擎優(yōu)化顧問,sysadmin 角色的成員仍可以優(yōu)化數(shù)據(jù)庫,但目前 db_owner 固定數(shù)據(jù)庫角色的成員同樣可以優(yōu)化自己所擁有的數(shù)據(jù)庫。 ms173448.note(zh-cn,SQL.100).gif注意: 首次使用時,必須由具有系統(tǒng)管理員權限的用戶啟動數(shù)據(jù)庫引擎優(yōu)化顧問以初始化應用程序。初始化后,sysadmin 固定服務器角色的成員和 db_owner 固定數(shù)據(jù)庫角色的成員都可以使用數(shù)據(jù)庫引擎優(yōu)化顧問來優(yōu)化數(shù)據(jù)庫。但請注意,db_owner 角色成員只可以優(yōu)化自己所擁有的數(shù)據(jù)庫。有關詳細信息,請參閱初始化數(shù)據(jù)庫引擎優(yōu)化顧問。

工作負荷上下文

索引優(yōu)化向導使用選定要優(yōu)化的數(shù)據(jù)庫來評估工作負荷中的每條語句,而不管該語句最初是否是在該數(shù)據(jù)庫的上下文中執(zhí)行的。索引優(yōu)化向導在一個優(yōu)化會話中只能優(yōu)化一個數(shù)據(jù)庫。數(shù)據(jù)庫引擎優(yōu)化顧問可以在一個優(yōu)化會話期間優(yōu)化多個數(shù)據(jù)庫。數(shù)據(jù)庫引擎優(yōu)化顧問使用腳本中的信息確定語句運行所在的數(shù)據(jù)庫,并針對該數(shù)據(jù)庫評估此語句。選定要優(yōu)化的數(shù)據(jù)庫不會影響評估語句的方式。

例如:

* AdventureWorks 數(shù)據(jù)庫包含一個 Person.Contact 表,該表中包含 FirstName 和 LastName 列。 * 工作負荷 TuneQuery.sql 包含以下查詢: 復制代碼

SELECT FirstName, LastName FROM Person.Contact WHERE LastName = 'Abercrombie'; GO

* 在默認情況下,User1 連接到 MyDB 數(shù)據(jù)庫。

在 SQL Server 2000 中,User1 從命令行發(fā)出以下命令,或使用索引優(yōu)化向導 GUI 執(zhí)行類似的步驟: 復制代碼

Itwiz -D AdventureWorks -I TuneQuery.sql –o rec.sql –U <username> –P <password>

此方法有效,因為 TuneQuery.sql 中的每條語句均針對 AdventureWorks 數(shù)據(jù)庫(因為命令行 -D AventureWorks 中指定了它)進行了分析。TuneQuery.sql 在 AdventureWorks 數(shù)據(jù)庫中有效,優(yōu)化繼續(xù)進行,并且未出現(xiàn)任何問題。

使用數(shù)據(jù)庫引擎優(yōu)化顧問時,命令行語法為: 復制代碼

dta -s Session1 –D AdventureWorks –if TuneQuery.sql –of rec.sql –U username –P password

由于默認情況下,User1 連接到 MyDB 數(shù)據(jù)庫,因此系統(tǒng)將數(shù)據(jù)庫上下文設置為 MyDB。然后,對 MyDB 數(shù)據(jù)庫而不是對 AdventureWorks 分析 Transact-SQL 語句。該語句在 MyDB 中無效,因此被忽略。

為什么會出現(xiàn)這種情況?如果 User1 在未指定目標數(shù)據(jù)庫的情況下使用 sqlcmd 或 SQL Server Management Studio 來執(zhí)行 TuneQuery.sql,則 TuneQuery.sql 將針對 MyDB 執(zhí)行分析,這將導致分析失敗。數(shù)據(jù)庫引擎優(yōu)化顧問的操作與此類似。

應執(zhí)行什么操作?采用以下方法將 USE <database> 語句添加到腳本 TuneQuery.sql 中: 復制代碼

USE AdventureWorks; GO SELECT FirstName, LastName FROM Person.Contact WHERE LastName = 'Abercrombie'; GO

數(shù)據(jù)庫引擎優(yōu)化顧問首先查看語句 USE AdventureWorks 并使用該信息將當前數(shù)據(jù)庫設置為 AdventureWorks。然后,數(shù)據(jù)庫引擎優(yōu)化顧問在查看語句 SELECT FirstName, LastName FROM Person.Contact WHERE LastName = 'Abercrombie' 時將針對 AdventureWorks 分析該語句(因為當前數(shù)據(jù)庫上下文為 AdventureWorks)。這樣,數(shù)據(jù)庫引擎優(yōu)化顧問就可以成功優(yōu)化數(shù)據(jù)庫。請注意,如果使用 sqlcmd 或 SQL Server Management Studio 執(zhí)行以上腳本,則系統(tǒng)將針對 AdventureWorks 執(zhí)行該語句,這是因為第一個 USE <database> 語句將數(shù)據(jù)庫上下文從 MyDB 更改為 AdventureWorks。

USE <database> 語句可用于指定要對其執(zhí)行語句的數(shù)據(jù)庫。通常情況下,如果每條語句都使用完全限定的表名,則沒有必要進行該操作。

由于數(shù)據(jù)庫引擎優(yōu)化顧問嘗試查找每條語句運行所針對的相應數(shù)據(jù)庫(以模擬執(zhí)行環(huán)境),因此以下信息對于了解數(shù)據(jù)庫引擎優(yōu)化顧問如何處理不同類型的輸入很重要。 SQL 文件/內(nèi)聯(lián)工作負荷

正如在前面部分中提到的,數(shù)據(jù)庫引擎優(yōu)化顧問使用 USE <database> 語句(位于 Transact-SQL 查詢之前)標識對其執(zhí)行查詢的數(shù)據(jù)庫。數(shù)據(jù)庫引擎優(yōu)化顧問從 Transact-SQL 腳本文件中的第一條語句開始查看輸入。它首先假設當前數(shù)據(jù)庫是默認數(shù)據(jù)庫。由于存在 USE <database> 語句,因此會更改當前數(shù)據(jù)庫的上下文(這些語句是針對當前數(shù)據(jù)庫進行分析的)。 跟蹤文件和跟蹤表

數(shù)據(jù)庫引擎優(yōu)化顧問在分析跟蹤文件時模仿 SQL Server Profiler的重播。它按照列出的順序使用跟蹤文件中的下列信息:

* 如果跟蹤文件包含填充了 DatabaseName 列的事件,則數(shù)據(jù)庫引擎優(yōu)化顧問將使用該列查找對其執(zhí)行該事件的數(shù)據(jù)庫。 * 如果跟蹤文件填充了 DatabaseID 列,則數(shù)據(jù)庫引擎優(yōu)化顧問將使用該列查找對其執(zhí)行該事件的數(shù)據(jù)庫。它將查詢系統(tǒng)目錄以找到與 DatabaseID 相對應的數(shù)據(jù)庫名稱。

ms173448.note(zh-cn,SQL.100).gif注意: 如果在收集跟蹤文件后分離、附加、刪除或創(chuàng)建了數(shù)據(jù)庫,則 DatabaseID 和 DatabaseName 映射可能不會保持與創(chuàng)建跟蹤文件時相同的狀態(tài)。數(shù)據(jù)庫引擎優(yōu)化顧問無法確定此信息。如果出現(xiàn)這種情況,則應從跟蹤文件中完全刪除 DatabaseID,以防止數(shù)據(jù)庫引擎優(yōu)化顧問優(yōu)化錯誤的數(shù)據(jù)庫。

* 如果跟蹤文件中不存在 DatabaseName 或 DatabaseID 列,則數(shù)據(jù)庫引擎優(yōu)化顧問確定要用于每條語句的數(shù)據(jù)庫的方式與確定要用于跟蹤文件中的每個 SPID 列的 Transact-SQL 腳本的方式相同。如果不存在 SPID 列,則將以與確定 Transact-SQL 腳本完全相同的方式確定數(shù)據(jù)庫。

數(shù)據(jù)庫引擎優(yōu)化顧問在分析每條語句的過程中還使用登錄信息(如同在 SQL Server Profiler 重播中)。服務器上的默認數(shù)據(jù)庫隨跟蹤文件中顯示的 LoginName 列值的改變而改變。 ms173448.note(zh-cn,SQL.100).gif注意: 如果跟蹤文件中存在的登錄不再出現(xiàn)在系統(tǒng)中,則數(shù)據(jù)庫引擎優(yōu)化顧問將忽略該登錄,并在默認情況下使用當前正在執(zhí)行優(yōu)化過程的登錄。如果出現(xiàn)這種情況,則系統(tǒng)將在數(shù)據(jù)庫引擎優(yōu)化顧問的優(yōu)化日志中寫入一條消息。

優(yōu)化時間限制

使用數(shù)據(jù)庫引擎優(yōu)化顧問可指定優(yōu)化時間,或指定無限制的優(yōu)化時間。索引優(yōu)化向導尚未提供此功能。有關詳細信息,請參閱限制優(yōu)化的持續(xù)時間和事件。

主站蜘蛛池模板: 久久99精品久久久 | 三级黄色免费网站 | 日韩视频一区二区 | 黄色在线观看视频免费 | 欧美一级日韩一级 | 国产高清不卡一区二区 | 精品国产91在线网 | 国产成人精品久久综合 | 精品国精品国产自在久国产不卡 | 免费美女黄色 | 97精品国产91久久久久久久 | 国产精品久久久久久久久鸭 | 草草草草视频 | 999精品视频在线观看 | 国产永久免费高清在线观看视频 | 黄色性生活一级片 | 777免费视频 | vr成人啪啪影视 | 欧美三级欧美成人高清www | 91最新免费观看在线 | 中文一区 | 小明明看看视频永久免费网 | 午夜国产精品久久久久 | 欧美精品成人一区二区视频一 | 午夜成年| 国产在线视频在线观看 | 国产女主播一区二区在线观看 | 在线播放黄色 | 亚洲色图欧美激情 | 99视频在线看 | 欧美性三三影院 | 免费观看a级片 | 99热久久国产综合精品久久国产 | 亚洲欧美激情综合首页 | 久久精品国产一区二区三区不卡 | 成人做爰全过程免费看网站 | 窝窝免费午夜视频一区二区 | 香蕉视频免费看 | 国产成人精品日本亚洲直接 | 日韩免费a级在线观看 | 亚洲欧美日韩国产综合专区 |