sys.tables (Transact-SQL)
Si applica a: SQL Server (tutte le versioni supportate)
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Parallel Data Warehouse
Restituisce una riga per ogni tabella utente in SQL Server.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
<inherited columns> | Per un elenco delle colonne ereditate da questa vista, vedere sys.objects (Transact-SQL). | |
lob_data_space_id | int | Un valore diverso da zero corrisponde all'ID dello spazio dati (filegroup o schema di partizione) in cui sono inclusi dati LOB (large object binary) per la tabella. Esempi di tipi di dati LOB includono varbinary(max), varchar(max), geography o xml. 0 = nella tabella non sono presenti dati LOB. |
filestream_data_space_id | int | ID dello spazio dati per un filegroup FILESTREAM o schema di partizione costituito da filegroup FILESTREAM. Per segnalare il nome di un filegroup FILESTREAM, eseguire la query SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables .È possibile aggiungere sys.tables alle viste seguenti in filestream_data_space_id = data_space_id. - sys.filegroups - sys.partition_schemes - sys.indexes - sys.allocation_units - sys.fulltext_catalogs - sys.data_spaces - sys.destination_data_spaces - sys.master_files - sys.database_files - backupfilegroup (join in filegroup_id) |
max_column_id_used | int | ID di colonna massimo utilizzato dalla tabella. |
lock_on_bulk_load | bit | La tabella è bloccata durante il caricamento bulk. Per altre informazioni, vedere sp_tableoption (Transact-SQL). |
uses_ansi_nulls | bit | La tabella è stata creata con l'opzione di database SET ANSI_NULLS impostata su ON. |
is_replicated | bit | 1 = La tabella è stata pubblicata tramite una replica snapshot o una replica transazionale. |
has_replication_filter | bit | 1 = La tabella è associata a un filtro di replica. |
is_merge_published | bit | 1 = La tabella è stata pubblicata tramite una replica di tipo merge. |
is_sync_tran_subscribed | bit | 1 = La tabella è stata sottoscritta tramite una sottoscrizione ad aggiornamento immediato. |
has_unchecked_assembly_data | bit | 1 = La tabella contiene dati persistenti che dipendono da un assembly la cui definizione è stata modificata durante l'ultima esecuzione di ALTER ASSEMBLY. Verrà reimpostato su 0 dopo la successiva esecuzione di DBCC CHECKDB o DBCC CHECKTABLE con esito positivo. |
text_in_row_limit | int | Numero minimo di byte consentito per il testo nella riga. 0 = L'opzione Text in row non è impostata. Per altre informazioni, vedere sp_tableoption (Transact-SQL). |
large_value_types_out_of_row | bit | 1 = I tipi per valori di grandi dimensioni vengono archiviati esternamente alla riga. Per altre informazioni, vedere sp_tableoption (Transact-SQL). |
is_tracked_by_cdc | bit | 1 = Per la tabella è abilitata l'acquisizione dei dati delle modifiche. Per altre informazioni, vedere sys.sp_cdc_enable_table (Transact-SQL). |
lock_escalation | tinyint | Valore dell'opzione LOCK_ESCALATION per la tabella: 0 = TABLE 1 = DISABLE 2 = AUTO |
lock_escalation_desc | nvarchar(60) | Descrizione di testo dell'opzione lock_escalation per la tabella. I valori possibili sono TABLE, AUTO e DISABLE. |
is_filetable | bit | SI APPLICA A: SQL Server 2012 (11.x) e versioni successive e database SQL di Azure. 1 = la tabella è una tabella FileTable. Per altre informazioni sugli oggetti FileTable, vedere FileTables (SQL Server). |
durability | tinyint | SI APPLICA A: SQL Server 2014 (12.x) e versioni successive e database SQL di Azure. Di seguito sono indicati i valori possibili: 0 = SCHEMA_AND_DATA 1 = SCHEMA_ONLY Il valore predefinito è 0. |
durability_desc | nvarchar(60) | SI APPLICA A: SQL Server 2014 (12.x) e versioni successive e database SQL di Azure. Di seguito sono indicati i valori possibili: SCHEMA_ONLY SCHEMA_AND_DATA Il valore di SCHEMA_AND_DATA indica che la tabella è durevole e in memoria. SCHEMA_AND_DATA è il valore predefinito per le tabelle con ottimizzazione per la memoria. Il valore di SCHEMA_ONLY indica che i dati della tabella non verranno resi persistenti al riavvio del database con gli oggetti con ottimizzazione per la memoria. |
is_memory_optimized | bit | SI APPLICA A: SQL Server 2014 (12.x) e versioni successive e database SQL di Azure. Di seguito sono indicati i valori possibili: 0 = senza ottimizzazione per la memoria. 1 = con ottimizzazione per la memoria. Il valore predefinito è 0. Le tabelle con ottimizzazione per la memoria sono tabelle utente in memoria, il cui schema è persistente su disco in modo analogo ad altre tabelle utente. È possibile accedere alle tabelle con ottimizzazione per la memoria da stored procedure compilate in modo nativo. |
temporal_type | tinyint | SI APPLICA A: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure. Valore numerico che rappresenta il tipo di tabella: 0 = NON_TEMPORAL_TABLE 1 = HISTORY_TABLE (associato a una tabella temporale) 2 = SYSTEM_VERSIONED_TEMPORAL_TABLE |
temporal_type_desc | nvarchar(60) | SI APPLICA A: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure. Descrizione testuale del tipo di tabella: NON_TEMPORAL_TABLE HISTORY_TABLE SYSTEM_VERSIONED_TEMPORAL_TABLE |
history_table_id | int | SI APPLICA A: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure. Quando temporal_type = 2 o ledger_type = 2 restituisce object_id della tabella che gestisce i dati cronologici per una tabella temporale, in caso contrario restituisce NULL. |
is_remote_data_archive_enabled | bit | Si applica a: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure Indica se la tabella è abilitata per l'estensione. 0 = La tabella non è abilitata per l'estensione. 1 = La tabella è abilitata per l'estensione. Per ulteriori informazioni, vedere Stretch Database. |
is_external | bit | Si applica a: SQL Server 2016 (13.x) e versioni successive, database SQL di Azuree Azure Synapse Analytics. Indica che la tabella è una tabella esterna. 0 = La tabella non è una tabella esterna. 1 = La tabella è una tabella esterna. |
history_retention_period | int | Si applica a: database SQL di Azure. Valore numerico che rappresenta la durata del periodo di memorizzazione della cronologia temporale in unità specificate con history_retention_period_unit. |
history_retention_period_unit | int | Si applica a: database SQL di Azure. Valore numerico che rappresenta il tipo di unità del periodo di memorizzazione della cronologia temporale. -1: INFINITE 3: GIORNO 4: SETTIMANA 5: MONTH 6: YEAR |
history_retention_period_unit_desc | nvarchar(10) | Si applica a: database SQL di Azure. Descrizione testuale del tipo di unità del periodo di memorizzazione della cronologia temporale. INFINITE DAY WEEK MONTH YEAR |
is_node | bit | Si applica a: SQL Server 2017 (14.x) e database SQL di Azure. 1 = Tabella del nodo del grafo. 0 = Non si tratta di una tabella del nodo del grafo. |
is_edge | bit | Si applica a: database SQL di Azure. 1 = Tabella edge del grafo. 0 = Non si tratta di una tabella edge del grafo. |
ledger_type | tinyint | Si applica a: database SQL di Azure. Il valore numerico indica se la tabella è una tabella del libro mastro. 0 = NON_LEDGER_TABLE 1 = HISTORY_TABLE (associato a una tabella del libro mastro aggiornabile) 2 = UPDATABLE_LEDGER_TABLE 3 = APPEND_ONLY_LEDGER_TABLE Per altre informazioni sul libro mastro del database, database SQL di Azure libro mastro. |
ledger_type_desc | nvarchar(60) | Si applica a: database SQL di Azure. Descrizione testuale di un valore nella ledger_type seguente: NON_LEDGER_TABLE HISTORY_TABLE UPDATABLE_LEDGER_TABLE APPEND_ONLY_LEDGER_TABLE |
ledger_view_id | int | Si applica a: database SQL di Azure. Quando ledger_type IN (2,3) restituisce object_id della visualizzazione del libro mastro, in caso contrario restituisce NULL. |
is_dropped_ledger_table | bit | Si applica a: database SQL di Azure. Indica una tabella del libro mastro che è stata eliminata. |
Autorizzazioni
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.
Esempio
Nell'esempio seguente vengono restituite tutte le tabelle utente che non dispongono di una chiave primaria.
SELECT SCHEMA_NAME(schema_id) AS schema_name
,name AS table_name
FROM sys.tables
WHERE OBJECTPROPERTY(object_id,'TableHasPrimaryKey') = 0
ORDER BY schema_name, table_name;
GO
L'esempio seguente illustra come è possibile esporre i dati temporali correlati.
SI APPLICA A: SQL Server 2016 (13.x) e versioni successive e database SQL di Azure.
SELECT T1.object_id, T1.name as TemporalTableName, SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T2.name as HistoryTableName, SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema,
T1.temporal_type_desc
FROM sys.tables T1
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id
ORDER BY T1.temporal_type desc
L'esempio seguente illustra come è possibile esporre le informazioni sulla conservazione della cronologia temporale.
Si applica a: database SQL di Azure.
SELECT DB.is_temporal_history_retention_enabled, SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T1.name as TemporalTableName, SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema, T2.name as HistoryTableName,
T1.history_retention_period, T1.history_retention_period_unit_desc
FROM sys.tables T1
OUTER APPLY (select is_temporal_history_retention_enabled from sys.databases where name = DB_NAME()) DB
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id WHERE T1.temporal_type = 2
Vedere anche
Viste del catalogo dell'oggetto (Transact-SQL)
Viste del catalogo (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
Domande frequenti sull'SQL Server di sistema
OLTP in memoria (ottimizzazione per la memoria)