Skip to content

Commit

Permalink
no message
Browse files Browse the repository at this point in the history
  • Loading branch information
MasayukiOzawa committed Mar 18, 2017
1 parent 498810b commit 2fdef49
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
-- w削除済みバッファ / ビットマップの情報取得
SELECT
OBJECT_NAME(ip.object_id) object_name,
i.name,
ip.partition_number,
ip.internal_object_type_desc,
ip.row_group_id,
ip.rows,
ip.data_compression_desc,
au.type_desc,
au.data_space_id,
au.total_pages,
au.used_pages,
au.data_pages
FROM
sys.internal_partitions ip
LEFT JOIN
sys.indexes i
ON
i.object_id = ip.object_id
AND
i.index_id = ip.index_id
LEFT JOIN
sys.allocation_units au
ON
ip.hobt_id = au.container_id
WHERE
rows > 0
ORDER BY
OBJECT_NAME(ip.object_id),
ip.partition_number

-- DMV から割り当てページを確認
SELECT
DB_NAME(pa.database_id) AS database_name,
OBJECT_NAME(pa.object_id) AS object_name,
i.name,
p.internal_object_type_desc,
p.rows,
p.data_compression_desc,
pa.partition_id,
pa.allocated_page_file_id,
pa.extent_page_id,
pa.allocated_page_page_id,
pa.allocation_unit_type_desc,
pa.page_free_space_percent,
pa.is_page_compressed,
pa.allocated_page_iam_page_id,
pa.rowset_id,
pa.allocation_unit_id,
pa.is_iam_page,
pa.is_mixed_page_allocation,
pa.next_page_file_id,
pa.next_page_page_id,
pa.previous_page_file_id,
pa.previous_page_page_id

FROM
sys.internal_partitions p
LEFT JOIN
sys.dm_db_database_page_allocations(
DB_ID(),
OBJECT_ID('T1'),
NULL, -- index_id
NULL, -- partition_id
'DETAILED' -- 'LIMITED'
) pa
ON
pa.object_id = p.object_id
AND
pa.rowset_id = p.hobt_id
INNER JOIN
sys.indexes i
ON
i.object_id = pa.object_id
AND
i.index_id = pa.index_id

-- ページ情報
DBCC TRACEON(3604)
DBCC PAGE(N'tpch', 1, 66408, 3) WITH TABLERESULTS


-- ALTER INDEX ALL ON T1 REORGANIZE
-- DELETE TOP (1) FROM T1

47 changes: 45 additions & 2 deletions Page/ページ情報の確認.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SET NOCOUNT ON
SET NOCOUNT ON
GO
-- テスト用のテーブル作成
DROP TABLE IF EXISTS T1
Expand Down Expand Up @@ -54,6 +54,7 @@ GO
CHECKPOINT
GO

/********************************************************************************************************/
-- データからページ番号を取得する
-- ページ番号が正しくない場合、sys.dm_os_buffer_descriptors から情報を取得する
DBCC DROPCLEANBUFFERS
Expand All @@ -62,9 +63,11 @@ GO
SELECT * FROM T1 CROSS APPLY sys.fn_PhysLocCracker(%%physloc%%) WHERE C1 BETWEEN 1 AND 200000
SELECT * FROM T2 CROSS APPLY sys.fn_PhysLocCracker(%%physloc%%) WHERE C1 BETWEEN 1 AND 200000
GO
/********************************************************************************************************/


-- fn_PhysLocCracker から正しいページ番号を取得できなかった場合、キャッシュの情報から取得する
/********************************************************************************************************/
-- fn_PhysLocCracker から正しいページ番号を取得できなかった場合、キャッシュの情報から取得することも可能
SELECT
db_name(database_id) AS Database_name,
OBJECT_NAME(p.object_id) AS object_name,
Expand Down Expand Up @@ -110,8 +113,48 @@ ORDER BY
page_id,
page_level
GO
/********************************************************************************************************/


/********************************************************************************************************/
-- DMV から割り当てページを確認
SELECT
DB_NAME(pa.database_id) AS database_name,
OBJECT_NAME(pa.object_id) AS object_name,
i.name,
pa.partition_id,
pa.allocated_page_file_id,
pa.extent_page_id,
pa.allocated_page_page_id,
pa.allocation_unit_type_desc,
pa.page_free_space_percent,
pa.is_page_compressed,
pa.allocated_page_iam_page_id,
pa.rowset_id,
pa.allocation_unit_id,
pa.is_iam_page,
pa.is_mixed_page_allocation,
pa.next_page_file_id,
pa.next_page_page_id,
pa.previous_page_file_id,
pa.previous_page_page_id

FROM
sys.dm_db_database_page_allocations(
DB_ID(),
OBJECT_ID('T1'),
NULL, -- index_id
NULL, -- partition_id
'DETAILED' -- 'LIMITED'
) pa
INNER JOIN
sys.indexes i
ON
i.object_id = pa.object_id
AND
i.index_id = pa.index_id
/********************************************************************************************************/

-- ページの実情報の確認
DBCC TRACEON(3604)
DBCC PAGE(N'TESTDB', 1, 360, 3) WITH TABLERESULTS
Expand Down

0 comments on commit 2fdef49

Please sign in to comment.