熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

配置SQL Server 2000選項

2013-11-15 14:41:17  來源: SQL Server 

  SQL Server服務器的配置選項屬於那種人們了解較少且經常誤用的選項當一個技術支持人員要求你按照某種方式調整一個選項而另一個技術支持人員卻要求你按照另一種完全對立的方式調整同一個選項時你可能對這些選項的真正含義感到困惑有關這些選項的資料很缺乏至少可以說不夠詳細和清楚在SQL Server Microsoft減少了幾個配置選項讓SQL Server動態配置它們從而減少了幾個容易混淆的地方同時Microsoft又為SQL Server 新增了兩個服務器配置選項調整了一些數據庫選項從而稍許簡化了數據庫管理員的工作
  
  新增的服務器選項
  就象訪問大多數企業版服務器的屬性一樣我們不能在SQL Server Enterprise Manager中通過服務器屬性窗口訪問SQL Server 新增的兩個服務器選項作為防止用戶由於不小心而錯誤配置服務器的一個安全措施Microsoft沒有把這些高級配置選項放入Enterprise Manager相反我們必須使用TSQL/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 command 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又等於最低要求GBSQL 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的物理內存我們還必須采取其他一些措施即修改bootini文件加入/pae選項
  
  第二個新的SQL Server 選項用來啟用C級安全審核模式C是一個政府安全等級它保證系統能夠保護資源並具有足夠的審核能力C模式允許我們監視對所有數據庫實體的所有訪問企圖啟用SQL Server的C審核功能的命令如下
  
  EXEC sp_configure c audit mode RECONFIGURE
  
  (要實現完整的C級安全保證Windows操作系統也必須提供相應的支持)啟用C審核模式並重新啟動之後SQL Server自動在\MSSQL\Data目錄下面創建跟蹤文件我們可以使用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 chkpt以及Select Into/Bulk Copy這兩個選項如圖所示為了清楚和向後兼容起見這些通用選項現在稱為recovery model(恢復模型)選項如果用SQL Server 的Enterprise Manager連接SQL Server 數據庫我們仍舊可以看到這些老選項
   
  以前我們使用下面的命令為Northwind數據庫開啟trunc log on chkpt選項
  
  SP_DBOPTION Northwind trunc log on chkpt true
  
  設置好選項之後我們可以通過Options選項卡或者下面的查詢檢查Northwind數據庫上這些選項設置是否成功
  
  SELECT DATABASEPROPERTY (Northwind IsTruncLog)
  
  結果為表示選項設置成了true結果為表示選項設置成了false如果結果為NULL它表示我們或者選擇了一個錯誤的選項或者數據庫不存在
  
  為了便於使用Microsoft把trunc log on chkpt和Select Into/Bulk Copy選項換成了恢復模型設置這種選項改變的目的在於確保數據庫管理員能夠充分理解在災難恢復策略中恢復模型選項的意義SQL Server 為我們提供了三種數據庫恢復模型simple(簡單恢復)full(完全恢復)bulk_logged(大容量日志記錄恢復)
  
  簡單恢復模型最容易操作但它是最缺乏靈活性的災難恢復策略選擇簡單恢復模型等同於把trunc log on chkpt設置成true在這種恢復模型下我們只能進行完全備份和差異備份(differential backup)這是因為事務日志總是被截斷事務日志備份不可用一般地對於一個包含關鍵性數據的系統我們不應該選擇簡單恢復模型因為它不能夠幫助我們把系統還原到故障點使用這種恢復模型時我們最多只能把系統恢復到最後一次成功進行完全備份和差異備份的狀態進行恢復時我們首先要恢復最後一次成功進行的完全備份然後在此基礎上恢復差異備份(差異備份只能把自從數據庫最後一次完全備份之後對數據庫的改動施加到數據庫上)
  
  完全恢復模型把trunc log on chkpt選項和Select Into/Bulk Copy選項都設置成false完全恢復具有把數據庫恢復到故障點或特定即時點的能力對於保護那些包含關鍵性數據的環境來說這種模型很理想但它提高了設備和管理的代價因為如果數據庫訪問比較頻繁的話系統將很快產生龐大的事務日志記錄由於在這種模型中Select Into/Bulk Copy設置成了falseSQL Server將記錄包括大容量數據裝入在內的所有事件
  
  最後一種恢復模型是大容量日志記錄恢復它把tru
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22177.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.