Udostępnij za pośrednictwem


OBJECTPROPERTY (Transact-SQL)

Zwraca informacje dotyczące obiektów o zakresie schematu w bieżącej bazie danych.Aby wyświetlić listę obiektów o zakresie schematu Zobacz sys.objects (Transact-SQL). Ta funkcja nie może być używana dla obiektów, które nie są o schemacie zakresie, takich jak wyzwalacze (DDL) języka definicja danych i powiadomień o zdarzeniach.

Topic link iconKonwencje składni języka Transact-SQL

OBJECTPROPERTY ( id , property ) 

Argumenty

  • id
    Is an expression that represents the ID of the object in the current database.id is int and is assumed to be a schema-scoped object in the current database context.

  • property
    Is an expression that represents the information to be returned for the object specified by id.property can be one of the following values.

    Uwaga

    O ile nie zaznaczono inaczej, zwracana jest wartość NULL podczas property nie ma nazwę prawidłowej właściwość id nie ma IDENTYFIKATORA prawidłowego obiektu id Typ nieobsługiwany obiektu dla określonego property, albo obiekt wywołujący nie ma uprawnień do oglądania obiektu metadane.

    F8 / SHIFT + F8

    Typ obiektu

    Opis i wartości zwracane

    CnstIsClustKey

    Ograniczenia

    Ograniczenia klucz podstawowy z indeks klastrowany.

    1 = True

    0 = False

    CnstIsColumn

    Ograniczenia

    CZEK, DEFAULT lub klucz obcy ograniczenia na pojedynczej kolumnie.

    1 = True

    0 = False

    CnstIsDeleteCascade

    Ograniczenia

    klucz obcy ograniczenia przy użyciu opcji ON DELETE CASCADE.

    1 = True

    0 = False

    CnstIsDisabled

    Ograniczenia

    Ograniczenie wyłączone.

    1 = True

    0 = False

    CnstIsNonclustKey

    Ograniczenia

    Ograniczenia klucz podstawowy lub UNIQUE z indeks nieklastrowany.

    1 = True

    0 = False

    CnstIsNotRepl

    Ograniczenia

    Ograniczenie jest zdefiniowany za pomocą słów kluczowych nie do replikacja.

    1 = True

    0 = False

    CnstIsNotTrusted

    Ograniczenia

    Ograniczenie zostało włączone bez sprawdzania, czy istniejące wiersze, dlatego ograniczenie nie mogą zajmować we wszystkich wierszach.

    1 = True

    0 = False

    CnstIsUpdateCascade

    Ograniczenia

    klucz obcy ograniczenia przy użyciu opcji ON UPDATE CASCADE.

    1 = True

    0 = False

    ExecIsAfterTrigger

    Wyzwalacz

    Po wyzwalacza.

    1 = True

    0 = False

    ExecIsAnsiNullsOn

    Transact-SQL Funkcja, Transact-SQL Procedura, Transact-SQL wyzwalacz, widok

    Ustawienie ANSI_NULLS przy tworzeniu czas.

    1 = True

    0 = False

    ExecIsDeleteTrigger

    Wyzwalacz

    DELETE wyzwalacza.

    1 = True

    0 = False

    ExecIsFirstDeleteTrigger

    Wyzwalacz

    Wyzwalacz pierwszym wywołaniu metody usunięcia jest wykonywana dla tabela.

    1 = True

    0 = False

    ExecIsFirstInsertTrigger

    Wyzwalacz

    Uruchamiany po wykonaniu INSERT przed tabela pierwszego wyzwalacza.

    1 = True

    0 = False

    ExecIsFirstUpdateTrigger

    Wyzwalacz

    Wyzwalacz pierwsze uruchamiane, gdy aktualizacja jest wykonywana dla tabela.

    1 = True

    0 = False

    ExecIsInsertTrigger

    Wyzwalacz

    INSERT wyzwalacza.

    1 = True

    0 = False

    ExecIsInsteadOfTrigger

    Wyzwalacz

    ZAMIAST z wyzwalaczem.

    1 = True

    0 = False

    ExecIsLastDeleteTrigger

    Wyzwalacz

    Wyzwalacz ostatni uruchamiany po wykonaniu usunięcia przed w tabela.

    1 = True

    0 = False

    ExecIsLastInsertTrigger

    Wyzwalacz

    Wyzwalacz ostatni uruchamiany po wykonaniu INSERT przed w tabela.

    1 = True

    0 = False

    ExecIsLastUpdateTrigger

    Wyzwalacz

    Ostatni wyzwalacz uruchamiane, gdy aktualizacja jest wykonywana dla tabela.

    1 = True

    0 = False

    ExecIsQuotedIdentOn

    Transact-SQL Funkcja, Transact-SQL Procedura, Transact-SQL wyzwalacz, widok

    Ustawienie QUOTED_IDENTIFIER przy tworzeniu czas.

    1 = True

    0 = False

    ExecIsStartup

    Procedura

    Procedura uruchamiania.

    1 = True

    0 = False

    ExecIsTriggerDisabled

    Wyzwalacz

    Wyzwalacz wyłączony.

    1 = True

    0 = False

    ExecIsTriggerNotForRepl

    Wyzwalacz

    Wyzwalacz jest zdefiniowany jako nie dla replikacja.

    1 = True

    0 = False

    ExecIsUpdateTrigger

    Wyzwalacz

    Wyzwalacz UPDATE.

    1 = True

    0 = False

    HasAfterTrigger

    Tabela, widok

    tabela lub widok ma wyzwalacz po.

    1 = True

    0 = False

    HasDeleteTrigger

    Tabela, widok

    tabela lub widok ma wyzwalacz DELETE.

    1 = True

    0 = False

    HasInsertTrigger

    Tabela, widok

    tabela lub widok ma wyzwalacza WSTAWIENIA.

    1 = True

    0 = False

    HasInsteadOfTrigger

    Tabela, widok

    tabela lub widok ma wyzwalacz Z INSTEAD.

    1 = True

    0 = False

    HasUpdateTrigger

    Tabela, widok

    tabela lub widok ma wyzwalacz UPDATE.

    1 = True

    0 = False

    IsAnsiNullsOn

    Transact-SQL Funkcja, Transact-SQL Procedura, w tabela, Transact-SQL wyzwalacz, widok

    Określa, że ustawienie opcji ANSI wartości null w tabela jest włączone.Oznacza to, że wszystkie porównania przed wartością null dawać w wyniku nieokreślona.To ustawienie jest stosowane do wszystkich wyrażeń w definicji tabela, w tym dla kolumny obliczane i ograniczenia, tak długo, jak w tabela istnieje.

    1 = True

    0 = False

    IsCheckCnst

    Każdy obiekt schematu o zakresie

    Ograniczenie typu CHECK.

    1 = True

    0 = False

    IsConstraint

    Każdy obiekt schematu o zakresie

    Jest pojedyncza kolumna wyboru, DEFAULT lub klucz obcy ograniczenie dla kolumny lub tabela.

    1 = True

    0 = False

    IsDefault

    Każdy obiekt schematu o zakresie

    Domyślnie powiązania.

    1 = True

    0 = False

    IsDefaultCnst

    Każdy obiekt schematu o zakresie

    Ograniczenie DEFAULT.

    1 = True

    0 = False

    IsDeterministic

    Funkcja widoku

    Właściwość determinism widoku lub funkcja.

    1 = Deterministic

    0 = Nie deterministyczny

    IsEncrypted

    Transact-SQL Funkcja, Transact-SQL Procedura, w tabela, Transact-SQL wyzwalacz, widok

    Wskazuje, że oryginalny tekst instrukcja modułu został przekonwertowany na format obfuscated.Dane wyjściowe obfuscation nie jest bezpośrednio widoczne w dowolnym z widoki wykazu w SQL Server 2005. Użytkownicy, którzy nie mają dostępu do tabele systemowe lub plików bazy danych nie można pobrać obfuscated tekstu.Tekst jest jednak dostępne dla użytkowników, którzy mieli dostęp tabele systemowe przez DAC port lub bezpośrednio dostęp do plików bazy danych.Ponadto użytkownicy, którzy mogą dołączać debuger do procesu serwera może pobierać oryginalnego procedury z pamięci w czasie wykonywania.

    1 = Zaszyfrowana

    0 = Nie zaszyfrowany

    podstawowy typ danych: int

    IsExecuted

    Każdy obiekt schematu o zakresie

    Obiekt, które mogą być uruchomione (widoku, procedury, funkcja lub wyzwalacza).

    1 = True

    0 = False

    IsExtendedProc

    Każdy obiekt schematu o zakresie

    Rozszerzona procedura.

    1 = True

    0 = False

    IsForeignKey

    Każdy obiekt schematu o zakresie

    Ograniczenie klucz obcy.

    1 = True

    0 = False

    IsIndexed

    Tabela, widok

    Tabela lub widok, który ma indeks.

    1 = True

    0 = False

    IsIndexable

    Tabela, widok

    Tabela lub widok, w którym można utworzyć indeks.

    1 = True

    0 = False

    IsInlineFunction

    Funkcja

    Wbudowana funkcja.

    1 = Wbudowanej funkcja

    0 = Nie wbudowanych funkcja

    IsMSShipped

    Każdy obiekt schematu o zakresie

    Obiekt utworzony podczas instalacji SQL Server.

    1 = True

    0 = False

    IsPrimaryKey

    Każdy obiekt schematu o zakresie

    Ograniczenia klucz podstawowy.

    1 = True

    0 = False

    Wartość NULL = nie funkcją lub obiektu, identyfikator jest nieprawidłowy.

    IsProcedure

    Każdy obiekt schematu o zakresie

    Procedura.

    1 = True

    0 = False

    IsQuotedIdentOn

    Transact-SQL Funkcja, Transact-SQL Procedura, w tabela, Transact-SQL wyzwalacz, widok, ograniczenie typu CHECK, domyślny, definicja

    Określa, że ustawienie cytowany identyfikator dla obiektu jest włączone.Oznacza to, że znaki cudzysłowu ograniczania identyfikatorów wszystkie wyrażenia w definicji obiektu.

    1 = DALEJ

    0 = WYŁĄCZONE

    IsQueue

    Każdy obiekt schematu o zakresie

    usługa Broker kolejki

    1 = True

    0 = False

    IsReplProc

    Każdy obiekt schematu o zakresie

    Procedura replikacja.

    1 = True

    0 = False

    IsRule

    Każdy obiekt schematu o zakresie

    Reguła związana.

    1 = True

    0 = False

    IsScalarFunction

    Funkcja

    wartość skalarna-wartości funkcja.

    1 = funkcja skalarna

    0 = Nie wartości wartość skalarna funkcja

    IsSchemaBound

    Funkcja widoku

    Schemat powiązane widoku utworzone za pomocą SCHEMABINDING lub funkcja.

    1 = Związanych ze schematem

    0 = Nie związanych ze schematem.

    IsSystemTable

    Table

    tabela systemowa.

    1 = True

    0 = False

    IsTable

    Table

    Tabela.

    1 = True

    0 = False

    IsTableFunction

    Funkcja

    funkcja zwracająca tabela.

    1 = funkcja zwracająca tabelę

    0 = Nie wycenione tabela funkcja

    IsTrigger

    Każdy obiekt schematu o zakresie

    Wyzwalacz.

    1 = True

    0 = False

    IsUniqueCnst

    Każdy obiekt schematu o zakresie

    Ograniczenie UNIQUE.

    1 = True

    0 = False

    IsUserTable

    Table

    Tabela zdefiniowanej przez użytkownika.

    1 = True

    0 = False

    IsView

    Bez opuszczania środowiska, można zarządzać sieci fizycznej i łatwo zespołów projektów.

    Służy do wyświetlania.

    1 = True

    0 = False

    OwnerId

    Każdy obiekt schematu o zakresie

    Właściciel obiektu.

    NoteNote:
    Właściciela schematu niekoniecznie jest właścicielem obiektu.Na przykład obiektów podrzędność (te miejsca parent_object_id jest niepustych) zawsze zwraca ten sam identyfikator właściciela jako nadrzędny.

    Nonnull = identyfikator użytkownika bazy danych właściciela obiektu.

    TableDeleteTrigger

    Table

    Tabela ma wyzwalacz DELETE.

    >1 = Identyfikator pierwszego wyzwalacza z określonego typu.

    TableDeleteTriggerCount

    Table

    Tabela ma określoną liczbę DELETE wyzwalaczy.

    >0 = Liczba DELETE wyzwalaczy.

    TableFullTextMergeStatus

    Table

    Decyduje o tym, czy tabela, ma indeks pełnotekstowy, który jest aktualnie scalania.

    0 = Tabela ma indeks pełnotekstowy lub indeks pełnotekstowy nie znajduje się w scalania.

    1 = Pełnego tekstu Trwa scalanie indeksu.

    TableFullTextBackgroundUpdateIndexOn

    Table

    Tabela ma aktualizować indeksu (autochange śledzenia) włączone tła pełnego tekstu.

    1 = TRUE

    0 = FALSE

    TableFulltextCatalogId

    Table

    Identyfikator wykaz pełnotekstowy, w którym znajduje się dane indeksu pełnotekstowego w tabela.

    Różna od zera = identyfikator katalogu pełny tekst, skojarzony z indeks unikatowy, identyfikujący wierszy w tabela indeksowanej pełnego tekstu.

    0 = Tabela ma indeks pełnotekstowy.

    TableFulltextChangeTrackingOn

    Table

    Tabela ma śledzenia zmian pełnego tekstu włączony.

    1 = TRUE

    0 = FALSE

    TableFulltextDocsProcessed

    Table

    Liczba wierszy przetwarzane od rozpoczęcia pełnotekstowy.W tabela jest indeksowany do przeszukiwanie pełnego tekstu wszystkie kolumny o jeden wiersz uważane są za część jednego dokumentu do indeksowania.

    0 = Nie aktywnych przeszukiwanie lub indeksowania pełnotekstowego zostało ukończone.

    > 0 = Jedną z następujących czynności:

    • Liczba dokumentów przetworzonych przez wstawienia lub aktualizacji operacji od początku pełny dupleks, przyrostowe lub ręcznych zmian zapełnianie.

    • Liczba wierszy przetwarzane przez wstawiania lub operacji aktualizacji od czasu włączenia śledzenia tła aktualizacji indeksu zapełnianie zmian, zmiany schematu indeks pełnotekstowy, wykaz pełnotekstowy przebudowany lub wystąpienie programu SQL Server ponownie uruchomiony i tak dalej.

    Wartość NULL = tabela ma indeks pełnotekstowy.

    NoteNote:
    Ta właściwość nie monitoruje ani nie liczba usuniętych wierszy.

    TableFulltextFailCount

    Table

    Liczba wierszy, które nie indeksowania wyszukiwanie.

    0 = zapełnianie zostało ukończone.

    > 0 = Jedną z następujących czynności:

    • Liczba dokumentów, które nie były indeksowane, od momentu rozpoczęcia śledzenia zapełnianie zmian pełne i przyrostowe aktualizacja ręczna.

    • W przypadku zmian z tłem aktualizować indeksu, liczba wierszy, które nie były indeksowane, od momentu rozpoczęcia zapełnianie lub ponowne uruchomienie komputera z zapełnianie.Może to być spowodowane przez zmiany schematu, odbudowywania wykazu, ponowne uruchomienie serwera i tak dalej.

    Wartość NULL = tabela ma indeks pełnotekstowy.

    TableFulltextItemCount

    Table

    Liczba wierszy, które zostały pomyślnie pełnotekstowego indeksowania.

    TableFulltextKeyColumn

    Table

    Identyfikator kolumna związane z jedną kolumną unikatowego indeksu, który uczestniczy w definicji indeksu pełnotekstowego.

    0 = Tabela ma indeks pełnotekstowy.

    TableFulltextPendingChanges

    Table

    Liczba oczekujących zmian zapisy do przetworzenia.

    0 = zmiany śledzenie nie jest włączona.

    Wartość NULL = tabela ma indeks pełnotekstowy.

    TableFulltextPopulateStatus

    Table

    0 = Bezczynna.

    1 = Pełny zapełnianie jest w toku.

    2 = Przyrostowe zapełnianie jest w toku.

    3 = Propagacji śledzenia zmian jest w toku.

    4 = Tła aktualizacji indeksu jest w toku, takie jak autochange śledzenia.

    5 = Pełnotekstowego indeksowania jest ograniczona lub wstrzymane.

    TableHasActiveFulltextIndex

    Table

    Tabela ma aktywne indeks pełnotekstowy.

    1 = True

    0 = False

    TableHasCheckCnst

    Table

    Tabela ma ograniczenie typu CHECK.

    1 = True

    0 = False

    TableHasClustIndex

    Table

    Tabela ma indeks klastrowany.

    1 = True

    0 = False

    TableHasDefaultCnst

    Table

    Tabela ma ograniczenie domyślne.

    1 = True

    0 = False

    TableHasDeleteTrigger

    Table

    Tabela ma wyzwalacz DELETE.

    1 = True

    0 = False

    TableHasForeignKey

    Table

    Tabela ma ograniczenie klucz obcy.

    1 = True

    0 = False

    TableHasForeignRef

    Table

    Tabela odwołuje się ograniczenie klucz obcy.

    1 = True

    0 = False

    TableHasIdentity

    Table

    Tabela zawiera kolumna tożsamości.

    1 = True

    0 = False

    TableHasIndex

    Table

    Tabela ma indeks dowolnego typu.

    1 = True

    0 = False

    TableHasInsertTrigger

    Table

    Obiekt ma wyzwalacza WSTAWIENIA.

    1 = True

    0 = False

    TableHasNonclustIndex

    Table

    Tabela ma indeks nieklastrowany.

    1 = True

    0 = False

    TableHasPrimaryKey

    Table

    Tabela ma zdefiniowany klucz podstawowy.

    1 = True

    0 = False

    TableHasRowGuidCol

    Table

    Tabela ma ROWGUIDCOL dla uniqueidentifier Kolumna.

    1 = True

    0 = False

    TableHasTextImage

    Table

    Tabela ma text, ntext, lub image Kolumna.

    1 = True

    0 = False

    TableHasTimestamp

    Table

    Tabela ma timestamp Kolumna.

    1 = True

    0 = False

    TableHasUniqueCnst

    Table

    Tabela ma ograniczenie UNIQUE.

    1 = True

    0 = False

    TableHasUpdateTrigger

    Table

    Obiekt ma wyzwalacz UPDATE.

    1 = True

    0 = False

    TableHasVarDecimalStorageFormat

    Table

    Tabela jest włączona dla vardecimal format przechowywania.

    1 = True

    0 = False

    TableInsertTrigger

    Table

    Tabela ma wyzwalacza WSTAWIENIA.

    >1 = Identyfikator pierwszego wyzwalacza z określonego typu.

    TableInsertTriggerCount

    Table

    Tabela ma określoną liczbę wyzwalacze INSERT.

    >0 = Liczba wyzwalacze INSERT.

    TableIsFake

    Table

    Tabela nie jest rzeczywistym.Jest wewnętrznie materialized na żądanie przez SQL Server Database Engine.

    1 = True

    0 = False

    TableIsLockedOnBulkLoad

    Table

    Tabela jest zablokowana z powodu BCP lub BULK INSERT zadanie.

    1 = True

    0 = False

    TableIsPinned

    Table

    Tabela jest przytrzymywany przechowywanych w pamięci podręcznej danych.

    0 = False

    Ta funkcja nie jest obsługiwana w SQL Server 2005 i nowszych.

    TableTextInRowLimit

    Table

    Bajtów maksymalną dozwoloną tekst w wierszu.

    Jeśli 0 tekst w wierszu opcja nie jest zestaw.

    TableUpdateTrigger

    Table

    Tabela ma wyzwalacz UPDATE.

    > 1 = Identyfikator pierwszego wyzwalacza z określonego typu.

    TableUpdateTriggerCount

    Table

    Tabela ma określoną liczbę UPDATE wyzwalaczy.

    > 0 = Liczba UPDATE wyzwalaczy.

    TableHasColumnSet

    Table

    Tabela zawiera kolumna zestaw.

    0 = False

    1 = True

    Aby uzyskać więcej informacji zobaczKorzystanie z zestawów kolumna.

