Ich versuche zu verstehen, wie Seiten in SQL Server erstellt werden. Ich habe sehr einfaches Beispiel:Anzahl der physischen Seiten in SQL Server
-- 0 pages
CREATE TABLE TMP_1(
id int)
-- 2 pages
INSERT INTO TMP_1
VALUES(1)
-- 3 pages
SELECT *
INTO TMP_2
FROM TMP_1
Auf dem erste Tabelle tmp_1 hat keine Seiten, die eher intuitiv ist, weil es keine Daten gibt. Nachdem eine Zeile eingefügt wurde, gibt es zwei Seiten. Natürlich speichert man Daten, aber was ist der zweite?
Tabelle TMP_2 sollte identisch mit TMP_1 sein, aber es hat 3 Seiten, warum?
Ich überprüfe Anzahl der Seiten mit folgenden Code:
SELECT
t.NAME AS TableName,
p.rows AS RowCounts,
SUM(a.total_pages) AS TotalPages,
SUM(a.used_pages) AS UsedPages,
(SUM(a.total_pages) - SUM(a.used_pages)) AS UnusedPages
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
AND t.name LIKE 'TMP%'
GROUP BY
t.Name, p.Rows
ORDER BY
t.Name
Aber ich konnte nicht replizieren ..Ich habe dasselbe Ergebnis für "TMP_1" und "TMP_2" –
Ist es möglich, dass es auf Einstellungen in SQL Server abhängt? –
Dies ist Version os SQL SERVER, die ich verwende: Microsoft SQL Server 2008 R2 (SP2) - 10.50.4297.0 (X 64) 22. November 2013 17.24.14 Copyright (c) Microsoft Corporation Enterprise Edition (64-Bit) auf Windows NT 6.1 (Build 7600:) –