sys.tables (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Mengembalikan baris untuk setiap tabel pengguna dalam database SQL Server.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
<inherited columns> |
Untuk daftar kolom yang diwarisi tampilan ini, lihat sys.objects (Transact-SQL). | |
lob_data_space_id |
int | Nilai bukan nol adalah ID ruang data (grup file atau skema partisi) yang menyimpan data biner objek besar (LOB) untuk tabel ini. Contoh jenis data LOB termasuk varbinary(max), varchar(max), geografi, atau xml. 0 = Tabel tidak memiliki data LOB. |
filestream_data_space_id |
int | ID ruang data untuk grup file FILESTREAM atau skema partisi yang terdiri dari grup file FILESTREAM. Untuk melaporkan nama grup file FILESTREAM, jalankan kueri SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables .sys.tables dapat digabungkan ke tampilan berikut di 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 (bergabung pada filegroup_id ) |
max_column_id_used |
int | ID kolom maksimum yang pernah digunakan oleh tabel ini. |
lock_on_bulk_load |
bit | Tabel dikunci pada beban massal. Untuk informasi selengkapnya, lihat sp_tableoption (Transact-SQL). |
uses_ansi_nulls |
bit | Tabel dibuat dengan SET ANSI_NULLS opsi ON database . |
is_replicated |
bit | 1 = Tabel diterbitkan menggunakan replikasi rekam jepret atau replikasi transaksional. |
has_replication_filter |
bit | 1 = Tabel memiliki filter replikasi. |
is_merge_published |
bit | 1 = Tabel diterbitkan menggunakan replikasi penggabungan. |
is_sync_tran_subscribed |
bit | 1 = Tabel berlangganan menggunakan langganan pembaruan segera. |
has_unchecked_assembly_data |
bit | 1 = Tabel berisi data persisten yang bergantung pada rakitan yang definisinya berubah selama ALTER ASSEMBLY . Akan diatur ulang ke 0 setelah berhasil DBCC CHECKDB berikutnya atau DBCC CHECKTABLE . |
text_in_row_limit |
int | Byte maksimum yang diizinkan untuk teks dalam baris. 0 = Opsi teks dalam baris tidak diatur. Untuk informasi selengkapnya, lihat sp_tableoption (Transact-SQL). |
large_value_types_out_of_row |
bit | 1 = Jenis nilai besar disimpan di luar baris. Untuk informasi selengkapnya, lihat sp_tableoption (Transact-SQL). |
is_tracked_by_cdc |
bit | 1 = Tabel diaktifkan untuk mengubah pengambilan data. Untuk informasi selengkapnya, lihat sys.sp_cdc_enable_table (Transact-SQL). |
lock_escalation |
kecil | Nilai LOCK_ESCALATION opsi untuk tabel:0 = TABLE 1 = DISABLE 2 = AUTO |
lock_escalation_desc |
nvarchar(60) | Deskripsi teks opsi lock_escalation untuk tabel. Nilai yang mungkin adalah: TABLE , AUTO , dan DISABLE . |
is_filetable |
bit | 1 = Tabel adalah FileTable. Untuk informasi selengkapnya tentang FileTables, lihat FileTables (SQL Server). Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru, dan Azure SQL Database |
is_memory_optimized |
bit | Berikut ini adalah nilai yang mungkin: 0 = bukan memori yang dioptimalkan. 1 = memori dioptimalkan. Nilai 0 adalah nilai default. Tabel memori yang dioptimalkan adalah tabel pengguna dalam memori, skema yang dipertahankan pada disk yang mirip dengan tabel pengguna lain. Tabel memori yang dioptimalkan dapat diakses dari prosedur tersimpan yang dikompilasi secara asli. Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru, dan Azure SQL Database. |
durability |
kecil | Berikut ini adalah nilai yang mungkin: 0 = SCHEMA_AND_DATA 1 = SCHEMA_ONLY Nilai adalah 0 nilai default.Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru, dan Azure SQL Database |
durability_desc |
nvarchar(60) | Berikut ini adalah nilai yang mungkin:SCHEMA_ONLY SCHEMA_AND_DATA Nilai SCHEMA_AND_DATA menunjukkan bahwa tabel adalah tabel dalam memori yang tahan lama. SCHEMA_AND_DATA adalah nilai default untuk tabel memori yang dioptimalkan. Nilai SCHEMA_ONLY menunjukkan bahwa data tabel tidak bertahan saat menghidupkan ulang database dengan objek memori yang dioptimalkan.Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru, dan Azure SQL Database |
temporal_type |
kecil | Nilai numerik yang mewakili jenis tabel: 0 = NON_TEMPORAL_TABLE 1 = HISTORY_TABLE (terkait dengan tabel temporal)2 = SYSTEM_VERSIONED_TEMPORAL_TABLE Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database |
temporal_type_desc |
nvarchar(60) | Deskripsi teks jenis tabel:NON_TEMPORAL_TABLE HISTORY_TABLE SYSTEM_VERSIONED_TEMPORAL_TABLE Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database |
history_table_id |
int | Ketika temporal_type adalah 2 atau ledger_type , 2 mengembalikan object_id tabel yang mempertahankan data historis untuk tabel temporal, jika tidak, mengembalikan NULL .Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database |
is_remote_data_archive_enabled |
bit | Menunjukkan apakah tabel diaktifkan Stretch. 0 = Tabel tidak diaktifkan Stretch. 1 = Tabel diaktifkan Stretch. Untuk informasi selengkapnya, lihat Stretch Database. Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database |
is_external |
bit | Menunjukkan tabel adalah tabel eksternal. 0 = Tabel bukan tabel eksternal. 1 = Tabel adalah tabel eksternal. Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, Azure SQL Database, dan Azure Synapse Analytics |
history_retention_period |
int | Nilai numerik yang mewakili durasi periode retensi riwayat temporal dalam unit yang ditentukan dengan history_retention_period_unit .Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database |
history_retention_period_unit |
int | Nilai numerik yang mewakili jenis unit periode retensi riwayat temporal. -1: INFINITE 0: SECOND 1: MINUTE 2: HOUR 3: DAY 4: WEEK 5: MONTH 6: YEAR Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database |
history_retention_period_unit_desc |
nvarchar(10) | Deskripsi teks jenis unit periode retensi riwayat temporal.INFINITE SECOND MINUTE HOUR DAY WEEK MONTH YEAR Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database |
is_node |
bit | 1 = Tabel simpul grafik. 0 = Bukan tabel simpul grafik. Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database |
is_edge |
bit | 1 = Tabel tepi grafik. 0 = Bukan tabel tepi grafik. Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database |
data_retention_period |
int | Nilai numerik yang mewakili durasi periode retensi data dalam unit yang ditentukan dengan data_retention_period_unit .Berlaku untuk: Azure SQL Edge saja |
data_retention_period_unit |
int | Nilai numerik yang mewakili jenis unit periode retensi data. -1: INFINITE 0: SECOND 1: MINUTE 2: HOUR 3: DAY 4: WEEK 5: MONTH 6: YEAR Berlaku untuk: Azure SQL Edge saja |
data_retention_period_unit_desc |
nvarchar(10) | Deskripsi teks jenis unit periode retensi data.INFINITE SECOND MINUTE HOUR DAY WEEK MONTH YEAR Berlaku untuk: Azure SQL Edge saja |
ledger_type |
kecil | Nilai numerik menunjukkan apakah tabel adalah tabel ledger. 0 = NON_LEDGER_TABLE 1 = HISTORY_TABLE (terkait dengan tabel ledger yang dapat diperbarui)2 = UPDATABLE_LEDGER_TABLE 3 = APPEND_ONLY_LEDGER_TABLE Untuk informasi selengkapnya tentang ledger database, lihat Ledger. Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru, dan Azure SQL Database |
ledger_type_desc |
nvarchar(60) | Deskripsi teks nilai dalam ledger_type kolom:NON_LEDGER_TABLE HISTORY_TABLE UPDATABLE_LEDGER_TABLE APPEND_ONLY_LEDGER_TABLE Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru, dan Azure SQL Database |
ledger_view_id |
int | Saat ledger_type IN (2, 3) mengembalikan object_id tampilan ledger, jika tidak, mengembalikan NULL .Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru, dan Azure SQL Database |
is_dropped_ledger_table |
bit | Menunjukkan tabel ledger yang dihilangkan. Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru, dan Azure SQL Database |
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.
Contoh
J. Mengembalikan semua tabel pengguna tanpa kunci primer
Contoh berikut mengembalikan semua tabel pengguna yang tidak memiliki kunci utama.
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
B. Mencantumkan tabel terkait data temporal
Contoh berikut menunjukkan bagaimana data temporal terkait dapat diekspos.
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database.
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;
C. Mencantumkan informasi tentang retensi riwayat temporal
Contoh berikut menunjukkan bagaimana informasi tentang retensi riwayat temporal dapat diekspos.
Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru, dan Azure SQL Database.
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;