Condividi tramite


Raccolte di schemi di SQL Server (ADO.NET)

Il provider di dati Microsoft .NET Framework per SQL Server, oltre alle raccolte di schemi comuni, supporta raccolte di schemi aggiuntivi. Le raccolte di schemi variano leggermente in base alla versione di SQL Server utilizzata. Per determinare l'elenco delle raccolte di schemi supportati chiamare il metodo GetSchema senza argomenti oppure con il nome della raccolta di schemi "MetaDataCollections". In questo modo verrà restituito un oggetto DataTable con un elenco delle raccolte di schemi supportati, il numero delle restrizioni supportate da ciascuna raccolta e il numero di parti identificatore utilizzate.

Databases

Nome colonna

Tipo di dati

Descrizione

database_name

String

Nome del database.

Dbid

Int16

Identificatore del database.

create_date

DateTime

Data di creazione del database.

Foreign Keys

Nome colonna

Tipo di dati

Descrizione

constraint_catalog

String

Catalogo a cui appartiene il vincolo.

constraint_schema

Stringa

Schema contenente il vincolo.

constraint_name

String

Nome.

table_catalog

String

Nome della tabella contenente il vincolo.

table_schema

String

Schema contenente la tabella.

table_name

String

Nome della tabella.

constraint_type

String

Tipo di vincolo. È consentito solo il tipo "FOREIGN KEY".

is_deferrable

Stringa

Specifica se il vincolo può essere rinviato. Restituisce NO.

initially_deferred

Stringa

Specifica se inizialmente il vincolo può essere rinviato. Restituisce NO.

Indexes

Nome colonna

Tipo di dati

Descrizione

constraint_catalog

String

Catalogo a cui appartiene l'indice.

constraint_schema

String

Schema contenente l'indice.

constraint_name

String

Nome dell'indice.

table_catalog

String

Nome della tabella a cui è associato l'indice.

table_schema

Stringa

Schema contenente la tabella a cui è associato l'indice.

table_name

String

Il nome della tabella.

Indexes (SQL Server 2008)

A partire da .NET Framework versione 3.5 SP1 e SQL Server 2008, le colonne seguenti sono state aggiunte alla raccolta di schemi Indexes per supportare nuovi tipi di dati spaziali, filestream e colonne di tipo sparse. Tali colonne non sono supportate nelle versioni precedenti di .NET Framework e di SQL Server.

Nome colonna

Tipo di dati

Descrizione

type_desc

String

I valori del tipo di indice sono i seguenti:

  • HEAP

  • CLUSTERED

  • NONCLUSTERED

  • XML

  • SPATIAL

IndexColumns

Nome colonna

Tipo di dati

Descrizione

constraint_catalog

String

Catalogo a cui appartiene l'indice.

constraint_schema

String

Schema contenente l'indice.

constraint_name

String

Nome dell'indice.

table_catalog

String

Nome della tabella a cui è associato l'indice.

table_schema

Stringa

Schema contenente la tabella a cui è associato l'indice.

table_name

String

Il nome della tabella.

column_name

String

Nome della colonna a cui è associato l'indice.

ordinal_position

Int32

Posizione ordinale della colonna.

KeyType

UInt16

Tipo di oggetto.

Procedures

Questa raccolta è disponibile solo in SQL Server 2000 e versioni successive.

Nome colonna

Tipo di dati

Descrizione

specific_catalog

String

Nome specifico del catalogo.

specific_schema

String

Nome specifico dello schema.

specific_name

String

Nome specifico del catalogo.

routine_catalog

String

Catalogo a cui appartiene la stored procedure.

routine_schema

Stringa

Schema contenente la stored procedure.

routine_name

String

Il nome della stored procedure.

routine_type

String

Restituisce PROCEDURE per le stored procedure e FUNCTION per le funzioni.

created

DateTime

L'ora in cui è stata creata la routine.

last_altered

DateTime

Data e ora dell'ultima modifica della routine.

Procedure Parameters

Nome colonna

Tipo di dati

Descrizione

specific_catalog

String

Nome del catalogo della routine per cui viene specificato questo parametro.

specific_schema

Stringa

Lo schema contenente la routine a cui appartiene questo parametro.

specific_name

Stringa

Il nome della routine contenente questo parametro.

ordinal_position

Int16

