Condividi tramite


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.

  1. 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 object
  2. 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 o No.
    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.
  3. 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 o No.
      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 o No.
      TrimTrailingBlanks varchar(35) Specifica se gli spazi vuoti finali devono essere eliminati o meno. Restituisce Yes o No.
      FixedLenNullInSource varchar(35) Questo parametro è deprecato e viene mantenuto per la compatibilità con le versioni precedenti degli script.
      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 = True
      0 = False
    • Il 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, Secondaryo Transaction 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 di NO_ACTION, SET_NULLCASCADE, , SET_DEFAULTo N/A.

      Valido solo per i vincoli FOREIGN KEY.
      update_action nvarchar(9) Indica se l'azione UPDATE è una di NO_ACTION, SET_NULLCASCADE, , SET_DEFAULTo N/A.

      Applicabile solo ai FOREIGN KEY vincoli.
      status_enabled varchar(8) Indica se il vincolo è abilitato: Enabled, Disabledo N/A.

      Applicabile solo ai CHECK vincoli e FOREIGN KEY .
      status_for_replication varchar(19) Indica se il vincolo è relativo alla replica.

      Applicabile solo ai CHECK vincoli e FOREIGN 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 utilizzano il database campione AdventureWorks2022 o AdventureWorksDW2022, che è possibile scaricare dalla home page di Esempi di Microsoft SQL Server e progetti collettivi.

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