レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive by 小澤真之(Microsoft MVP for SQL Server)
1. SQL Server Data Page Structure
Deep Dive
Masayuki Ozawa (@Masayuki_Ozawa)
A26
2. 自己紹介
db tech showcase 20152
関東でフリーランスエンジニアとして SQL Server の
データベースエンジン機能を使用した案件を中心に従事
案件等で協力できることがありましたらお声掛けいただけると幸いです
「SQL Server 現状診断」による SQL Server 稼働状況の報告書作成
SQL Serverのオンサイト / オフサイトでの技術支援
コミュニティやブログで SQL Server の情報を発信
ブログ : SE の雑記 (http://blog.engineer-memo.com)
Microsoft MVP for SQL Server (July 2011 - June 2016)
2015/9/11
3. 本日の内容
2015/9/11db tech showcase 20153
SQL Server Data Page Structure Deep Dive
SQL Server のデータ格納領域についてのセッション
行ストア
*
を例としたデータ格納の概念と
実際の実装を照らし合わせて確認
* 列ストア/インメモリテーブルは格納方法が異なる
8. エクステントの基本構造
2015/9/11db tech showcase 20158
混合エクステント
最初は混合エクステント内に格納され、8 ページを超えるデータが格納された
場合は、以降のデータは単一エクステントとして格納される。
単一エクステント
一つのオブジェクトの情報のみが格納されたエクステント
-T 1118 は混合エクステントの利用を抑制するためのトレースフラグ
エクステント
テーブル A テーブル B テーブル C テーブル D
テーブル A テーブル B テーブル C テーブル D
エクステント
テーブル A テーブル A テーブル A テーブル A
テーブル A テーブル A テーブル A テーブル A
9. ページ / エクステントを確認する方法
2015/9/11db tech showcase 20159
DBCC PAGE
DBCC TRACEON (3604) を実行する必要がある
How to use DBCC PAGE
http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/10/625659.aspx
sys.dm_db_database_page_allocations
SQL Server 2012 で追加された以下の情報を取得できる DMV
DBCC IND
DBCC EXTENTINFO
Visualizing Index Fragmenation
http://blogs.msdn.com/b/timchapman/archive/2012/12/03/visualizing-index-fragmenation.aspx
SQL SERVER 2012 – sys.dm_db_database_page_allocations – dynamic management function
http://raresql.com/2013/01/24/sql-server-2012-sys-dm_db_database_page_allocations-dynamic-management-function/