Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Retourneert één rij voor elk object dat een interne tabel is. Interne tabellen worden automatisch gegenereerd door SQL Server ter ondersteuning van verschillende functies. Wanneer u bijvoorbeeld een primaire XML-index maakt, maakt SQL Server automatisch een interne tabel om de versnipperde XML-documentgegevens te behouden. Interne tabellen worden weergegeven in het sys schema van elke database en hebben unieke, door het systeem gegenereerde namen die hun functie aangeven, bijvoorbeeld xml_index_nodes_2021582240_32001 of queue_messages_1977058079.
| Kolomnaam | Gegevenstype | Beschrijving |
|---|---|---|
Kolommen overgenomen van sys.objects |
Zie sys.objects voor een lijst met kolommen die door deze weergave worden overgenomen. | |
internal_type |
tinyint | Type van de interne tabel: 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 (zoals een ruimtelijke index)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) | Beschrijving van het type interne tabel: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 van het bovenliggende item, ongeacht of het een schemabereik heeft of niet. Anders, 0 als er geen ouder is.queue_messages
=
object_id van wachtrijxml_index_nodes
=
object_id van de XML-indexfulltext_catalog_freelist
=
fulltext_catalog_id van de volledige tekstcatalogusfulltext_index_map
=
object_id van de volledige-tekstindexquery_notificationof service_broker_map = 0extended_indexes
=
object_id van een uitgebreide index, zoals een ruimtelijke indexobject_id van de tabel waarvoor het bijhouden van tabellen is ingeschakeld = change_tracking |
parent_minor_id |
Int | Secundaire id van het bovenliggende item.xml_index_nodes
=
index_id van de XML-indexextended_indexes
=
index_id van een uitgebreide index, zoals een ruimtelijke index0
=
queue_messages, , fulltext_catalog_freelistfulltext_index_map, , query_notification, of service_broker_mapchange_tracking |
lob_data_space_id |
Int | Niet-nulwaarde is de id van de gegevensruimte (bestandsgroep of partitieschema) die de grote objectgegevens (LOB) voor deze tabel bevat. |
filestream_data_space_id |
Int | Gereserveerd voor toekomstig gebruik. |
Interne tabellen bevatten geen gegevens die toegankelijk zijn voor gebruikers en hun schema zijn vast en onveranderbaar. U kunt niet verwijzen naar interne tabelnamen in Transact-SQL instructies. U kunt bijvoorbeeld geen instructie uitvoeren, zoals SELECT * FROM <sys.internal_table_name>. U kunt echter query's uitvoeren op catalogusweergaven om de metagegevens van interne tabellen te bekijken.
Machtigingen
De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.
Opmerkingen
Interne tabellen worden op dezelfde bestandsgroep als de bovenliggende entiteit geplaatst. U kunt de catalogusquery in voorbeeld F gebruiken om het aantal pagina's te retourneren dat interne tabellen verbruiken voor gegevens in rij, out-of-row en large object (LOB).
U kunt de sp_spaceused systeemprocedure gebruiken om ruimtegebruiksgegevens voor interne tabellen te retourneren.
sp_spaceused rapporteert interne tabelruimte op de volgende manieren:
Wanneer een wachtrijnaam is opgegeven, wordt er verwezen naar de onderliggende interne tabel die aan de wachtrij is gekoppeld en wordt het opslagverbruik gerapporteerd.
Pagina's die worden gebruikt door de interne tabellen van XML-indexen, ruimtelijke indexen en volledige-tekstindexen, worden opgenomen in de
index_sizekolom. Wanneer een tabel- of geïndexeerde weergavenaam is opgegeven, worden de pagina's voor de XML-indexen, ruimtelijke indexen en volledige-tekstindexen voor dat object opgenomen in de kolommenreservedenindex_size.
Voorbeelden
In de volgende voorbeelden ziet u hoe u query's kunt uitvoeren op interne tabelmetagegevens met behulp van catalogusweergaven.
Eén. Interne tabellen weergeven die kolommen overnemen uit de catalogusweergave sys.objects
SELECT * FROM sys.objects WHERE type = 'IT';
B. Alle interne tabelmetagegevens retourneren (inclusief de metagegevens die worden overgenomen van sys.objects)
SELECT * FROM sys.internal_tables;
C. Interne tabelkolommen en kolomgegevenstypen retourneren
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. Interne tabelindexen retourneren
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. Interne tabelstatistieken retourneren
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. Informatie over interne tabelpartitie en toewijzingseenheid retourneren
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. Interne tabelmetagegevens voor XML-indexen retourneren
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. Interne tabelmetagegevens retourneren voor Service Broker-wachtrijen
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
Ik. Interne tabelmetagegevens retourneren voor alle Service Broker-services
SELECT * FROM tempdb.sys.internal_tables
WHERE internal_type_desc = 'SERVICE_BROKER_MAP';
GO