sys.columns (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan baris untuk setiap kolom objek yang memiliki kolom, seperti tampilan atau tabel. Berikut ini adalah daftar jenis objek yang memiliki kolom:

  • Fungsi rakitan bernilai tabel (FT)

  • Fungsi SQL bernilai tabel sebaris (IF)

  • Tabel internal (IT)

  • Tabel sistem (S)

  • Fungsi SQL bernilai tabel (TF)

  • Tabel pengguna (U)

  • Tampilan (V)

Nama kolom Jenis data Deskripsi
object_id int ID objek tempat kolom ini berada.
nama nama sysname Nama kolom. Unik dalam objek .
column_id int ID kolom. Unik dalam objek .

ID kolom mungkin tidak berurutan.
system_type_id tinyint ID jenis sistem kolom.
user_type_id int ID jenis kolom seperti yang ditentukan oleh pengguna.

Untuk mengembalikan nama jenis, gabungkan ke tampilan katalog sys.types pada kolom ini.
max_length smallint Panjang maksimum (dalam byte) kolom.

-1 = Jenis data kolom adalah varchar(max), nvarchar(max), varbinary(max), atau xml.

Untuk kolom teks, ntext, dan gambar , nilai max_length akan menjadi 16 (mewakili pointer 16-byte saja) atau nilai yang ditetapkan oleh sp_tableoption 'teks dalam baris'.
presisi tinyint Presisi kolom jika berbasis numerik; jika tidak, 0.
Skala tinyint Skala kolom jika berbasis numerik; jika tidak, 0.
collation_name nama sysname Nama kolabasi kolom jika berbasis karakter; jika tidak NULL.
is_nullable bit 1 = Kolom dapat diubah ke null.
is_ansi_padded bit 1 = Kolom menggunakan ANSI_PADDING perilaku ON jika karakter, biner, atau varian.

0 = Kolom bukan karakter, biner, atau varian.
is_rowguidcol bit 1 = Kolom adalah ROWGUIDCOL yang dideklarasikan.
is_identity bit 1 = Kolom memiliki nilai identitas
is_computed bit 1 = Kolom adalah kolom komputasi.
is_filestream bit 1 = Kolom adalah kolom FILESTREAM.
is_replicated bit 1 = Kolom direplikasi.
is_non_sql_subscribed bit 1 = Kolom memiliki pelanggan non-SQL Server.
is_merge_published bit 1 = Kolom digabungkan-diterbitkan.
is_dts_replicated bit 1 = Kolom direplikasi dengan menggunakan SSIS.
is_xml_document bit 1 = Konten adalah dokumen XML lengkap.

0 = Konten adalah fragmen dokumen atau tipe data kolom bukan xml.
xml_collection_id int Bukan nol jika tipe data kolom adalah xml dan XML dititik. Nilai akan menjadi ID koleksi yang berisi namespace layanan skema XML validasi kolom.

0 = Tidak ada koleksi skema XML.
default_object_id int ID objek default, terlepas dari apakah itu objek yang berdiri sendiri sys.sp_bindefault, atau batasan DEFAULT tingkat kolom sebaris. Kolom parent_object_id objek default tingkat kolom sebaris adalah referensi kembali ke tabel itu sendiri.

0 = Tidak ada default.
rule_object_id int ID aturan mandiri yang terikat ke kolom dengan menggunakan sys.sp_bindrule.

0 = Tidak ada aturan yang berdiri sendiri. Untuk batasan CHECK tingkat kolom, lihat sys.check_constraints (Transact-SQL).
is_sparse bit 1 = Kolom adalah kolom jarang. Untuk informasi selengkapnya, lihat Menggunakan Kolom Jarang.
is_column_set bit 1 = Kolom adalah kumpulan kolom. Untuk informasi selengkapnya, lihat Menggunakan Kolom Jarang.
generated_always_type tinyint Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database. 5, 6, 7, 8 hanya berlaku untuk SQL Database.

Mengidentifikasi kapan nilai kolom dihasilkan (akan selalu 0 untuk kolom dalam tabel sistem):

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
5 = AS_TRANSACTION_ID_START
6 = AS_TRANSACTION_ID_END
7 = AS_SEQUENCE_NUMBER_START
8 = AS_SEQUENCE_NUMBER_END

Untuk informasi selengkapnya, lihat Tabel Temporal (Database relasional).
generated_always_type_desc nvarchar(60) Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

Deskripsi tekstual nilai generated_always_type(selalu NOT_APPLICABLE untuk kolom dalam tabel sistem)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Berlaku untuk: Dimulai dengan SQL Server 2022, SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
encryption_type int Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

Jenis enkripsi:

1 = Enkripsi deterministik

2 = Enkripsi acak
encryption_type_desc nvarchar(64) Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

Deskripsi jenis enkripsi:

ACAK

DETERMINISTIK
encryption_algorithm_name nama sysname Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

Nama algoritma enkripsi.

Hanya AEAD_AES_256_CBC_HMAC_SHA_512 yang didukung.
column_encryption_key_id int Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

ID of the CEK.
column_encryption_key_database_name nama sysname Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.

Nama database tempat kunci enkripsi kolom ada jika berbeda dari database kolom. NULL jika kunci ada dalam database yang sama dengan kolom .
is_hidden bit Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru, SQL Database.

Menunjukkan apakah kolom disembunyikan:

0 = kolom reguler, tidak tersembunyi, terlihat

1 = kolom tersembunyi
is_masked bit Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru, SQL Database.

Menunjukkan apakah kolom diselubungi oleh masking data dinamis:

0 = kolom reguler, tidak bertopeng

1 = kolom ditutupi
graph_type int Kolom internal dengan sekumpulan nilai. Nilainya antara 1-8 untuk kolom grafik dan NULL untuk yang lain.
graph_type_desc nvarchar(60) kolom internal dengan sekumpulan nilai
is_data_deletion_filter_column bit Berlaku untuk: Azure SQL Edge. Menunjukkan apakah kolom adalah kolom filter retensi data untuk tabel.
ledger_view_column_type tinyint Berlaku untuk: Dimulai dengan SQL Server 2022, SQL Database.

Jika bukan NULL, menunjukkan jenis kolom dalam tampilan ledger:

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

Untuk informasi selengkapnya tentang ledger database, lihat Ledger.
ledger_view_column_type_desc nvarchar(60) Berlaku untuk: Dimulai dengan SQL Server 2022, SQL Database.

Jika bukan NULL, berisi deskripsi tekstual dari jenis kolom dalam tampilan ledger:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC
is_dropped_ledger_table_column bit Berlaku untuk: Dimulai dengan SQL Server 2022, SQL Database.

Menunjukkan kolom tabel ledger yang telah dihilangkan.

Izin

Visibilitas metadata dalam tampilan katalog terbatas pada securable yang dimiliki pengguna atau di mana pengguna telah diberi beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Lihat juga

Tampilan Sistem (Transact-SQL)
Tampilan Katalog Objek (Transact-SQL)
Tampilan Katalog (Transact-SQL)
Mengkueri FAQ Katalog Sistem SQL Server
sys.all_columns (T-SQL)
sys.system_columns (T-SQL)