#author("2021-10-06T01:34:08+00:00","default:admin","admin")
#author("2021-10-06T01:37:47+00:00","default:admin","admin")
-[[SQL Server を再起動しないで使用中のメモリを解放する方法:https://www.projectgroup.info/tips/SQLServer/MSSQL_00000018.html]]
-[[簡易的SQL Serverの使用済みメモリ解放手順:http://blog.livedoor.jp/toaru_se/archives/28515706.html]]

-[[SQL Server でメモリが不足するとどのようなことが起きる – データキャッシュ –:https://blog.engineer-memo.com/2013/01/15/sql-server-%E3%81%A7%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%8C%E4%B8%8D%E8%B6%B3%E3%81%99%E3%82%8B%E3%81%A8%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%81%93%E3%81%A8%E3%81%8C%E8%B5%B7%E3%81%8D%E3%82%8B/]]

-[[パフォーマンスを満たす物理メモリ量を算出する:http://www.atmarkit.co.jp/ait/articles/0604/11/news108.html]]

-[[SQL Serverのパフォーマンスを 最適化するための10のヒント - Dell:https://i.dell.com/sites/doccontent/shared-content/data-sheets/ja/Documents/top_10_tips_for_optimizing-final_jp.pdf]]

-[[SQL Serverのメモリ関連について調べる(1):http://linuxcommand2007.seesaa.net/article/459283808.html]]

*注意点 [#ia8d52a2]
-defaultは上限なし(2147483647 MB)

-SQL Serverは最大サーバメモリを絞ってないと、あっとゆうまに実メモリを食いつぶしてしまう
-何にメモリを使っているかというと主にDBのキャッシュとして使われている模様
-基本的に開放されることは無く、空きメモリがほとんど無い状態となってしまう

*必要メモリ量 [#r0ef1f44]
-[[Server Memory Configuration Options:https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver15]]
-[[必要なメモリを見積もる:https://docs.microsoft.com/ja-jp/sharepoint/administration/storage-and-sql-server-capacity-planning-and-configuration#Section4]]

*メモリ使用状況の確認 [#ab882d3f]
-[[メモリ使用量の監視:https://docs.microsoft.com/ja-jp/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver15]]
-[[SQL Server のメモリの状態を簡単に確認してみる:https://ryuchan.hatenablog.com/entry/2015/09/01/020340]]

-sys.dm_os_sys_info使用
 SELECT
     [総物理メモリサイズ(Kbyte) ] = osm.total_physical_memory_kb,
     [使用できる物理メモリサイズ(Kbyte) ] = osm.available_physical_memory_kb,
     [SQL Server がコミット済みにしてるメモリサイズ(Kbyte)] = osi.committed_kb,
     [SQL Server が使用可能だと思っているメモリサイズ(Kbyte)] = osi.committed_target_kb,
     [SQL Server が使用可能だと思っているメモリサイズ(Kbyte, committed_target_kbと同じ)] = osi.visible_target_kb,
     [メモリまだ余裕状態] = osm.system_high_memory_signal_state,
     [メモリもう余裕ない状態] = osm.system_low_memory_signal_state,
     [メモリの状態の説明] = osm.system_memory_state_desc
 FROM
     sys.dm_os_sys_info osi CROSS APPLY sys.dm_os_sys_memory osm

-sys.db_os_memory_clerks使用
 select top 10 type, sum(pages_kb) as [メモリクラークに割り当てられたメモリサイズ(KB)]
 from sys.dm_os_memory_clerks
 group by type
 order by sum(pages_kb) desc

-DBCC使用
 dbcc memorystatus


*使用メモリの上限設定 [#nf5b072e]
-[[SQL Server の使用メモリの上限を設定する:https://www.projectgroup.info/tips/SQLServer/MSSQL_00000017.html]]

*ページキャッシュ [#n5fd8d69]
-[[[MSSQL][チューニング]データベースバッファキャッシュ:http://d.hatena.ne.jp/haradago/20121126/p1]]

**キャッシュのクリア [#r209106b]
-[[DBCC DROPCLEANBUFFERS (Transact-SQL):https://docs.microsoft.com/ja-jp/sql/t-sql/database-console-commands/dbcc-dropcleanbuffers-transact-sql?view=sql-server-2017]]
 DBCC DROPCLEANBUFFERS

*DBCC MEMORYSTATUS [#o8f30b1a]
-[[DBCC MEMORYSTATUS コマンドを使用して SQL Server のメモリ使用量を監視する:https://docs.microsoft.com/ja-jp/troubleshoot/sql/performance/dbcc-memorystatus-monitor-memory-usage]]
-[[DBCC MEMORYSTATUS の結果を見ていてふと思い出したことがあったので記事書いてみた:https://ryuchan.hatenablog.com/entry/2017/06/05/082447]]

**Process/System Counts [#vc0424b4]

**Memory Manager [#h2642e5e]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS