sp_help (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Segnala informazioni su un oggetto di database (qualsiasi oggetto elencato nella sys.sysobjects
visualizzazione compatibilità), un tipo di dati definito dall'utente o un tipo di dati.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_help [ [ @objname = ] N'objname' ]
[ ; ]
Argomenti
[ @objname = ] N'objname'
Nome di qualsiasi oggetto, in sys.sysobjects
o qualsiasi tipo di dati definito dall'utente nella sys.systypes
tabella. @objname è nvarchar(776), con il valore predefinito NULL
. I nomi dei database non sono accettabili. Due o tre nomi di parti possono essere delimitati, ad esempio Person.AddressType
o [Person].[AddressType]
.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
I set di risultati restituiti dipendono dall'eventuale @name specificato, quando viene specificato e dall'oggetto di database.
Se
sp_help
viene eseguito senza argomenti, vengono restituite informazioni di riepilogo di tutti i tipi presenti nel database corrente.Nome colonna Tipo di dati Descrizione Name
nvarchar(128) Object name Owner
nvarchar(128) Proprietario dell'oggetto (entità di database proprietaria dell'oggetto. L'impostazione predefinita è il proprietario dello schema che contiene l'oggetto. Object_type
nvarchar(31) Tipo oggetto Se @name è un tipo di dati di SQL Server o un tipo di dati definito dall'utente,
sp_help
restituisce questo set di risultati.Nome colonna Tipo di dati Descrizione Type_name
nvarchar(128) Nome del tipo di dati. Storage_type
nvarchar(128) nome di SQL Server. Length
smallint Lunghezza fisica del tipo di dati in byte. Prec
int Precisione, ovvero il numero totale di cifre. Scale
int Numero di cifre a destra del separatore decimale. Nullable
varchar(35) Indica se NULL
i valori sono consentiti:Yes
oNo
.Default_name
nvarchar(128) Nome del valore predefinito associato al tipo di dati specificato. NULL
= Nessun valore predefinito è associato.Rule_name
nvarchar(128) Nome di una regola associata al tipo di dati specificato. NULL
= Nessun valore predefinito è associato.Collation
sysname Regole di confronto per il tipo di dati. NULL
per i tipi di dati non di tipo carattere.Se @name è un oggetto di database diverso da un tipo di dati,
sp_help
restituisce questo set di risultati e anche set di risultati aggiuntivi, in base al tipo di oggetto specificato.Nome colonna Tipo di dati Descrizione Name
nvarchar(128) Nome tabella Owner
nvarchar(128) Proprietario della tabella. Type
nvarchar(31) Tipo di tabella Created_datetime
datetime Data di creazione della tabella. A seconda dell'oggetto di database specificato,
sp_help
restituisce set di risultati aggiuntivi.Se @name è una tabella di sistema, una tabella utente o una vista,
sp_help
restituisce i set di risultati seguenti. Tuttavia, il set di risultati che descrive dove si trova il file di dati in un filegroup non viene restituito per una visualizzazione.Il set di risultati seguente viene restituito anche sugli oggetti colonna:
Nome colonna Tipo di dati Descrizione Column_name
nvarchar(128) Nome colonna. Type
nvarchar(128) Tipo di dati della colonna. Computed
varchar(35) Indica se i valori nella colonna vengono calcolati: Yes
oNo
.Length
int Lunghezza della colonna in byte.
Nota: se il tipo di dati della colonna è un tipo valore di grandi dimensioni (varchar(max), nvarchar(max), varbinary(max)o xml), il valore viene visualizzato come-1
.Prec
char(5) Precisione della colonna. Scale
char(5) Scala della colonna. Nullable
varchar(35) Indica se NULL
i valori sono consentiti nella colonna:Yes
oNo
.TrimTrailingBlanks
varchar(35) Specifica se gli spazi vuoti finali devono essere eliminati o meno. Restituisce Yes
oNo
.FixedLenNullInSource
varchar(35) Disponibile solo per compatibilità con le versioni precedenti. Collation
sysname Regole di confronto della colonna. NULL
per i tipi di dati noncharacter.Il set di risultati seguente viene restituito anche nelle colonne Identity:
Nome colonna Tipo di dati Descrizione Identity
nvarchar(128) Nome della colonna il cui tipo di dati viene dichiarato come Identity. Seed
numeric Valore iniziale per la colonna Identity. Increment
numeric Incremento da utilizzare per i valori della colonna. Not For Replication
int IDENTITY
la proprietà non viene applicata quando un account di accesso di replica, ad esempio sqlrepl, inserisce i dati nella tabella:1
= True0
= FalseIl set di risultati seguente viene restituito anche sulle colonne:
Nome colonna Tipo di dati Descrizione RowGuidCol
sysname Nome della colonna che include il valore GUID. Il set di risultati seguente viene restituito anche nei filegroup:
Nome colonna Tipo di dati Descrizione Data_located_on_filegroup
nvarchar(128) Filegroup in cui si trovano i dati: Primary
,Secondary
oTransaction Log
.Anche il set di risultati seguente viene restituito sugli indici:
Nome colonna Tipo di dati Descrizione index_name
sysname Nome dell'indice. Index_description
varchar(210) Descrizione dell'indice. index_keys
nvarchar(2078) Nomi delle colonne in cui viene compilato l'indice. Restituisce NULL
per gli indici columnstore ottimizzati per la memoria.Il set di risultati seguente viene restituito anche sui vincoli:
Nome colonna Tipo di dati Descrizione constraint_type
nvarchar(146) Tipo di vincolo. constraint_name
nvarchar(128) Nome del vincolo. delete_action
nvarchar(9) Indica se l'azione DELETE
è una diNO_ACTION
,SET_NULL
CASCADE
, ,SET_DEFAULT
oN/A
.
Valido solo per i vincoli FOREIGN KEY.update_action
nvarchar(9) Indica se l'azione UPDATE
è una diNO_ACTION
,SET_NULL
CASCADE
, ,SET_DEFAULT
oN/A
.
Applicabile solo aiFOREIGN KEY
vincoli.status_enabled
varchar(8) Indica se il vincolo è abilitato: Enabled
,Disabled
oN/A
.
Applicabile solo aiCHECK
vincoli eFOREIGN KEY
.status_for_replication
varchar(19) Indica se il vincolo è relativo alla replica.
Applicabile solo aiCHECK
vincoli eFOREIGN KEY
.constraint_keys
nvarchar(2078) Nomi delle colonne che formano il vincolo o, nel caso di valori predefiniti e regole, il testo che definisce il valore predefinito o la regola. Il set di risultati seguente viene restituito anche sugli oggetti di riferimento:
Nome colonna Tipo di dati Descrizione Table is referenced by
nvarchar(516) Identifica gli oggetti di database che fanno riferimento alla tabella. Il set di risultati seguente viene restituito anche in stored procedure, funzioni o stored procedure estese.
Nome colonna Tipo di dati Descrizione Parameter_name
nvarchar(128) Nome del parametro della stored procedure. Type
nvarchar(128) Tipo di dati del parametro della stored procedure. Length
smallint Capacità massima di archiviazione fisica in byte. Prec
int Precisione, ovvero il numero totale di cifre. Scale
int Numero di cifre a destra del separatore decimale. Param_order
smallint Ordine del parametro.
Osservazioni:
La sp_help
procedura cerca solo un oggetto nel database corrente.
Quando @name non viene specificato, elenca i nomi degli sp_help
oggetti, i proprietari e i tipi di oggetto per tutti gli oggetti nel database corrente. sp_helptrigger
fornisce informazioni sui trigger.
sp_help
espone solo colonne di indice ordinabili; pertanto, non espone informazioni sugli indici XML o sugli indici spaziali.
Autorizzazioni
È richiesta l'appartenenza al ruolo public . L'utente deve avere almeno un'autorizzazione per @objname. Per visualizzare chiavi di vincolo di colonna, impostazioni predefinite o regole, è necessario disporre VIEW DEFINITION
dell'autorizzazione per la tabella.
Esempi
Gli esempi di codice Transact-SQL in questo articolo usano il AdventureWorks2022
database di esempio o AdventureWorksDW2022
, che è possibile scaricare dalla home page degli esempi di Microsoft SQL Server e dei progetti della community.
R. Restituisce informazioni su tutti gli oggetti
Nell'esempio seguente vengono elencate le informazioni su ogni oggetto incluso nel database master
.
USE master;
GO
EXEC sp_help;
GO
B. Restituire informazioni su un singolo oggetto
Nell'esempio seguente vengono visualizzate informazioni sulla tabella Person.Person
.
USE AdventureWorks2022;
GO
EXEC sp_help 'Person.Person';
GO