Megosztás a következőn keresztül:


sys.columns (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Egy oszlopokat tartalmazó objektum minden egyes oszlopához ( például nézetekhez vagy táblákhoz) tartozó sort ad vissza. Az alábbi lista az oszlopokkal rendelkező objektumtípusokat tartalmazza:

  • Táblaértékű szerelvényfüggvények (FT)
  • Beágyazott táblaértékű SQL-függvények (HA)
  • Belső táblák (IT)
  • Rendszertáblák (S)
  • Táblaértékű SQL-függvények (TF)
  • Felhasználói táblák (U)
  • Nézetek (V)
Oszlop név Adattípus Leírás
object_id Int Annak az objektumnak az azonosítója, amelyhez ez az oszlop tartozik.
name sysname Az oszlop neve. Az objektumon belül egyedi.
column_id Int Az oszlop azonosítója. Az objektumon belül egyedi. Előfordulhat, hogy az oszlopazonosítók nem egymást követők.
system_type_id tinyint Az oszlop rendszertípusának azonosítója.
user_type_id Int Az oszlop típusának azonosítója a felhasználó által definiált módon. A típus nevének visszaadásához csatlakozzon az oszlop sys.types katalógusnézetéhez.
max_length kisméretű Az oszlop maximális hossza (bájtban kifejezve).

-1 = Az oszlop adattípusa varchar(max), nvarchar(max), varbinary(max)vagy xml.

Szöveg-, ntext- és képoszlopok esetén az max_length érték 16 (csak a 16 bájtos mutatót jelöli) vagy a megadott sp_tableoption 'text in row'értéket.
precision tinyint Az oszlop pontossága numerikus alapú esetén; egyéb esetben. 0
scale tinyint Oszlop skálázása numerikus alapú esetén; egyéb esetben. 0
collation_name sysname Az oszlop rendezési neve, ha karakteralapú; egyéb esetben NULL.
is_nullable bit 1 = Az oszlop null értékű
0 = Az oszlop nem null értékű
is_ansi_padded bit 1 = Az oszlop viselkedést használ ANSI_PADDING ON , ha karakter, bináris vagy variáns

0 = Az oszlop nem karakter, bináris vagy variáns
is_rowguidcol bit 1 = Az oszlop deklarált ROWGUIDCOL
is_identity bit 1 = Az oszlop identitásértékekkel rendelkezik
is_computed bit 1 = Az oszlop számított oszlop
is_filestream bit 1 = Az oszlop EGY FILESTREAM oszlop
is_replicated bit 1 = Az oszlop replikálva van
is_non_sql_subscribed bit 1 = Az oszlop nem SQL Server-előfizetővel rendelkezik
is_merge_published bit 1 = Az oszlop egyesítése közzé van téve
is_dts_replicated bit 1 = Az oszlop replikálása SSIS használatával történik
is_xml_document bit 1 = A tartalom egy teljes XML-dokumentum

0 = A tartalom dokumentumtöredék, vagy az oszlop adattípusa nem xml
xml_collection_id Int Nem kötelező, ha az oszlop adattípusa xml , és az XML be van állítva. Az érték annak a gyűjteménynek az azonosítója, amely az oszlop érvényesítő XML-sémanévterét tartalmazza

0 = Nincs XML-sémagyűjtemény
default_object_id Int Az alapértelmezett objektum azonosítója, függetlenül attól, hogy különálló objektumról sp_bindefault vagy beágyazott, oszlopszintű DEFAULT kényszerről van-e szó. parent_object_id Egy inline oszlop-szintű alapértelmezett objektum oszlopa visszautal magára a táblára.

0 = Nincs alapértelmezett
rule_object_id Int Az oszlophoz kötött önálló szabály azonosítója a sys.sp_bindrulehasználatával .

0 = Nincs önálló szabály. Az oszlopszintű CHECK korlátozásokról lásd: sys.check_constraints.
is_sparse bit 1 = Az oszlop ritka oszlop. További információ: Ritka oszlopok használata.
is_column_set bit 1 = Az oszlop egy oszlopkészlet. További információ: Ritka oszlopok használata.
generated_always_type tinyint Azonosítja, hogy mikor jön létre az oszlopérték (mindig 0 a rendszertáblák oszlopaihoz tartozik).

A következővonatkozik: SQL Server 2016 (13.x) és újabb verziók, valamint AZ SQL Database.

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END

A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb verziók, valamint AZ SQL Database.

5 = AS_TRANSACTION_ID_START
6 = AS_TRANSACTION_ID_END
7 = AS_SEQUENCE_NUMBER_START
8 = AS_SEQUENCE_NUMBER_END

További információ: Temporális táblák.
generated_always_type_desc nvarchar(60) Az érték szöveges leírása generated_always_type (mindig NOT_APPLICABLE a rendszertáblák oszlopaihoz)

A következővonatkozik: SQL Server 2016 (13.x) és újabb verziók, valamint AZ SQL Database.

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb verziók, valamint AZ SQL Database.

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
encryption_type Int Titkosítás típusa:

1 = Determinisztikus titkosítás
2 = Véletlenszerű titkosítás

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
encryption_type_desc nvarchar(64) Titkosítástípus leírása:

RANDOMIZED
DETERMINISTIC

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
encryption_algorithm_name sysname A titkosítási algoritmus neve. Kizárólag az AEAD_AES_256_CBC_HMAC_SHA_512 támogatott.

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
column_encryption_key_id Int Az oszloptitkosítási kulcs (CEK) azonosítója.

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
column_encryption_key_database_name sysname Annak az adatbázisnak a neve, ahol az oszloptitkosítási kulcs létezik, ha eltér az oszlop adatbázisától. NULL ha a kulcs ugyanabban az adatbázisban található, mint az oszlop.

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
is_hidden bit Azt jelzi, hogy az oszlop rejtett-e:

0 = normál, nem rejtett, látható oszlop
1 = rejtett oszlop

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
is_masked bit Azt jelzi, hogy az oszlopot dinamikus adatmaszkolás maszkolja-e:

0 = normál, nem maszkolt oszlop
1 = az oszlop maszkolt

A következőkre vonatkozik: AZ SQL Server 2016 (13.x) és újabb verziói, valamint az SQL Database
graph_type Int Belső oszlop értékkészlettel. Az értékek a gráfoszlopok és mások között 18 és NULL azok között vannak.
graph_type_desc nvarchar(60) Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
is_data_deletion_filter_column bit Azt jelzi, hogy az oszlop a tábla adatmegőrzési szűrő oszlopa-e.

A következővonatkozik: Azure SQL Edge
ledger_view_column_type Int Ha nem NULL, akkor egy oszlop típusát jelzi a főkönyv nézetben:

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

További információkért tekintse meg a Ledger áttekintését.

A következőkre vonatkozik: AZ SQL Server 2022 (16.x) és újabb verziói, valamint az SQL Database
ledger_view_column_type_desc nvarchar(60) Ha nem NULL, szöveges leírást tartalmaz az oszlop típusáról egy főkönyvi nézetben:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

A következőkre vonatkozik: AZ SQL Server 2022 (16.x) és újabb verziói, valamint az SQL Database
is_dropped_ledger_column bit Az elvetett főkönyvtábla oszlopát jelzi.

A következőkre vonatkozik: AZ SQL Server 2022 (16.x) és újabb verziói, valamint az SQL Database
vector_dimensions Int Jelzi, hány dimenziója van a vektornak.

Érvényes: SQL Server 2025 (17.x) és újabb verziók, valamint SQL Database
vector_base_type tinyint A vektordimenziók értékeinek tárolására használt adattípust jelzi.

0 = 32 bites (egypontos) lebegő
1 = 16 bites (félprecíziós) lebegő 1

Érvényes: SQL Server 2025 (17.x) és újabb verziók, valamint SQL Database
vector_base_type_desc nvarchar(10) A vektordimenziók értékeinek tárolására használt adattípus szöveges leírását tartalmazza.

Érvényes: SQL Server 2025 (17.x) és újabb verziók, valamint SQL Database

1 További információért lásd: Fél pontosságú lebegős formátum.

Engedélyek

A katalógusnézetekben a metaadatok láthatósága olyan biztonságos adatokra korlátozódik, amelyek egy felhasználó tulajdonában vannak, vagy amelyeken a felhasználó engedélyt kapott. További információ: Metaadatok láthatósági konfigurációja.

Használati példák

Táblázat oszlopadatainak lekérése

Az oszlopok metaadatainak megszerzéséhez a táblázatban a következő kódot használjuk:

CREATE TABLE dbo.[sample]
(
    id INT NOT NULL,
    col1 VARBINARY (10) NULL
);

SELECT c.[name] AS column_name,
       t.[name] AS [type_name],
       c.[max_length],
       c.[precision],
       c.[scale]
FROM sys.columns AS c
     INNER JOIN sys.types AS t
         ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');