MS SQL 記憶體使用異常

2021-08-22 04:08:49 字數 2049 閱讀 5362

問題描述:

環境:主機

;ibm 445 /4

棵cpu/4g m

os = windows server

mssql = enterprise

edition server +sp3 狀況

: 我的mssql

一停用,在作業系統的任務管理器中,記憶體使用狀誠指示條一下就降到到接近

0,當我一啟動

mssql

服務,任務管理器中的記憶體使用狀態指示條一上到了

70%

左右,再仔細看任務管理器中

sql

程序的記憶體使用大少才70多

m(70

多兆確認沒有看錯

),而任務管理器中的可能最大記憶體是

3.6g

.重啟伺服器也是一樣的狀況

.別外我的

mssql

中有大約有建

10 個

db.

問題:

1.為何任務管理器中的記憶體使用狀態條與程序中現顯的記憶體使用差異有那麼大

(2.5g /70m)? 2.

這個狀況真正的問題在什麼地方?

問題原因:

當啟用了

sql server

的awe

選項後,很有可能會出現這種現象,執行下面的**,檢視你的

sql server

是否啟動了

awe選項,如果下面的**顯示的結果集中,列

run_value

的值顯示為

1,則表示啟用了

awe選項。

exec

sp_configure

'show advanced options'

, 1

reconfigure go

exec

sp_configure

'awe enabled'go

關於啟用了

awe選項後,會出現這種故障,在

sql server

聯機叢書上可以找到原文說明:

使用系統監視器(

microsoft windows nt® 4.0

中的效能監視器)檢索有關

sql server

記憶體使用及可用記憶體的資訊。任務管理器不為

awe

提供準確的記憶體使用資訊。因此,報告的

sqlservr.exe

所占用的記憶體量並不正確。若要獲得正確的

sql server

記憶體使用情況,可使用

"總的伺服器記憶體

(kb)"

效能計數器(該計數器可通過系統監視器啟用),或從

sysperfinfo

中選擇記憶體使用。有關更多資訊,請參見監視記憶體的使用。

其他注意事項:

啟動

awe後選項後,

sql server

在啟動的時候就會吃掉能吃掉所有的可用記憶體(這個可用記憶體指保留給系統外的記憶體,或者是

sql server

的最大記憶體限制中設定的記憶體量),因此,如果你的伺服器不是專用的資料庫伺服器,請在啟用

awe選項前,配置好

sql server

的最大記憶體限制

另外,如果你的記憶體低於

2g,則開啟

awe選項無效,能開啟,但達不到效果

mssql儲存過程異常處理

mssql2000和mssql2005以上版本的異常處理語法是不相同的。sql server 2005以上版本支援結構化異常處理,而mssql2000是不支援的。1 先看mssql 2000的異常處理語法 create proc sp mssql2000 titlename nvarchar 128...

MSSQL 建立自定義異常

建立時,必須先建立英文的,否則會報錯 必須新增此訊息的 us english 版本後,才能新增 簡體中文 版本。exec sp addmessage 50001,15,option wrong us english exec sp addmessage 50001,15,操作錯誤 簡體中文 在 加入...

MS SQL 異常處理的脆弱性

因專案需要,在儲存過程中做容錯處理,使資料操作異常時程式仍然可以繼續執行,所以在思考這個問題,經測試後才發現的異常處理真的很弱。所以把錯誤處理完全交給儲存過程是不可能的,還是要配合呼叫程式的錯誤處理功能才能完成.sql2005中新增try catch 也是如此,出現嚴重錯誤時一樣無法捕獲。以下是引用...