Posizione ordinale del parametro iniziando da 1. Per il valore restituito di una routine, è uguale a 0.

parameter_mode

Stringa

Restituisce IN se è un parametro di input, OUT se è un parametro di output e INOUT se è un parametro di input/output.

is_result

Stringa

Restituisce YES se indica il risultato di una routine che è una funzione. In caso contrario, restituisce NO.

as_locator

Stringa

Restituisce YES se dichiarato come indicatore di posizione. In caso contrario, restituisce NO.

parameter_name

Stringa

Il nome del parametro. Restituisce NULL se corrisponde al valore restituito di una funzione.

data_type

Stringa

Il tipo di dati fornito dal sistema.

character_maximum_length

Int32

La lunghezza massima in caratteri per il tipo di dati carattere o binario. Per altri tipi di dati, restituisce NULL.

character_octet_length

Int32

La lunghezza massima in byte per il tipo di dati carattere o binario. Per altri tipi di dati, restituisce NULL.

collation_catalog

Stringa

Il nome del catalogo per le regole di confronto del parametro. Se non è di tipo carattere, restituisce NULL.

collation_schema

String

Restituisce sempre NULL.

collation_name

String

Nome delle regole di confronto del parametro. Se non è di tipo carattere, restituisce NULL.

character_set_catalog

Stringa

Il nome del catalogo del set di caratteri del parametro. Se non è di tipo carattere, restituisce NULL.

character_set_schema

String

Restituisce sempre NULL.

character_set_name

String

Nome del set di caratteri del parametro. Se non è di tipo carattere, restituisce NULL.

numeric_precision

Byte

La precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, restituisce NULL.

numeric_precision_radix

Int16

La radice della precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, restituisce NULL.

numeric_scale

Int32

La scala dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, restituisce NULL.

datetime_precision

Int16

Precisione in secondi frazionari se il tipo di parametro è datetime o smalldatetime. Per altri tipi di parametro, restituisce NULL.

interval_type

Stringa

NULL. Riservato per un utilizzo futuro da parte di SQL Server.

interval_precision

Int16

NULL. Riservato per un utilizzo futuro da parte di SQL Server.

Tables

Nome colonna

Tipo di dati

Descrizione

table_catalog

String

Catalogo della tabella.

table_schema

String

Schema contenente la tabella.

table_name

String

Nome della tabella.

table_type

String

Tipo di tabella. Può essere VIEW o BASE TABLE.

Columns

Nome colonna

Tipo di dati

Descrizione

table_catalog

String

Catalogo della tabella.

table_schema

String

Schema contenente la tabella.

table_name

String

Nome della tabella.

column_name

String

Nome della colonna.

ordinal_position

Int16

Numero di identificazione della colonna.

column_default

String

Valore predefinito della colonna.

is_nullable

String

Supporto di valori Null della colonna. Se la colonna supporta i valori NULL, restituisce YES. In caso contrario, restituisce NO.

data_type

Stringa

Il tipo di dati fornito dal sistema.

character_maximum_length

Int32 – Sql8, Int16 – Sql7

La lunghezza massima in caratteri per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. Per altri tipi di dati, viene restituito NULL.

character_octet_length

Int32 – SQL8, Int16 – Sql7

La lunghezza massima in byte per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. Per altri tipi di dati, viene restituito NULL.

numeric_precision

Unsigned Byte

La precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_precision_radix

Int16

La radice della precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_scale

Int32

La scala dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

datetime_precision

Int16

Il codice Subtype per datetime e per i tipi di dati dell'intervallo di SQL-92. Per altri tipi di dati, viene restituito NULL.

character_set_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui è posizionato il set di caratteri. Per altri tipi di dati, viene restituito NULL.

character_set_schema

String

Restituisce sempre NULL.

character_set_name

String

Se la colonna presenta un tipo di dati carattere o testo, viene restituito il nome univoco del set di caratteri. In caso contrario, viene restituito NULL.

collation_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui sono definite le regole di confronto. In caso contrario, il valore di questa colonna è NULL.

Columns (SQL Server 2008)

A partire da .NET Framework versione 3.5 SP1 e SQL Server 2008, le colonne seguenti sono state aggiunte alla raccolta di schemi Columns per supportare nuovi tipi di dati spaziali, filestream e colonne di tipo sparse. Tali colonne non sono supportate nelle versioni precedenti di .NET Framework e di SQL Server.

