用MSSQL 2005減輕生產伺服器優化負荷

2021-04-17 04:56:25 字數 2826 閱讀 9339

優化較大的工作負荷會對所優化的伺服器產生很大的開銷。開銷是由資料庫引擎優化顧問在優化程序中多次呼叫查詢優化器導致的。如果除生產伺服器以外,再使用一台測試伺服器,則可以消除此開銷問題。

資料庫引擎優化顧問如何使用測試伺服器

使用測試伺服器的傳統方法是將所有資料從生產伺服器複製到測試伺服器,優化測試伺服器,然後在生產伺服器上實現建議。此過程可以消除對生產伺服器的效能影響,但這不是最佳解決方案。例如,將大量資料從生產伺服器複製到測試伺服器可能消耗大量時間和資源。此外,測試伺服器硬體很少像生產伺服器中部署的硬體那樣功能強大。優化程序依賴於查詢優化器,而它生成的建議部分依賴於基礎硬體。如果測試伺服器硬體和生產伺服器硬體不相同,資料庫引擎優化顧問建議的質量就會降低。

若要避免出現這些問題,資料庫引擎優化顧問將通過把大部分優化負荷轉移到測試伺服器,優化生產伺服器上的資料庫。它通過使用生產伺服器硬體配置資訊,而不是真正地將資料從生產伺服器複製到測試伺服器,來執行該操作。資料庫引擎優化顧問不會將實際資料從生產伺服器複製到測試伺服器中。它僅複製元資料和必要的統計資訊。

下列步驟概要介紹了用於在測試伺服器上優化生產資料庫的過程:

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 輸入檔案生成優化建議時,應只考慮索引 (

idx) 而不考慮分割槽,並且不需要在 mydatabasename 中保留現有的任何物理設計結構。

MSsql2005如何啟用xp cmdshell

預設情況下,sql server2005安裝完後,xp cmdshell是禁用的 可能是安全考慮 如果要使用它,可按以下步驟 允許配置高階選項 exec sp configure show advanced options 1 go 重新配置 reconfigure go 啟用xp cmdshell...

MS SQL 2005 儲存過程簡介

儲存過程介紹 1,儲存過程,是在資料庫伺服器端執行的一組 transact sql 語句的集合,經編譯後存放在資料庫伺服器中。2,儲存過程作為乙個單元進行處理並由乙個名稱來標識。它能夠向使用者返回資料 向資料庫表中寫入和修改資料,還可以執行系統函式和管理操作。在程式設計過程中只需要給出儲存過程的名稱...

thinkphp連線mssql2005配置

這裡的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的php版本是執行緒安全的,那麼你的php安裝目錄下應該有乙個php5ts.dll,與這裡的兩行語句對應,如果是php5nts.dll,那麼上面的語句應該是 php pdo sqlsrv extension php pdo sql...