解讀改善SQL Server內存管理的問題_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:揭秘SQL Server中刪除重復數據的方法
      數據庫的使用過程中由于程序方面的問題有時候會碰到重復數據,重復數據導致了數據庫部分設置不能正確設置 方法一 以下為引用的內容: declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字

            最近,為了能在數據庫服務器中運行其他應用程序,在保持數據庫操作系統版本不變的前提下對數據庫服務器進行了軟、硬件上的升級。在軟件上,將操作系統從Windows 2000升級到Windows Server 2003;在硬件上,將服務器中的內存由原來的512MB增加到1GB(1024MB)。在升級后的開始幾個星期之內,服務器在使用中表現良好。但是不久后就發現,在服務器上同時運行的其他應用程序卻出現了異常,不時地報出內存分配不足的警告。經過幾次跟蹤后發現,原來是SQL Server吞去了大部分內存所致。被SQL Server占用的內存由升級前的不到400MB一下子增加到現在的900MB,并且有不斷增長的趨勢。

            通過查找原因才知道這是SQL Server 緩沖池的預期行為。默認情況下,在啟動 SQL Server之后,SQL Server會根據操作系統報告的物理內存數來動態增大或縮小高速緩沖存儲器的容量。只要可用物理內存大小保持在4MB到10MB之間,SQL Server 緩沖池就會繼續增大(保留可用物理內存在4MB到10MB之間是為了避免操作系統因為缺少內存而頻繁地換頁)。如果物理可用內存變得較少的時候,則SQL Server會將一些內存釋放給操作系統。

            為了使運行在服務器上的應用程序都能達到比較滿意的效果,同時也為了能給其他應用程序分配足夠的內存,需要采取措施限制SQL Server 的內存使用量。我們可以通過設置SQL Server 數據庫引擎使用的內存的上下限來達到此目的。其具體步驟是:

      1.打開企業管理器,展開服務器組。

      2.單擊該服務器,點擊鼠標右鍵,單擊屬性菜單。

      3.在彈出的對話框中單擊內存選項卡。

            內存設置方法有兩種:

      1.設置min server memory和max server memory 在一個范圍段內。

      比如,我們將它設置成最小0MB,最大255MB。這種方法在為一臺服務器中運行多個應用程序分配內存時非常有用。

      2.設置 min server memory 和 max server memory 為同一數值。

      比如,可以將它最大和最小值都設置成255MB。這樣的設置方法與窗口中的另一個選項“使用固定的內存大小” 相一致。

            雖然內存最小值和最大值設置是高級選項,但在設置完畢之后,最好還是先將SQL Server服務停止后再重新運行,以便SQL Server能更好地對內存進行合理安排。

       

       

      分享:揭秘Sql語句優化注意事項
      1.盡量不要對列名進行函數處理。而是針對后面的值進行處理 例如where col1 = -5的效率比where -col1=5的效率要高 因為后面的條件對列值進行了計算。這樣的條件下優化器無法使用索引 而是要針對所有值進行計算之后才能再比較 2.盡量使用和數劇列一樣的值進行

      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2009-11-17
      相關Mssql數據庫教程