sql2000awe
❶ 請教雙機群集中,sql2000使用8G大內存的問題
開啟大內存
SQL Server 2005 聯機叢書(2007 年 9 月)
為 SQL Server 啟用 AWE 內存
地址窗口化擴展插件 (AWE) 可以使 32 位操作系統訪問大量內存。AWE 由操作系統提供,並且在 Microsoft Windows 2000 Server 和 Windows Server 2003 中的實現方式稍有不同。可以使用 awe enabled 選項啟用 AWE。
在 Windows 2000 Server 中使用 AWE 映射內存
運行在 Windows 2000 上的 Microsoft SQL Server 2005 實例在 SQL Server 啟動過程中根據下列事件順序分配內存:
• 如果可用物理內存小於用戶模式虛擬地址空間,則無法激活 AWE。在此情況下,SQL Server 將以非 AWE 模式運行,而不管 awe enabled 選項的設置情況。
• 如果可用物理內存大於用戶模式虛擬地址空間,則可以激活 AWE。
o 如果可用物理內存大於 max server memory 選項的值,SQL Server 實例會鎖定 max server memory 中指定的內存量。
o 如果可用物理內存小於 max server memory 選項的值或如果尚未設置 max server memory 選項,SQL Server 實例只留下 256 兆位元組 (MB),而鎖定所有其餘的可用內存。
• AWE 映射內存一經分配便無法釋放,除非關閉 SQL Server。
配置內存選項
極力建議每次啟用 AWE 時都為 max server memory 設置一個值。如果 awe enabled 設置為 1(並且可用物理內存大於用戶模式進程空間),則啟動伺服器後,運行在 Windows 2000 中的 SQL Server 2005 實例將鎖定幾乎所有的可用內存(或 max server memory 的值指定的內存,如果設置了此選項的話)。如果尚未設置 max server memory,則其他應用程序或 SQL Server 實例的可用物理內存將小於 128 MB。
無法將 AWE 映射內存池換出到分頁系統文件。如果需要使用額外物理內存,Windows 必須換出其他應用程序,這樣做可能會影響那些應用程序的性能。
若不想影響其他應用程序的性能,請配置 max server memory 留出一些額外可用內存以備其他應用程序和操作系統的不時之需。可以通過了解計算機上使用的所有其他應用程序啟動之後還有多少內存可用,來確定可安全分配給 SQL Server 實例的內存量。
注意:
在 Windows 2000 Server 中,SQL Server AWE 將忽略 min server memory。
使用 SQL Server 性能監視器 Total Server Memory (KB) 計數器可以確定在 AWE 模式下運行的 SQL Server 實例所分配的內存量,也可以從 sysperfinfo 中選擇內存使用量來確定實例所分配的內存量。
有關詳細信息,請參閱監視內存使用量。
使用 AWE 運行 SQL Server 的多個實例
如果伺服器運行的是 Windows 2000,則每個實例都應設置 max server memory。由於 Windows 2000 操作系統上運行的 SQL Server 2005 不支持動態分配 AWE 映射內存,因此,建議為每個實例都設置 max server memory 選項。
所有實例的 max server memory 值的總和應小於計算機的總物理內存。如果總和大於總物理內存,某些實例或者不會啟動,或者所使用的內存小於 max server memory 設置所指定的內存量。例如,假設某台計算機有 16 GB 的物理內存,並且在該計算機上安裝了三個 SQL Server 2005 實例。並且,每個實例的 max server memory 設置為 8 GB。如果您停止並重新啟動所有三個實例,內存分配會如下所示:
1. 第一個實例使用 8 GB 的物理內存。
2. 第二個實例將啟動,但使用的物理內存將略低於 8 GB(最多減少 128 MB)。
3. 第三個實例以動態內存模式啟動並且使用 256 MB 的物理內存或更少的物理內存。
有關詳細信息,請參閱管理大型資料庫的內存。
在 Windows Server 2003 中使用 AWE 映射內存
在 Windows Server 2003 中,SQL Server 2005 支持動態分配 AWE 內存。啟動過程中,SQL Server 僅保留一小部分 AWE 映射內存。當需要額外的 AWE 映射內存時,操作系統便會將其動態分配給 SQL Server。同樣,如果所需的資源較少,則 SQL Server 可將 AWE 映射內存返回到操作系統,以供其他進程或應用程序使用。有關 awe enabled 配置選項的詳細信息,請參閱 awe enabled 選項。
Windows Server 2003 系列所支持的物理內存量有所增加。AWE 可使用的物理內存取決於您所使用的操作系統。下面的列表列出了寫入時每個 Windows Server 2003 操作系統版本可以使用的最大物理內存。
• Windows Server 2003 Standard Edition 最高支持 4 GB 的物理內存。
• Windows Server 2003 Enterprise Edition 最高支持 32 GB 的物理內存。
• Windows Server 2003 Datacenter Edition 最高支持 64 GB 的物理內存。
配置內存選項
SQL Server 2005 在任何 Windows Server 2003 操作系統版本上運行時,都會動態地分配 AWE 映射內存。換言之,緩沖池可以動態管理 AWE 映射內存(在 min server memory 和 max server memory 選項的約束內),以按照總體系統要求平衡 SQL Server 內存的使用。
啟用 AWE 後,SQL Server 2005 將始終嘗試使用 AWE 映射內存。這適用於所有內存配置,包括配置以提供給應用程序低於 3 GB 用戶模式地址空間的計算機。
• 建議將 AWE 設為在 Windows Server 2003 上運行的 SQL Server 2005 的默認內存模式。熱添加內存功能要求在啟動 SQL Server 過程中啟用 AWE。有關信息,請參閱熱添加內存。
注意:
64 位操作系統上不需要 AWE,也不能在該系統上配置 AWE。
• 由於所支持的 AWE 映射內存容量在 3 GB 以下,因此,可在物理內存范圍內定義 min server memory 和 max server memory 的值,或使用這兩個選項的默認值。
• 可以考慮設置 SQL Server 的 max server memory 以保證其他內存能用於運行在計算機上的其他應用程序。雖然 SQL Server 可動態釋放 AWE 映射內存,但當前已分配的 AWE 映射內存量無法換出頁面文件。
若要使 SQL Server 2005 實例能夠使用 AWE,請使用 sp_configure 將 awe enabled 選項設置為 1,然後重新啟動 SQL Server。
有關 min server memory 和 max server memory 的詳細信息,請參閱伺服器內存選項。
在啟用 AWE 之前,必須先配置「鎖定內存頁」策略。有關詳細信息,請參閱如何啟用「鎖定內存中的頁」選項 (Windows)。
示例
下面的示例顯示如何激活 AWE 以及如何為 min server memory 配置 1 GB 的限制,為 max server memory 配置 6 GB 的限制。
首先,配置 AWE:
復制代碼
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
重新啟動 SQL Server 之後,會將以下消息寫入 SQL Server 錯誤日誌中:「已啟用地址窗口化擴展插件。」
然後,配置內存:
復制代碼
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
在此示例中,內存設置引導緩沖池在 1 GB 和 6 GB 之間動態管理 AWE 映射內存。如果其他應用程序需要額外的內存,則 SQL Server 可釋放不再需要的已分配 AWE 映射內存。在此示例中,AWE 映射內存最多隻能釋放 1 GB。
如果將額外的內存添加到支持熱添加內存的計算機中,則 SQL Server 也可以使用動態 AWE 內存來增加內存。熱添加內存可用於 Windows Server 2003 Enterprise Edition 和 Datacenter Edition,允許計算機在運行時添加內存。例如,假設在具有 16 GB 物理內存的計算機上啟動在 Windows Server 2003 Enterprise Edition 上運行的 SQL Server 2005。將操作系統配置為限制應用程序可使用 2 GB 的虛擬內存地址空間;並且已在 SQL Server 上激活 AWE。稍後,在計算機運行時系統管理員要添加 16 GB 的內存。SQL Server 2005 會立即識別添加的內存,並且,如有必要,可以利用這些內存。
有關使用 AWE 的詳細信息,請參閱 Windows Server 2003 文檔。
使用 AWE 運行 SQL Server 的多個實例
如果在同一台計算機上運行多個 SQL Server 2005 實例,並且每個實例都使用 AWE 映射內存,則應確保這些實例均按預期方式執行。
如果伺服器運行的是 Windows Server 2003,則每個實例都應設置 min server memory。由於在 Windows Server 2003 上運行的 SQL Server 2005 支持動態 AWE 映射內存管理,因此,建議為每個實例都設置 min server memory 選項。由於 AWE 映射內存無法換出頁面文件,因此,所有實例的 min server memory 值的總和應小於計算機上的物理總內存。
啟動時,min server memory 選項不會強制 SQL Server 獲取最小量的內存。基於資料庫工作負荷按需分配內存。但是,達到 min server memory 閾值後,如果 SQL Server 為自己保留的內存小於該量,則 SQL Server 將不釋放內存。因此,若要確保每個實例所分配的內存至少等於 min server memory 值,建議您啟動後立即執行資料庫伺服器載入。伺服器正常運行時,每一實例的可用內存會隨時變化,但決不會小於 min server memory 值。
可以設置 max server memory 或將該選項保留為默認設置。將 max server memory 保留為默認值將導致 SQL Server 實例為爭奪內存而競爭。
一起使用 AWE 和故障轉移群集
如果使用的是 SQL Server 2005 故障轉移群集和 AWE 內存,則必須確保所有實例的 max server memory 設置的總和小於故障轉移群集中任一伺服器上可用的最小物理內存。如果故障轉移節點的物理內存比原節點上的內存小,則 SQL Server 2005 實例可能無法啟動,或者可能在內存比在原節點上的內存小的情況下啟動。
請參閱
任務
如何配置 awe enabled 選項 (SQL Server Management Studio)
概念
使用 AWE
管理大型資料庫的內存
###################################################################
######################
配置 SQL Server 以便使用 2 GB 以上的物理內存(包括SQL Server 2005)
1. 概要
使用Windows 2000 Server 的操作系統,對於SQL Server而言,需要打開操作系統的3G開關,它才能利用到2G以上的物理內存,否則這些4G以上內存只有2G能夠被SQL Server使用到。
如果伺服器上的內存高於4G,請打開操作系統的/3G開關。這樣重新啟動後,SQL Server將會自動利用大內存來提升資料庫的性能,而不再受到2G的內存使用限制!
使用Windows 2000 Advanced Server、Windows 2000 Datacenter 或 Windows Server 2003如果使用 Boot.ini 的 /PAE 開關和 AWE 啟用選項SQL Server 2000 就可以使用4G以上內存。
2. 支持的操作系統版本
Windows 2000 Server
通常情況下,SQL Server 2000 Enterprise Edition 和 SQL Server 2000 Developer Edition 最多可以使用 2 GB 的物理內存。如果使用 AWE 啟用選項,SQL Server 最多可以使用 4 GB 的物理內存。
由於在 Microsoft Windows 2000 Server 上不能使用「物理地址擴展」(PAE),因此無法為 Windows 2000 Server 上的應用程序分配 4 GB 以上的物理內存。
注意:此外,Windows 2000 Server 不能在 Boot.ini 文件中使用 3 GB 開關;
不過,Microsoft Windows 2000 Advanced Server 或 Microsoft Windows Datacenter 版本卻可以在 Boot.ini 文件中使用 3 GB 開關。
Windows 2000 Advanced Server、Windows 2000 Datacenter 或 Windows Server 2003
32 位定址模式可以提供的最大物理內存量為 4 GB。所有基於 IA-32 結構的處理器(從 Intel Pentium Pro 開始)都支持一種新的 36 位物理定址模式,稱為「物理地址擴展」(PAE)。PAE 允許 Windows 2000 Advanced Server 上最多使用 8 GB 的物理內存,允許 Windows 2000 Datacenter Server 上最多使用 32 GB 的物理內存。這是因為,根據測試,Windows 2000 Datacenter Server 上的內存限制為 32 GB。PAE 模式內核需要 Intel 結構的處理器 Pentium Pro(或更高性能的處理器),以及 Windows 2000 Advanced Server 或 Windows 2000 Datacenter。
Windows Server 2003 上支持的最大內存為 4 GB。但是,Windows Server 2003 Enterprise Edition 支持 32 GB 的物理 RAM。使用物理地址擴展 (PAE) 功能,Windows Server 2003 Datacenter Edition 可支持 64 GB 的物理內存。
對於下列系統,可以在 Boot.ini 文件中使用 3 GB 開關:
Microsoft Windows Server 2003、
Microsoft Windows Server 2003 Enterprise Edition 或 Microsoft Windows Server 2003 Datacenter Edition。
SQL Server 2000 Enterprise 和 SQL Server 2000 Developer Edition 都可以使用下列選項:
如果在 SQL Server 中使用 Boot.ini 的 /PAE 開關和 AWE 啟用選項,SQL Server 2000 就可以使用 4 GB 以上的內存。沒有 /PAE 開關,SQL Server 最多隻能使用 3 GB 的內存。
在 Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的內存,請確保在 Boot.ini 文件中沒有使用 /3GB 開關。如果在 Boot.ini 文件中使用 /3GB 開關,Windows 2000 可能無法正常提供 16 GB 以上的任何內存。
所有 32 位應用程序都有 4 GB 的進程地址空間(32 位地址最多可以映射 4 GB 的內存)。如下圖:
3. SQL Server 2000配置步驟
3.1. Windows 2000 Server 配置操作系統支持AWE
3.1.1. 修改BOOT.INI文件
我的電腦->C: (如下圖)
3.1.2. 啟用操作系統3GB開關
修改boot.ini文件,在啟動windows項中添加 /3GB 參數。修改過後的boot.ini文件應該類似以下內容:
[boot loader]
timeout=8
default=multi(0)disk(0)rdisk(0)partition(1)
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)="Microsoft Windows 2000 Advanced Server" /3GB /fastdetect
3.1.3. 啟用鎖定內存頁選項(windows)
啟用鎖定內存頁選項
在"開始"菜單上單擊"運行"子菜單,然後在"打開"框中鍵入"gpedit.msc"。
在"組策略"控制台上,展開"計算機配置",然後展開"Windows 設置"。
展開"安全設置",然後展開"本地策略"。
選擇"用戶許可權分配"復選框。
詳細資料窗格中隨即顯示出策略。
在詳細資料窗格中,雙擊"鎖定內存頁"。
在"本地安全策略設置"對話框中,單擊"添加"按鈕。
在"選擇用戶或組"對話框中,添加有權運行 sqlservr.exe 的帳戶。
3.1.4. 啟用SQL Server 的AWE支持
下面的示例說明了如何啟用 AWE 並為伺服器內存最大值選項配置 3 GB 的限制:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 3072
RECONFIGURE
GO
3.1.5. 重新啟動服務
為了支持 3 GB 的用戶模式進程空間,必須將 /3gb 參數添加到 boot.ini 文件中並重新啟動計算機,從而使 /3gb 參數生效。設置此參數後,用戶應用程序線程可以定址 3 GB 的進程地址空間,而為操作系統保留 1 GB 的進程地址空間。
3.2. Microsoft Windows Server 2003 Enterprise Edition 配置操作系統支持AWE
3.2.1. 修改BOOT.INI文件
我的電腦->C: (如下圖)
3.2.2. 啟用操作系統/PAE開關
如果在 SQL Server 中使用 Boot.ini 的 /PAE 開關和 AWE 啟用選項,SQL Server 2000 就可以使用 4 GB 以上的內存。沒有 /PAE 開關,SQL Server 最多隻能使用 3 GB 的內存。
在 Windows 2000 Data Center 上,要使 AWE 可以使用 16 GB 以上的內存,請確保在 Boot.ini 文件中沒有使用 /3GB 開關。如果在 Boot.ini 文件中使用 /3GB 開關,Windows 2000 可能無法正常提供 16 GB 以上的任何內存。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /PAE
3.2.3. 啟用鎖定內存頁選項(windows)
啟用鎖定內存頁選項
在"開始"菜單上單擊"運行"子菜單,然後在"打開"框中鍵入"gpedit.msc"。
在"組策略"控制台上,展開"計算機配置",然後展開"Windows 設置"。
展開"安全設置",然後展開"本地策略"。
選擇"用戶許可權分配"復選框。
詳細資料窗格中隨即顯示出策略。
在詳細資料窗格中,雙擊"鎖定內存頁"。
在"本地安全策略設置"對話框中,單擊"添加"按鈕。
在"選擇用戶或組"對話框中,添加有權運行 sqlservr.exe 的帳戶。
3.2.4. 啟用SQL Server 的AWE支持
下面的示例說明了如何啟用 AWE 並為伺服器內存最大值選項配置 6 GB 的限制:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
3.2.5. 重新啟動服務
必須重新啟動 SQL Server 2000 實例才能使更改生效。
net stop mssqlserver
net start mssqlserver
這樣,SQL 服務啟動後,就會把6G的內存給鎖定,完全供SQL使用
4. SQL Server 2005配置步驟
4.1. 在Windows Server 2003使用SQL Server 2005概述
SQL Server 2005 支持在 Windows Server 2003 上動態分配 AWE 映射內存。通過允許訪問超過在所配置虛擬內存地址空間上設置的限制的可用物理內存,AWE 可擴展 32 位操作系統上運行的應用程序的功能。
啟動過程中,SQL Server 僅保留一小部分 AWE 映射內存。需要額外的 AWE 映射內存時,操作系統會動態地將其分配給 SQL Server。同樣,如果需要更少的資源,SQL Server 會將 AWE 映射內存返還給操作系統,以供其他進程或應用程序使用。SQL Server 和操作系統之間的這種平衡受到 min server memory 和 max server memory 參數的限制。
在 Windows Server 2003 中運行 SQL Server 2005 時,無需重新啟動 SQL Server 實例,SQL Server 即可響應 max server memory 和 min server memory 配置選項的更改。
在 Windows Server 2003 下,如果伺服器的物理內存小於虛擬內存地址空間上已配置的限制,則該伺服器支持動態 AWE 映射內存。在這種情況下使用 AWE 不會對性能產生影響,但添加的物理內存超過虛擬內存地址限制時,可以在不重新啟動伺服器的情況下使用此物理內存。
4.2. 啟用AWE
對於 Windows Server 2003,由於 AWE 映射內存管理是動態的,因此在啟動過程中,只分配總可用物理內存的一小部分。
如果已成功啟用此選項,當 SQL Server 2005 實例啟動時,SQL Server 錯誤日誌中將寫入消息「Address Windowing Extensions enabled」。
必須在啟用 AWE 之前為 SQL Server 帳戶授予 LOCK PAGE IN MEMORY 許可權。
awe enabled 選項是一個高級選項。如果使用 sp_configure 系統存儲過程來更改該設置,則只有在 show advanced options 設置為 1 時才能更改 awe enabled。必須重新啟動 SQL Server 實例,AWE 才會生效。
4.3. 啟用鎖定內存頁選項(windows)
啟用鎖定內存頁選項
在"開始"菜單上單擊"運行"子菜單,然後在"打開"框中鍵入"gpedit.msc"。
在"組策略"控制台上,展開"計算機配置",然後展開"Windows 設置"。
展開"安全設置",然後展開"本地策略"。
選擇"用戶許可權分配"復選框。
詳細資料窗格中隨即顯示出策略。
在詳細資料窗格中,雙擊"鎖定內存頁"。
在"本地安全策略設置"對話框中,單擊"添加"按鈕。
在"選擇用戶或組"對話框中,添加有權運行 sqlservr.exe 的帳戶。
4.4. 啟用SQL Server 2005的AWE支持
若要啟用 AWE,請將 awe enabled 設置為 1。除非指定了 max server memory 的值,否則 SQL Server 將保留幾乎所有可用內存,只留下 128 MB 或更少。
如果已成功啟用該選項,則當 SQL Server 2000 實例啟動時,SQL Server 錯誤日誌中將出現"已啟用地址窗口擴展"這條消息。
awe enabled 是高級選項。如果正在使用 sp_configure 系統存儲過程更改該設置,則只有
當 show advanced options 設置為 1 時才能更改 awe enabled。
如下:設定SQL 使用6G的內存
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
4.5. 重新啟動服務
必須重新啟動 SQL Server 2005 實例才能使更改生效。
net stop mssqlserver
net start mssqlserver
這樣,SQL 服務啟動後,就會把6G的內存給鎖定,完全供SQL使用
❷ sql server 2000最大高速緩存是多少
默認是 1.6G
如果操作系統是企業版 的, SQL SERVER 是企業版或者是DATA CENTER 就可以支持大內存,需要開啟SQL SERVER的AWE選項
AWE選項允許SQL SERVER使用 大內存。
配置操作系統支持AWE
要使OS支持AWE,必須在boot.ini 中加入 /pae 參數
鎖定內存頁:要使用AWE,啟動SQLServer服務的帳號必須有內存中鎖定頁Lock Page in Memory的許可權
此策略將確定哪些帳戶可以使用進程將數據保留在物理內存中,從而阻止系統將數據分頁到磁碟的虛擬內存中。
在 SQL Server 2005 中,「鎖定內存頁」選項默認設置為 OFF。如果您具有系統管理員許可權,
則可以使用組策略工具 (gpedit.msc) 手動啟用該選項,並將此許可權指定給正在運行 SQL Server 的帳戶。
開啟SQL SERVER的AWE選項.gpedit.msc->計算機配置->WINDOWS設置->安全設置->
本地策略->用戶許可權分配->內存中鎖定頁面->加入SQL SERVER的啟動帳戶
雖然沒有要求,但我們建議在使用 64 位操作系統時鎖定內存中的頁。
對於 32 位操作系統,在將 AWE 配置為用於 SQL Server 之前,必須授予「鎖定內存頁」許可權。
/*開啟SQL SERVER的AWE,並設置最大內存為5G
sp_configure "show advanced options", 1
RECONFIGURE WITH OVERRIDE
GO
sp_configure "awe enabled", 1
RECONFIGURE WITH OVERRIDE
GO
sp_configure "max server memory", 5120
RECONFIGURE WITH OVERRIDE
GO
*/
設置最大內存要參照系統物理內存,留下一下內存以供其它應用程序使用(如系統是8G內存,SQL可設置為5G)。設置好後重啟伺服器即可。
❸ SQL Server2000大內存問題
設置 min server memory = 5120 配合 max server memory = 6144 使用
這樣啟動後就應該 是 5G
❹ 配置SQL Server 2000選項
SQL Server伺服器的配置選項屬於那種人們了解較少且經常誤用的選項 當一個技術支持人員要求你按照某種方式調整一個選項 而另一個技術支持人員卻要求你按照另一種完全對立的方式調整同一個選項時 你可能對這些選項的真正含義感到困惑 有關這些選項的資料很缺乏 至少可以說不夠詳細和清楚 在SQL Server 中 Microsoft減少了幾個配置選項 讓SQL Server動態配置它們 從而減少了幾個容易混淆的地方 同時 Microsoft又為SQL Server 新增了兩個伺服器配置選項 調整了一些資料庫選項 從而稍許簡化了資料庫管理員的工作 新增的伺服器選項 就象訪問大多數企業版伺服器的屬性一樣 我們不能在SQL Server Enterprise Manager中通過伺服器屬性窗口訪問SQL Server 新增的兩個伺服器選項 作為防止用戶由於不小心而錯誤配置伺服器的一個安全措施 Microsoft沒有把這些高級配置選項放入Enterprise Manager 相反 我們必須使用T SQL/sp_configure系統存儲過程去訪問這些高級選項 我們可以用不帶參數運行sp_configure的方法查看伺服器的當前配置 在執行結果中 config_value是SQL Server從Master資料庫syscurconfigs表提取出來的數據 它顯示了伺服器的當前配置 run_value列顯示了執行sp_configure時SQL Server正在使用的選項 SQL Server在sysconfigures表中存儲這些數據 修改某個選項之後 我們必須執行RECONFIGURE命令(在大多數情況下 還要重新啟動SQL Server)才能讓新的run_value顯示出來 本文所討論的所有選項都要求重新啟動SQL Server 伺服器選項總共有 個 默認情況下 sp_configure存儲過程只顯示其中的 個 顯示結果中不包含高級選項 而且所有新的SQL Server配置選項都不會出現在這個精簡的清單中 然而 我們可以使用show advanced options命令參數讓SQL Server顯示出所有選項 要啟用show advanced options 我們使用如下命令格式 EXEC sp_configure show advanced options RECONFIGURE 要安裝一個選項 我們必須在使用sp_configure配置伺服器之後運行RECONFIGURE命令 上面命令的輸出結果如下 Configuration option show advanced options changed from to Run the RECONFIGURE mand to install 一旦能夠查看高級選項 我們就可以看到兩個新的伺服器選項 其中最重要的一個新選項是awe enabled選項 它能夠讓SQL Server企業版提高伺服器的內存訪問能力 默認情況下 SQL Server能夠使用的最大RAM是 GB 在Windows 上 應用程序可以 使用Address Windowing Extensions(AWE)API訪問更多的RAM 例如 在Windows Advanced Server中 我們能夠使用多達 GB的內存 只有Windows Datacenter Server支持 GB內存才超過它 顯然 當SQL Server擁有更多的可用內存 它將能夠緩沖更多的數據 改善查詢的響應時間 不過 啟用awe enabled選項也有副作用 啟用awe enabled選項之後 SQL Server不再動態地分配內存 由於缺乏內存動態分配功能 管理負擔隨之增加 因為我們必須仔細地監視RAM使用情況 另外 設置awe enabled選項之後 我們還必須設置max server memory選項 如果我們不設置max server memory選項 伺服器RAM又等於最低要求 GB SQL Server將在啟動的時候占據機器上幾乎所有的RAM 只給Windows和其他應用留下 MB的RAM 通過設置max server memory選項 我們可以限制SQL Server使用的內存總量 awe enabled選項只能在SQL Server Enterprise Edition上使用 操作系統必須是Windows Advance Server或Datacenter 如果你在SQL Server的其他版本上使用這個選項(或者操作系統是WinNT) SQL Server將忽略這個選項 在某些伺服器配置組合下 不適當地配置這個選項將導致不可預知的結果 例如 如果我們在Windows 操作系統 運行SQL Server Personal Edition的機器上設置這個選項 SQL Server可能報告它已經停止(甚至是在它正在運行的時候) 而且它將拒絕停止SQL Server實例 在SQL Server Enterprise Edition伺服器上啟用AWE包括三個步驟 首先 我們必須確保啟動SQL Server實例的帳號具有在內存中鎖定頁的許可權 SQL Server安裝時自動把頁鎖定許可權授予我們指定用來啟動SQL Server服務的Windows帳號 但是 如果後來這個帳號已經改變 你應該檢查一下已經把哪些許可權授予了啟動SQL Server的用戶 檢查帳號的許可權可以使用Windows 的組策略工具 第二個步驟是運行sp_configure存儲過程 把awe enabled選項設置為 然後 我們必須執行RECONFIGURE 用手工方式重新啟動SQL Server 配置命令的語法為 EXEC sp_configure awe enabled RECONFIGURE 注意 在Windows 或者NT上 如果要訪問高於 GB的物理內存 我們還必須採取其他一些措施 即修改boot ini文件 加入/pae選項 第二個新的SQL Server 選項用來啟用C 級安全審核模式 C 是一個 *** 安全等級 它保證系統能夠保護資源並具有足夠的審核能力 C 模式允許我們監視對所有資料庫實體的所有訪問企圖 啟用SQL Server的C 審核功能的命令如下 EXEC sp_configure c audit mode RECONFIGURE (要實現完整的C 級安全保證 Windows操作系統也必須提供相應的支持)啟用C 審核模式並重新啟動之後 SQL Server自動在MSSQLData目錄下面創建跟蹤文件 我們可以使用SQL Server Profiler查看這些監視伺服器活動的跟蹤文件 SQL Server以 KB大小的塊為單位把數據寫入跟蹤文件 因此 當SQL Server非正常停止時 我們最多可能丟失 KB的日誌數據 可以想像 包含審核信息的日誌文件將以很快的速度增大 例如 某次試驗只訪問了三個表 跟蹤文件已經超過了 MB 當跟蹤文件超過 MB時 C 審核將關閉舊文件並創建新文件 每次SQL Server啟動的時候 它會創建一個新的跟蹤文件 如果磁碟空間不足 SQL Server將停止運行 直至我們為審核日誌釋放出足夠的磁碟空間並重新啟動SQL Server實例 在SQL Server啟動的時候 我們可以使用 f參數禁用審核 減少的伺服器選項 在SQL Server 中 Microsoft減少了原有的幾個選項 讓SQL Server 自動配置這些選項 減少的選項中最引人注目的是max async IO選項 這個選項允許資料庫管理員指定在單一的資料庫文件上可以出現多少非同步的磁碟讀取和寫入操作 SQL Server 中的max async IO選項是人們了解最少的選項之一 它的默認值是 但很少有管理員去調整這個值 在SQL Server 中 這個非同步IO選項隨著SQL Server接收的適配器反饋信息動態地上升或者下降 SQL Server利用反饋演算法確定伺服器負載以及SQL Server系統能夠控制的數量 資料庫選項 在SQL Server 中 如果你曾經查看過Enterprise Manager中資料庫的Options選項卡 你可能會對一些通用選項的消失感到困惑(要訪問Options選項卡 在Enterprise Manager中右擊資料庫然後選擇Properties) Options選項卡中減少了trunc log on cpt 以及Select Into/Bulk Copy這兩個選項 如圖 所示 為了清楚和向後兼容起見 這些通用選項現在稱為recovery model(恢復模型)選項 如果用SQL Server 的Enterprise Manager連接SQL Server 資料庫 我們仍舊可以看到這些老選項 以前 我們使用下面的命令為Northwind資料庫開啟trunc log on cpt 選項 SP_DBOPTION Northwind trunc log on cpt true 設置好選項之後 我們可以通過Options選項卡或者下面的查詢檢查Northwind資料庫上這些選項設置是否成功 SELECT DATABASEPROPERTY ( Northwind IsTruncLog ) 結果為 表示選項設置成了true 結果為 表示選項設置成了false 如果結果為NULL 它表示我們或者選擇了一個錯誤的選項 或者資料庫不存在 為了便於使用 Microsoft把trunc log on cpt 和Select Into/Bulk Copy選項換成了恢復模型設置 這種選項改變的目的在於確保資料庫管理員能夠充分理解在災難恢復策略中恢復模型選項的意義 SQL Server 為我們提供了三種資料庫恢復模型 simple(簡單恢復) full(完全恢復) bulk_logged(大容量日誌記錄恢復) 簡單恢復模型最容易操作 但它是最缺乏靈活性的災難恢復策略 選擇簡單恢復模型等同於把trunc log on cpt 設置成true 在這種恢復模型下 我們只能進行完全備份和差異備份(differential backup) 這是因為事務日誌總是被截斷 事務日誌備份不可用 一般地 對於一個包含關鍵性數據的系統 我們不應該選擇簡單恢復模型 因為它不能夠幫助我們把系統還原到故障點 使用這種恢復模型時 我們最多隻能把系統恢復到最後一次成功進行完全備份和差異備份的狀態 進行恢復時 我們首先要恢復最後一次成功進行的完全備份 然後在此基礎上恢復差異備份(差異備份只能把自從資料庫最後一次完全備份之後對資料庫的改動施加到資料庫上) 完全恢復模型把trunc log on cpt 選項和Select Into/Bulk Copy選項都設置成false 完全恢復具有把資料庫恢復到故障點或特定即時點的能力 對於保護那些包含關鍵性數據的環境來說 這種模型很理想 但它提高了設備和管理的代價 因為如果資料庫訪問比較頻繁的話 系統將很快產生龐大的事務日誌記錄 由於在這種模型中Select Into/Bulk Copy設置成了false SQL Server將記錄包括大容量數據裝入在內的所有事件 最後一種恢復模型是大容量日誌記錄恢復 它把tru lishixin/Article/program/SQLServer/201311/22177