Nome colonna

Tipo di dati

Descrizione

IS_FILESTREAM

String

YES in caso di colonna con attributo FILESTREAM.

NO se la colonna non dispone dell'attributo FILESTREAM.

IS_SPARSE

String

YES in caso di colonna di tipo sparse.

NO se la colonna non è di tipo sparse.

IS_COLUMN_SET

String

YES in caso di colonna del set di colonne.

NO se la colonna non fa parte del set di colonne.

AllColumns (SQL Server 2008)

A partire da .NET Framework versione 3.5 SP1 e SQL Server 2008, è stata aggiunta la raccolta di schemi AllColumns per supportare colonne di tipo sparse. AllColumns non è supportato nelle versioni precedenti di .NET Framework e di SQL Server.

AllColumns dispone delle stesse restrizioni e dello schema DataTable risultante della raccolta di schemi Columns, l'unica differenza è costituita dal fatto che AllColumns include colonne del set di colonne che non sono incluse nella raccolta di schemi Columns. Nella tabella seguente vengono descritte queste colonne.

Nome colonna

Tipo di dati

Descrizione

table_catalog

String

Catalogo della tabella.

table_schema

String

Schema contenente la tabella.

table_name

String

Nome della tabella.

column_name

String

Nome della colonna.

ordinal_position

Int16

Numero di identificazione della colonna.

column_default

String

Valore predefinito della colonna.

is_nullable

String

Supporto di valori Null della colonna. Se la colonna supporta i valori NULL, restituisce YES. In caso contrario, restituisce NO.

data_type

String

Il tipo di dati fornito dal sistema.

character_maximum_length

Int32 per SQL Server 2000 e versioni successive, Int16 per SQL Server 7.0

La lunghezza massima in caratteri per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. In caso contrario, viene restituito NULL.

character_octet_length

Int32 per SQL Server 2000 e versioni successive, Int16 per SQL Server 7.0

La lunghezza massima in byte per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. Per altri tipi di dati, viene restituito NULL.

numeric_precision

Unsigned Byte

La precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_precision_radix

Int16

La radice della precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_scale

Int32

La scala dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

datetime_precision

Int16

Il codice Subtype per datetime e per i tipi di dati dell'intervallo di SQL-92. Per altri tipi di dati, viene restituito NULL.

character_set_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui è posizionato il set di caratteri. Per altri tipi di dati, viene restituito NULL.

character_set_schema

String

Restituisce sempre NULL.

character_set_name

String

Se la colonna presenta un tipo di dati carattere o testo, viene restituito il nome univoco del set di caratteri. In caso contrario, viene restituito NULL.

collation_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui sono definite le regole di confronto. In caso contrario, il valore di questa colonna è NULL.

IS_FILESTREAM

String

YES in caso di colonna con attributo FILESTREAM.

NO se la colonna non dispone dell'attributo FILESTREAM.

IS_SPARSE

String

YES in caso di colonna di tipo sparse.

NO se la colonna non è di tipo sparse.

IS_COLUMN_SET

String

YES in caso di colonna del set di colonne.

NO se la colonna non fa parte del set di colonne.

ColumnSetColumns (SQL Server 2008)

A partire da .NET Framework versione 3.5 SP1 e SQL Server 2008, è stata aggiunta la raccolta di schemi ColumnSetColumns per supportare colonne di tipo sparse. ColumnSetColumns non è supportato nelle versioni precedenti di .NET Framework e di SQL Server. La raccolta di schemi ColumnSetColumns restituisce lo schema per tutte le colonne di un set di colonne. Nella tabella seguente vengono descritte queste colonne.

Nome colonna

Tipo di dati

Descrizione

table_catalog

String

Catalogo della tabella.

table_schema

String

Schema contenente la tabella.

table_name

String

Nome della tabella.

column_name

String

Nome della colonna.

ordinal_position

Int16

Numero di identificazione della colonna.

column_default

String

Valore predefinito della colonna.

is_nullable

String

Supporto di valori Null della colonna. Se la colonna supporta i valori NULL, restituisce YES. In caso contrario, restituisce NO.

data_type

String

Il tipo di dati fornito dal sistema.

character_maximum_length