Zwracane typy

int

Exceptions

Zwraca wartość NULL na błąd, lub jeśli wywołujący nie ma uprawnień do oglądania obiektu.

Użytkownik może tylko przeglądać metadane securables należące do tego użytkownika lub w którym użytkownik ma udzielonego uprawnienia.Oznacza to, czy wysyłających metadane wbudowane działa jak OBJECTPROPERTY może zwracać wartość NULL, jeśli użytkownik nie ma żadnych uprawnień do obiektu.Aby uzyskać więcej informacji zobacz Konfiguracja widoczność metadane i Troubleshooting Metadata Visibility.

Remarks

The Database Engine assumes that object_id is in the current database context.Kwerenda, która odwołuje się object_id w innej bazie danych zwróci wartość NULL lub niepoprawne wyniki. Na przykład, poniższa kwerenda bieżącego kontekstu bazy danych jest master Baza danych. The Database Engine will try to return the właściwość value for the specified object_id in that database instead of the database specified in the query. Kwerenda zwróci niepoprawne wyniki, ponieważ w widoku vEmployee nie jest in master Baza danych.

USE master;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'AdventureWorks.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTY)view_id, „IsIndexable") mogą zużyć zasoby komputera istotne, ponieważ oceny IsIndexable właściwość wymaga analizowania definicji widoku, normalizacji i optymalizacji częściowe.Mimo że IsIndexable właściwość identyfikuje tabele i widoki, które mogą być indeksowane, rzeczywiste Tworzenie indeksu, nadal może zakończyć się niepowodzeniem, jeśli nie są spełnione pewne wymagania kluczy indeksu.Aby uzyskać więcej informacji zobaczCREATE INDEX (języka Transact-SQL).

