Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Mengembalikan satu baris untuk setiap objek yang merupakan tabel internal. Tabel internal secara otomatis dihasilkan oleh SQL Server untuk mendukung berbagai fitur. Misalnya, saat Anda membuat indeks XML utama, SQL Server secara otomatis membuat tabel internal untuk mempertahankan data dokumen XML yang dihancurkan. Tabel internal muncul dalam sys skema setiap database dan memiliki nama unik yang dihasilkan sistem yang menunjukkan fungsinya, misalnya, xml_index_nodes_2021582240_32001 atau queue_messages_1977058079.
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
Kolom yang diwarisi dari sys.objects |
Untuk daftar kolom yang diwarisi tampilan ini, lihat sys.objects. | |
internal_type |
kecil | Jenis tabel internal: 3 = QUERY_DISK_STORE_QUERY_HINTS4 = QUERY_DISK_STORE_QUERY_TEMPLATE_PARAMETERIZATION6 = QUERY_DISK_STORE_WAIT_STATS201 = QUEUE_MESSAGES202 = XML_INDEX_NODES203 = FULLTEXT_CATALOG_FREELIST204 = FULLTEXT_INDEX_MAP205 = QUERY_NOTIFICATION206 = SERVICE_BROKER_MAP207 = EXTENDED_INDEXES (seperti indeks spasial)208 = FILESTREAM_TOMBSTONE209 = CHANGE_TRACKING210 = TRACKED_COMMITTED_TRANSACTIONS220 = CONTAINED_FEATURES225 = FILETABLE_UPDATES236 = SELECTIVE_XML_INDEX_NODE_TABLE240 = QUERY_DISK_STORE_QUERY_TEXT241 = QUERY_DISK_STORE_QUERY242 = QUERY_DISK_STORE_PLAN243 = QUERY_DISK_STORE_RUNTIME_STATS244 = QUERY_DISK_STORE_RUNTIME_STATS_INTERVAL245 = QUERY_CONTEXT_SETTINGS |
internal_type_desc |
nvarchar(60) | Deskripsi jenis tabel internal:QUERY_DISK_STORE_QUERY_HINTSQUERY_DISK_STORE_QUERY_TEMPLATE_PARAMETERIZATIONQUERY_DISK_STORE_WAIT_STATSQUEUE_MESSAGESXML_INDEX_NODESFULLTEXT_CATALOG_FREELISTFULLTEXT_INDEX_MAPQUERY_NOTIFICATIONSERVICE_BROKER_MAPEXTENDED_INDEXESFILESTREAM_TOMBSTONECHANGE_TRACKINGTRACKED_COMMITTED_TRANSACTIONSCONTAINED_FEATURESFILETABLE_UPDATESSELECTIVE_XML_INDEX_NODE_TABLEQUERY_DISK_STORE_QUERY_TEXTQUERY_DISK_STORE_QUERYQUERY_DISK_STORE_PLANQUERY_DISK_STORE_RUNTIME_STATSQUERY_DISK_STORE_RUNTIME_STATS_INTERVALQUERY_CONTEXT_SETTINGS |
parent_id |
Int | ID induk, terlepas dari apakah itu cakupan skema atau tidak. Jika tidak, 0 jika tidak ada orang tua.queue_messages
=
object_id antreanxml_index_nodes
=
object_id indeks XMLfulltext_catalog_freelist
=
fulltext_catalog_id katalog teks lengkapfulltext_index_map
=
object_id indeks teks lengkapquery_notificationatau service_broker_map = 0extended_indexes
=
object_id indeks yang diperluas, seperti indeks spasialobject_id tabel tempat pelacakan tabel diaktifkan = change_tracking |
parent_minor_id |
Int | ID kecil induk.xml_index_nodes
=
index_id indeks XMLextended_indexes
=
index_id indeks yang diperluas, seperti indeks spasial0
=
queue_messages, , fulltext_catalog_freelistfulltext_index_map, query_notification, service_broker_map, , atauchange_tracking |
lob_data_space_id |
Int | Nilai bukan nol adalah ID ruang data (grup file atau partisi-skema) yang menyimpan data objek besar (LOB) untuk tabel ini. |
filestream_data_space_id |
Int | Disiapkan untuk penggunaan masa mendatang. |
Tabel internal tidak berisi data yang dapat diakses pengguna, dan skemanya diperbaiki dan tidak dapat diubah. Anda tidak dapat mereferensikan nama tabel internal dalam pernyataan Transact-SQL. Misalnya, Anda tidak dapat menjalankan pernyataan seperti SELECT * FROM <sys.internal_table_name>. Namun, Anda dapat mengkueri tampilan katalog untuk melihat metadata tabel internal.
Izin
Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Keterangan
Tabel internal ditempatkan pada grup file yang sama dengan entitas induk. Anda dapat menggunakan kueri katalog yang diperlihatkan dalam Contoh F untuk mengembalikan jumlah tabel internal halaman yang digunakan untuk data dalam baris, di luar baris, dan objek besar (LOB).
Anda dapat menggunakan prosedur sistem sp_spaceused untuk mengembalikan data penggunaan ruang untuk tabel internal.
sp_spaceused melaporkan ruang tabel internal dengan cara berikut:
Ketika nama antrean ditentukan, tabel internal yang mendasar yang terkait dengan antrean direferensikan dan konsumsi penyimpanannya dilaporkan.
Halaman yang digunakan oleh tabel internal indeks XML, indeks spasial, dan indeks teks lengkap disertakan dalam
index_sizekolom. Saat tabel atau nama tampilan terindeks ditentukan, halaman untuk indeks XML, indeks spasialreserved, dan indeks teks lengkap untuk objek tersebut disertakan dalam kolom danindex_size.
Contoh
Contoh berikut menunjukkan cara mengkueri metadata tabel internal dengan menggunakan tampilan katalog.
J. Perlihatkan tabel internal yang mewarisi kolom dari tampilan katalog sys.objects
SELECT * FROM sys.objects WHERE type = 'IT';
B. Mengembalikan semua metadata tabel internal (termasuk yang diwarisi dari sys.objects)
SELECT * FROM sys.internal_tables;
C. Mengembalikan kolom tabel internal dan tipe data kolom
SELECT SCHEMA_NAME(itab.schema_id) AS schema_name,
itab.name AS internal_table_name,
typ.name AS column_data_type,
col.*
FROM sys.internal_tables AS itab
INNER JOIN sys.columns AS col
ON itab.object_id = col.object_id
INNER JOIN sys.types AS typ
ON typ.user_type_id = col.user_type_id
ORDER BY itab.name, col.column_id;
D. Mengembalikan indeks tabel internal
SELECT SCHEMA_NAME(itab.schema_id) AS schema_name,
itab.name AS internal_table_name,
idx.*
FROM sys.internal_tables AS itab
INNER JOIN sys.indexes AS idx
ON itab.object_id = idx.object_id
ORDER BY itab.name, idx.index_id;
E. Mengembalikan statistik tabel internal
SELECT SCHEMA_NAME(itab.schema_id) AS schema_name,
itab.name AS internal_table_name,
s.*
FROM sys.internal_tables AS itab
INNER JOIN sys.stats AS s
ON itab.object_id = s.object_id
ORDER BY itab.name, s.stats_id;
F. Mengembalikan informasi partisi tabel internal dan unit alokasi
SELECT SCHEMA_NAME(itab.schema_id) AS schema_name,
itab.name AS internal_table_name,
idx.name AS heap_or_index_name,
p.*,
au.*
FROM sys.internal_tables AS itab
INNER JOIN sys.indexes AS idx
-- JOIN to the heap or the clustered index
ON itab.object_id = idx.object_id
AND idx.index_id IN (0, 1)
INNER JOIN sys.partitions AS p
ON p.object_id = idx.object_id
AND p.index_id = idx.index_id
INNER JOIN sys.allocation_units AS au
-- IN_ROW_DATA (type 1) and ROW_OVERFLOW_DATA (type 3) => JOIN to partition's Hobt
-- else LOB_DATA (type 2) => JOIN to the partition ID itself.
ON au.container_id = CASE au.type WHEN 2 THEN p.partition_id ELSE p.hobt_id END
ORDER BY itab.name, idx.index_id;
G. Mengembalikan metadata tabel internal untuk indeks XML
SELECT t.name AS parent_table,
t.object_id AS parent_table_id,
it.name AS internal_table_name,
it.object_id AS internal_table_id,
xi.name AS primary_XML_index_name,
xi.index_id AS primary_XML_index_id
FROM sys.internal_tables AS it
INNER JOIN sys.tables AS t
ON it.parent_id = t.object_id
INNER JOIN sys.xml_indexes AS xi
ON it.parent_id = xi.object_id
AND it.parent_minor_id = xi.index_id
WHERE it.internal_type_desc = 'XML_INDEX_NODES';
GO
H. Mengembalikan metadata tabel internal untuk antrean Service Broker
SELECT q.name AS queue_name,
q.object_id AS queue_id,
it.name AS internal_table_name,
it.object_id AS internal_table_id
FROM sys.internal_tables AS it
INNER JOIN sys.service_queues AS q
ON it.parent_id = q.object_id
WHERE it.internal_type_desc = 'QUEUE_MESSAGES';
GO
1. Mengembalikan metadata tabel internal untuk semua layanan Service Broker
SELECT * FROM tempdb.sys.internal_tables
WHERE internal_type_desc = 'SERVICE_BROKER_MAP';
GO