Int32 per SQL Server 2000 e versioni successive, Int16 per SQL Server 7.0

La lunghezza massima in caratteri per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. In caso contrario, viene restituito NULL.

character_octet_length

Int32 per SQL Server 2000 e versioni successive, Int16 per SQL Server 7.0

La lunghezza massima in byte per i tipi di dati binario e carattere o per i tipi di dati testo e immagine. Per altri tipi di dati, viene restituito NULL.

numeric_precision

Unsigned Byte

La precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_precision_radix

Int16

La radice della precisione dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

numeric_scale

Int32

La scala dei dati numerici approssimativi, dei dati numerici esatti, dei dati di tipo integer o dei dati di tipo valuta. Per altri tipi di dati, viene restituito NULL.

datetime_precision

Int16

Il codice Subtype per datetime e per i tipi di dati dell'intervallo di SQL-92. Per altri tipi di dati, viene restituito NULL.

character_set_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui è posizionato il set di caratteri. Per altri tipi di dati, viene restituito NULL.

character_set_schema

String

Restituisce sempre NULL.

character_set_name

String

Se la colonna presenta un tipo di dati carattere o testo, viene restituito il nome univoco del set di caratteri. In caso contrario, viene restituito NULL.

collation_catalog

Stringa

Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui sono definite le regole di confronto. In caso contrario, il valore di questa colonna è NULL.

IS_FILESTREAM

String

YES in caso di colonna con attributo FILESTREAM.

NO se la colonna non dispone dell'attributo FILESTREAM.

IS_SPARSE

String

YES in caso di colonna di tipo sparse.

NO se la colonna non è di tipo sparse.

IS_COLUMN_SET

String

YES in caso di colonna del set di colonne.

NO se la colonna non fa parte del set di colonne.

Users

Nome colonna

Tipo di dati

Descrizione

uid

Int16

Identificatore utente univoco nel database. 1 corrisponde al proprietario del database.

name

Stringa

Nome utente o nome del gruppo, univoco nel database.

createdate

DateTime

Data in cui è stato aggiunto l'account.

updatedate

DateTime

Data dell'ultima modifica dell'account.

Views

Questa raccolta è disponibile solo in SQL Server 2000 e versioni successive.

Nome colonna

Tipo di dati

Descrizione

table_catalog

String

Catalogo della visualizzazione.

table_schema

String

Schema contenente la visualizzazione.

table_name

String

Nome della visualizzazione.

check_option

String

Tipo di WITH CHECK OPTION. Se la visualizzazione originale è stata creata utilizzando WITH CHECK OPTION, il tipo è CASCADE. In caso contrario, viene restituito NONE.

is_updatable

Stringa

Specifica se la visualizzazione può essere aggiornata. Restituisce sempre NO.

ViewColumns

Nome colonna

Tipo di dati

Descrizione

view_catalog

String

Catalogo della visualizzazione.

view_schema

String

Schema contenente la visualizzazione.

view_name

String

Nome della visualizzazione.

table_catalog

String

Catalogo della tabella associata a questa visualizzazione.

table_schema

Stringa

Il catalogo della tabella associata a questa visualizzazione.

table_name

Stringa

Nome della tabella associata alla visualizzazione. Tabella di base.

column_name

Stringa

Il nome della colonna.

UserDefinedTypes

Questa raccolta è disponibile solo in SQL Server 2005 e versioni successive.

Nome colonna

Tipo di dati

Descrizione

assembly_name

String

Nome del file dell'assembly.

UDT_name

String

Nome della classe per l'assembly.

version_major

Object

Numero di versione principale.

version_minor

Object

Numero di versione secondario.

version_build

Object

Numero di build.

version_revision

Object

Numero di revisione.

Culture_info

Object

Informazioni sulle impostazioni cultura associate all'UDT.

Public_key

Object

La chiave pubblica utilizzata dall'assembly.

Is_fixed_length

Boolean

Specifica se la lunghezza del tipo è sempre uguale a max_length.

max_length

Int16

La lunghezza massima del tipo in byte.

permission_set_desc

Stringa

Il nome descrittivo del set di autorizzazioni o del livello di sicurezza dell'assembly.

create_date

DateTime

La data di creazione o di registrazione dell'assembly.

Vedere anche

Altre risorse

Recupero di informazioni sullo schema di database (ADO.NET)