OBJECTPROPERTY)table_id, „TableHasActiveFulltextIndex„) zwróci wartość 1 (PRAWDA), gdy co najmniej jedną kolumna tabela zostanie dodany do indeksowania.Indeksowanie pełnotekstowe uaktywniany dla zapełnianie tak szybko, jak pierwsza kolumna jest dodawana do indeksowania.

Podczas tworzenia tabela IDENTIFIER PODANA opcja jest zawsze przechowywane jako ON metadane w tabela nawet wtedy, gdy opcja ta zestaw do OFF podczas tworzenia tabela.Dlatego też OBJECTPROPERTY)table_id, „IsQuotedIdentOn„) zwróci wartość 1 (PRAWDA).

Przykłady

A.Weryfikowanie, że obiekt jest tabelą

Następujące testy przykład czy UnitMeasure jest to tabela w AdventureWorks Baza danych.

B.Sprawdzania deterministyczny wartości wartość skalarna funkcja zdefiniowanej przez użytkownika

Następujące testy przykład czy funkcja zdefiniowanej przez użytkownika wartości wartość skalarna ufnGetProductDealerPrice, która zwraca money wartość, jest deterministyczny.

Wskazuje, że zestaw wyników ufnGetProductDealerPrice nie jest funkcją deterministyczny.

-----
0

C.Znajdowanie obiektów, które należą do określonego schematu

W poniższym przykładzie użyto SchemaId właściwość, aby przywrócić wszystkie obiekty, które należą do schematu Production.