Udostępnij za pomocą


sp_help (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Raportuje informacje o obiekcie bazy danych (dowolnym obiekcie wymienionym w widoku sys.sysobjects zgodności), typie danych zdefiniowanym przez użytkownika lub typie danych.

Transact-SQL konwencje składni

Składnia

sp_help [ [ @objname = ] N'objname' ]
[ ; ]

Arguments

[ @objname = ] N'objname'

Nazwa dowolnego obiektu, w sys.sysobjects tabeli sys.systypes lub dowolnego zdefiniowanego przez użytkownika typu danych. @objname to nvarchar(776), z domyślnym obciążeniem NULL. Nazwy baz danych nie są akceptowalne. Nazwy dwóch lub trzech części mogą być wyznaczone, takie jak Person.AddressType lub [Person].[AddressType].

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Zestawy wyników, które są zwracane, zależą od tego, czy @name jest określony, kiedy jest określony oraz jaki jest obiekt bazy danych.

  1. Jeśli sp_help jest wykonywany bez argumentów, zwracane są informacje podsumowujące obiekty wszystkich typów istniejących w bieżącej bazie danych.

    Nazwa kolumny Typ danych Description
    Name nvarchar(128) Nazwa obiektu
    Owner nvarchar(128) Właściciel obiektu (Główny właściciel bazy danych, który posiada obiekt. Domyślnie jest właścicielem schematu, który zawiera obiekt.)
    Object_type nvarchar(31) Typ obiektu
  2. Jeśli @name jest typem danych SQL Server lub typem danych zdefiniowanym przez użytkownika, sp_help zwraca ten zbiór wyników.

    Nazwa kolumny Typ danych Description
    Type_name nvarchar(128) Nazwa typu danych.
    Storage_type nvarchar(128) Nazwa typu SQL Server.
    Length smallint Fizyczna długość typu danych (w bajtach).
    Prec int Precyzja (całkowita liczba cyfr).
    Scale int Liczba cyfr po prawej stronie dziesiętnego.
    Nullable varchar(35) Wskazuje, czy NULL dozwolone są wartości: Yes lub No.
    Default_name nvarchar(128) Nazwa domyślnej przypisanej do tego typu.

    NULL = Nie ma ograniczeń domyślnych.
    Rule_name nvarchar(128) Nazwa reguły przypisanej do tego typu.

    NULL = Nie ma ograniczeń domyślnych.
    Collation sysname Zestawienie typu danych. NULL dla typów danych niezwiązanych z postacią.
  3. Jeśli @name jest dowolnym obiektem bazy danych innym niż typ danych, sp_help zwraca ten zbiór wyników oraz dodatkowe zbiory wyników, w zależności od określonego typu obiektu.

    Nazwa kolumny Typ danych Description
    Name nvarchar(128) Nazwa tabeli
    Owner nvarchar(128) Właściciel stołu
    Type nvarchar(31) Typ tabeli
    Created_datetime datetime Utworzona tabela dat

    W zależności od wybranego obiektu bazy danych, zwraca sp_help dodatkowe zbiory wyników.

    Jeśli @name jest tablicą systemową, tablicą użytkownika lub widokiem sp_help , zwraca następujące zbiory wyników. Jednak zestaw wyników opisujący położenie pliku danych w grupie plików nie jest zwracany do widoku.

    • Następujący zbiór wyników jest również zwracany na obiektach kolumnowych:

      Nazwa kolumny Typ danych Description
      Column_name nvarchar(128) Nazwa kolumny.
      Type nvarchar(128) Typ danych kolumny.
      Computed varchar(35) Wskazuje, czy wartości w kolumnie są obliczane: Yes lub No.
      Length int Długość kolumny w bajtach.

      Nuta: Jeśli typ danych kolumny jest dużym typem wartości (varchar(max),nvarchar(max),varbinary(max) lub xml), wartość wyświetlana jest jako -1.
      Prec char(5) Precyzja kolumny.
      Scale char(5) Skala kolumnowa.
      Nullable varchar(35) Wskazuje, czy NULL dozwolone są wartości w kolumnie: Yes lub No.
      TrimTrailingBlanks varchar(35) Przytnij ślepe naboje z tyłu. Zwraca Yes lub No.
      FixedLenNullInSource varchar(35) Ten parametr jest wycofany i zachowany ze względu na kompatybilność wsteczną skryptów.
      Collation sysname Zestawienie kolumny. NULL dla typów danych nieznanych z charakterem.
    • Następujący zestaw wyników jest również zwracany na kolumnach tożsamości:

      Nazwa kolumny Typ danych Description
      Identity nvarchar(128) Nazwa kolumny, której typ danych jest deklarowany jako tożsamość.
      Seed numeryczny Wartość początkowa kolumny tożsamości.
      Increment numeryczny Inkrement, który należy użyć dla wartości w tej kolumnie.
      Not For Replication int IDENTITY Własność nie jest wymuszana, gdy logowanie replikacyjne, takie jak sqlrepl, wprowadza dane do tabeli:

      1 = Prawdziwe
      0 = Fałsz
    • Następujący zestaw wyników jest również zwracany w kolumnach:

      Nazwa kolumny Typ danych Description
      RowGuidCol sysname Nazwa globalnej kolumny unikalnego identyfikatora.
    • Następujący zestaw wyników jest również zwracany w grupach plików:

      Nazwa kolumny Typ danych Description
      Data_located_on_filegroup nvarchar(128) Grupa plików, w której dane się znajdują: Primary, Secondary, lub Transaction Log.
    • Na indeksach zwracany jest także następujący zestaw wyników:

      Nazwa kolumny Typ danych Description
      index_name sysname Nazwa indeksu.
      Index_description varchar(210) Opis indeksu.
      index_keys nvarchar(2078) Nazwy kolumn, na których opiera się indeks. Zwroty NULL dla indeksów zoptymalizowanych pod pamięć kolumn.
    • Następujący zbiór wyników jest również zwracany na ograniczeniach:

      Nazwa kolumny Typ danych Description
      constraint_type nvarchar(146) Rodzaj ograniczenia.
      constraint_name nvarchar(128) Nazwa ograniczenia.
      delete_action nvarchar(9) Wskazuje, czy działanie DELETE jest jednym z NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT, lub N/A.

      Dotyczy tylko ograniczeń KLUCZA OBCEGO.
      update_action nvarchar(9) Wskazuje, czy działanie UPDATE jest jednym z NO_ACTION, CASCADE, SET_NULL, SET_DEFAULT, lub N/A.

      Dotyczy FOREIGN KEY tylko ograniczeń.
      status_enabled varchar(8) Wskazuje, czy ograniczenie jest włączone: Enabled, Disabled, lub N/A.

      Dotyczy CHECK tylko ograniczeń i FOREIGN KEY ograniczeń.
      status_for_replication varchar(19) Wskazuje, czy ograniczenie dotyczy replikacji.

      Dotyczy CHECK tylko ograniczeń i FOREIGN KEY ograniczeń.
      constraint_keys nvarchar(2078) Nazwy kolumn tworzących ograniczenie lub, w przypadku domyślnych i reguł, tekst definiujący domyślne lub regułę.
    • Następujący zbiór wyników jest również zwracany przy obiektach odwołujących się:

      Nazwa kolumny Typ danych Description
      Table is referenced by nvarchar(516) Identyfikuje inne obiekty bazy danych, które odwołują się do tabeli.
    • Poniższy zbiór wyników jest również zwracany na procedurach przechowywanych, funkcjach lub rozszerzonych procedurach przechowywanych.

      Nazwa kolumny Typ danych Description
      Parameter_name nvarchar(128) Nazwa parametru procedury przechowywanej.
      Type nvarchar(128) Typ danych parametru procedury przechowywanej.
      Length smallint Maksymalna fizyczna długość pamięci w bajtach.
      Prec int Precyzja lub całkowita liczba cyfr.
      Scale int Liczba cyfr po prawej stronie przecinka.
      Param_order smallint Kolejność parametrów.

Uwagi

Procedura sp_help szuka obiektu tylko w aktualnej bazie danych.

Gdy @name nie jest określona, sp_help zawiera nazwy obiektów, właścicieli i typy obiektów dla wszystkich obiektów w aktualnej bazie danych. sp_helptrigger Dostarcza informacji o wyzwalaczach.

sp_help udostępnia jedynie uporządkowane kolumny indeksowe; dlatego nie udostępnia informacji o indeksach XML ani indeksach przestrzennych.

Permissions

Wymaga członkostwa w publicznej roli . Użytkownik musi mieć przynajmniej jedno uprawnienia do @objname. Aby zobaczyć klucze ograniczeń kolumn, domyślne ustawienia lub reguły, musisz mieć VIEW DEFINITION uprawnienia do tabeli.

Przykłady

Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

A. Zwracaj informacje o wszystkich obiektach

Poniższy przykład zawiera master informacje o każdym obiektze w bazie danych.

USE master;
GO

EXECUTE sp_help;
GO

B. Zwracaj informacje o pojedynczym obiekcie

Poniższy przykład przedstawia informacje o tabeli Person.Person .

USE AdventureWorks2022;
GO

EXECUTE sp_help 'Person.Person';
GO