第十七章——配置SQLServer(2)——32位和64位系統中的記憶體配置

來源:互聯網
上載者:User

標籤:

原文: 第十七章——配置SQLServer(2)——32位和64位系統中的記憶體配置

前言:

        本文講述32位和64位系統中的記憶體配置,在SQLServer 2005/2008中,DBA們往往嘗試開啟AWE來限制記憶體。但是,在SQLServer2012以後,這個選項將被棄用,所以不能使用這種方式來控制32位執行個體的虛擬位址空間。如果你伺服器上有很多記憶體,就只能升級到64位系統。下面是微軟給出的記憶體限制:


        雖然2012以後已經棄用AWE,但是瞭解一下32位系統如何使用AWE(Address WindowingExtensions)來使得作業系統能夠訪問更多的記憶體。如果可用的實體記憶體比Maximum Server memory選項的還要多,那麼SQLServer會鎖定在Maximum Server memory選項,如果Maximum Server memory選項沒有設定或者實體記憶體比這個選項設定得還要少,那麼SQLServer執行個體會佔用所有可用記憶體,僅保留256MB。

 

準備工作:

記住當前的Maximum Server memory和Minimum Server memory的值,可以在視圖sys.configurations表中查看,這個視圖包含有系統層級的的配置資訊。

 

步驟:

1、 用以下語句設定SQLServer的最小記憶體:

EXEC sp_configure ‘min server memory (MB)‘, 1024GORECONFIGURE WITH OVERRIDE ;GO


2、 用以下指令碼設定最大記憶體: 

EXEC sp_configure ‘max server memory (MB)‘, 3000GORECONFIGURE WITH OVERRIDE ;GO


分析:

        步驟1配置最小記憶體給SQLServer,預設值為0,可以設定最小值小於或等於max server memory的值。

        步驟2配置SQLServer的最大分配記憶體,預設值為2TB,這個值不能少於64M。

        所有的設定都儲存在SQLServer的buffer pool中。如果你使用32位系統,你的SQLServer不能使用超過3G的記憶體。不管你有多少可用記憶體在伺服器上。除非開啟了AWE和PAE。

        如果系統中的系統服務僅僅運行了SQLServer,那麼設定最大記憶體即可,但是如果有多個服務同時運行。並且網域控制站使用了最大記憶體,SQLServer將會記憶體不足,換個角度,如果SQLServer使用了最大記憶體,那麼網域控制站又會記憶體不足,引起,應該合理配置記憶體,以避免記憶體的溢出。

第十七章——配置SQLServer(2)——32位和64位系統中的記憶體配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.