Udostępnij za pośrednictwem


OBJECTPROPERTY (Transact-SQL)

Zwraca informacje o schemacie Buforuj obiekty w bieżącej bazie danych.Lista obiektów o zakresie schematu, zobacz sys.Objects (Transact-SQL).Nie można użyć tej funkcja dla obiektów, które nie są schematu zakresie, takich jak definicja danych language (DDL) wyzwalaczy i powiadomień o zdarzenie .

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

OBJECTPROPERTY ( id , property ) 

Argumenty

  • id
    To wyrażenie , które reprezentuje identyfikator obiektu w bieżącej bazie danych.idjest int i jest przyjmowany jako obiektu o zakresie schematu w bieżącym kontekście bazy danych.

  • property
    To wyrażenie , które reprezentuje informacje mają być zwracane dla obiektu określonego przez id.propertymoże to być jedna z następujących wartości.

    Ostrzeżenie

    Jeżeli nie zaznaczono inaczej, zwracana jest wartość NULL podczas property jest nie nazwę prawidłowej właściwość , id jest nie identyfikator prawidłowego obiektu, id jest nieobsługiwany typ obiektu określonego property, lub wywołujący nie ma uprawnień do wyświetlenia obiektu metadane.

    Nazwa właściwości

    Typ obiektu

    Opis i wartości zwracane

    CnstIsClustKey

    Ograniczenia

    Ograniczenie klucza podstawowego z indeks klastrowany.

    1 = True

    0 = False

    CnstIsColumn

    Ograniczenia

    Ograniczenie wyboru, domyślne lub klucza OBCEGO w jednej kolumna.

    1 = True

    0 = False

    CnstIsDeleteCascade

    Ograniczenia

    Ograniczenia na klucz OBCY z opcją ON DELETE CASCADE.

    1 = True

    0 = False

    CnstIsDisabled

    Ograniczenia

    Ograniczenie wyłączone.

    1 = True

    0 = False

    CnstIsNonclustKey

    Ograniczenia

    Ograniczenie na klucz podstawowy lub unikatowe z indeks nieklastrowany.

    1 = True

    0 = False

    CnstIsNotRepl

    Ograniczenia

    Ograniczenie jest zdefiniowany za pomocą słów kluczowych nie dla replikacji.

    1 = True

    0 = False

    CnstIsNotTrusted

    Ograniczenia

    Ograniczenie zostało włączone bez sprawdzania, czy istniejące wiersze; w związku z tym ograniczenia nie mogą posiadać wszystkich wierszy.

    1 = True

    0 = False

    CnstIsUpdateCascade

    Ograniczenia

    Ograniczenia na klucz OBCY z opcją ON UPDATE CASCADE.

    1 = True

    0 = False

    ExecIsAfterTrigger

    Wyzwalacz

    Po wyzwalacza.

    1 = True

    0 = False

    ExecIsAnsiNullsOn

    Transact-SQL funkcja Transact-SQL procedury, Transact-SQL wyzwalacz, widok

    Ustawienia ANSI_NULLS, w czasjego tworzenia.

    1 = True

    0 = False

    ExecIsDeleteTrigger

    Wyzwalacz

    Usunięcie wyzwalacza.

    1 = True

    0 = False

    ExecIsFirstDeleteTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest usunięcia tabelapierwszego wyzwalacza.

    1 = True

    0 = False

    ExecIsFirstInsertTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest wstawianie tabelapierwszego wyzwalacza.

    1 = True

    0 = False

    ExecIsFirstUpdateTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest aktualizacja tabelapierwszego wyzwalacza.

    1 = True

    0 = False

    ExecIsInsertTrigger

    Wyzwalacz

    WSTAW wyzwalacz.

    1 = True

    0 = False

    ExecIsInsteadOfTrigger

    Wyzwalacz

    ZAMIAST wyzwalacza.

    1 = True

    0 = False

    ExecIsLastDeleteTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest usunięcia tabelaostatniego wyzwalacza.

    1 = True

    0 = False

    ExecIsLastInsertTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest wstawianie tabelaostatniego wyzwalacza.

    1 = True

    0 = False

    ExecIsLastUpdateTrigger

    Wyzwalacz

    Uruchamiany, gdy wykonywana jest aktualizacja tabelaostatniego wyzwalacza.

    1 = True

    0 = False

    ExecIsQuotedIdentOn

    Transact-SQL funkcja Transact-SQL procedury, Transact-SQL wyzwalacz, widok

    Ustawienie QUOTED_IDENTIFIER w czasjego tworzenia.

    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 replikacji.

    1 = True

    0 = False

    ExecIsUpdateTrigger

    Wyzwalacz

    AKTUALIZUJ wyzwalacz.

    1 = True

    0 = False

    HasAfterTrigger

    Widoku tabeli

    Tabela lub widok ma wyzwalacz po.

    1 = True

    0 = False

    HasDeleteTrigger

    Widoku tabeli

    Tabela lub widok ma wyzwalacz usunięcia.

    1 = True

    0 = False

    HasInsertTrigger

    Widoku tabeli

    Tabela lub widok ma wyzwalacza WSTAWIENIA.

    1 = True

    0 = False

    HasInsteadOfTrigger

    Widoku tabeli

    Tabela lub widok ma wyzwalacza INSTEAD OF.

    1 = True

    0 = False

    HasUpdateTrigger

    Widoku tabeli

    Tabela lub widok ma wyzwalacza aktualizacji.

    1 = True

    0 = False

    IsAnsiNullsOn

    Transact-SQL funkcja Transact-SQL procedury, w tabela Transact-SQL wyzwalacz, widok

    Określa, że ustawienie opcji ANSI wartości null w tabela dalej.Oznacza to, że nieznany oceny wszystkich porównań przeciwko wartość null .To ustawienie dotyczy wszystkich wyrażeń w definicji tabela , w tym kolumny obliczane i ograniczenia, tak długo, jak istnieje w tabela .

    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 ograniczenie pojedynczej kolumna wyboru, domyślne lub klucza OBCEGO w tabelalub kolumna .

    1 = True

    0 = False

    IsDefault

    Każdy obiekt schematu o zakresie

    Domyślne powiązania.

    1 = True

    0 = False

    IsDefaultCnst

    Każdy obiekt schematu o zakresie

    Ograniczenie DOMYOLNE.

    1 = True

    0 = False

    IsDeterministic

    Funkcja widoku

    Determinism właściwość widoku lub funkcja .

    1 = Deterministic

    0 = Nie firmy Deterministic Networks

    IsEncrypted

    Transact-SQL funkcja Transact-SQL procedury, w tabela Transact-SQL wyzwalacz, widok

    Wskazuje, że oryginalny tekst modułu instrukcja został przekonwertowany do formatu posiadający mylącą.Wyjście zaciemniania nie jest bezpośrednio widoczne w innych widoki wykazu w SQL Server 2005.Użytkownicy bez dostępu do plików tabele systemowe lub bazy danych nie można pobrać posiadający mylącą tekstu.Tekst jest jednak dostępne dla użytkowników, które można albo access tabele systemowe nad DAC portu lub bezpośrednio uzyskać dostępu do plików bazy danych.Ponadto użytkownicy, którzy mogą dołączać debuger do procesu serwera można pobrać oryginalnej procedury z pamięci w czaswykonywania.

    1 = Zaszyfrowana

    0 = Nie zaszyfrowany

    Typ danych podstawowych: int

    IsExecuted

    Każdy obiekt schematu o zakresie

    Obiekt może być wykonywany (widoku, procedury, funkcjalub wyzwalacza).

    1 = True

    0 = False

    IsExtendedProc

    Każdy obiekt schematu o zakresie

    Rozszerzone procedury.

    1 = True

    0 = False

    IsForeignKey

    Każdy obiekt schematu o zakresie

    Ograniczenia na klucz OBCY.

    1 = True

    0 = False

    IsIndexed

    Widoku tabeli

    Tabela lub widok, który ma indeks.

    1 = True

    0 = False

    IsIndexable

    Widoku tabeli

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

    1 = True

    0 = False

    IsInlineFunction

    Funkcja

    funkcjaśródwierszowej.

    1 = Wbudowanej funkcja

    0 = Nie funkcjaśródwierszowej

    IsMSShipped

    Każdy obiekt schematu o zakresie

    Obiekt utworzony podczas instalacji SQL Server.

    1 = True

    0 = False

    IsPrimaryKey

    Każdy obiekt schematu o zakresie

    Ograniczenie klucza podstawowego.

    1 = True

    0 = False

    NULL = nie funkcjalub obiektu, identyfikator jest nieprawidłowy.

    IsProcedure

    Każdy obiekt schematu o zakresie

    Procedura.

    1 = True

    0 = False

    IsQuotedIdentOn

    Transact-SQL funkcja Transact-SQL procedury, w tabela Transact-SQL wyzwalacz, widok, ograniczenie typu CHECK, domyślny, definicja

    Określa, że ustawienie cytowany identyfikator obiektu jest włączone.Oznacza to, że znaki cudzysłowu ograniczającej identyfikatory w wyrażeniach wszystkich zaangażowanych w definicji obiektu.

    1 = ON

    0 = WYŁĄCZONE

    IsQueue

    Każdy obiekt schematu o zakresie

    Service Broker Kolejki

    1 = True

    0 = False

    IsReplProc

    Każdy obiekt schematu o zakresie

    Procedura replikacji.

    1 = True

    0 = False

    IsRule

    Każdy obiekt schematu o zakresie

    Reguła związana.

    1 = True

    0 = False

    IsScalarFunction

    Funkcja

    Wartości skalarnej funkcja.

    1 = Wartości skalarnej funkcja

    0 = Nie wartość skalarna-wycenione 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

    Tabela

    System tabela.

    1 = True

    0 = False

    IsTable

    Tabela

    Tabela.

    1 = True

    0 = False

    IsTableFunction

    Funkcja

    Oródwierszową funkcja.

    1 = Oródwierszową funkcja

    0 = tabela-wycenione funkcja

    IsTrigger

    Każdy obiekt schematu o zakresie

    Wyzwalacz.

    1 = True

    0 = False

    IsUniqueCnst

    Każdy obiekt schematu o zakresie

    Ograniczenie typu UNIQUE.

    1 = True

    0 = False

    IsUserTable

    Tabela

    Zdefiniowany przez użytkownika tabela.

    1 = True

    0 = False

    IsView

    Widok

    Widok.

    1 = True

    0 = False

    OwnerId

    Każdy obiekt schematu o zakresie

    Właściciel obiektu.

    UwagaUwaga:
    Właściciela schematu nie jest właścicielem obiektu.Na przykład, obiekty podrzędność (tych, na których parent_object_id jest niepustych) zawsze zwraca ten sam identyfikator właściciela jako nadrzędny.

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

    TableDeleteTrigger

    Tabela

    Tabela ma wyzwalacz usunięcia.

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

    TableDeleteTriggerCount

    Tabela

    Tabela ma określoną liczbę Usuwanie wyzwalaczy.

    >0 = Liczba Usuwanie wyzwalaczy.

    TableFullTextMergeStatus

    Tabela

    Czy tabela , ma indeks pełnotekstowy, która jest aktualnie w scalaniu.

    0 = Tabeli nie ma indeksu pełnotekstowego lub indeksu pełnotekstowego nie znajduje się w scalaniu.

    1 = Pełnego tekstu indeks jest w scalaniu.

    TableFullTextBackgroundUpdateIndexOn

    Tabela

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

    1 = TRUE

    0 = FALSE

    TableFulltextCatalogId

    Tabela

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

    Niezerowa = identyfikator katalogu pełnego tekstu, skojarzone z indeks unikatowy identyfikuje wierszy w indeksowanej pełnotekstowe tabela.

    0 = Nie posiada indeksu pełnotekstowego.

    TableFulltextChangeTrackingOn

    Tabela

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

    1 = TRUE

    0 = FALSE

    TableFulltextDocsProcessed

    Tabela

    Liczba wierszy przetworzonych od rozpoczęcia indeksowania pełnotekstowego.W tabela poindeksowanych przeszukiwanie pełnego tekstuwszystkie kolumny jeden wiersz uważane są za część jednego dokumentu mają być indeksowane.

    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 wstawisz lub zaktualizujesz operacji od początku pełnej, przyrostowe lub ręcznych zmian zapełnianie.

    • Liczba wierszy przetworzonych przez Wstaw lub operacje aktualizacji od czasu włączenia śledzenia tła aktualizacji indeksu zapełnianie zmian, zmianie schematu indeksu pełnotekstowego, wykaz pełnotekstowy przebudowany lub wystąpienie SQL Server ponownie uruchomiony i tak dalej.

    NULL = tabela nie ma indeksu pełnotekstowego.

    UwagaUwaga:
    Ta właściwość nie monitorowania lub liczba usuniętych wierszy.

    TableFulltextFailCount

    Tabela

    Liczba wierszy, które nie indeksu wyszukiwania pełnotekstowego.

    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łnianiepełnej, przyrostowe i ręczna aktualizacja zmian.

    • Zmian z tłem aktualizacji indeksu liczbę wierszy, które nie były indeksowane od momentu rozpoczęcia zapełnianielub ponownego uruchomienia zapełnianie.Może to być spowodowane przez zmiany schematu, Odbuduj wykazu, ponowne uruchomienie serwera i tak dalej.

    NULL = tabela nie ma indeksu pełnotekstowego.

    TableFulltextItemCount

    Tabela

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

    TableFulltextKeyColumn

    Tabela

    Identyfikator kolumna związane z jedno -kolumna indeks unikatowy , który uczestniczy w definicji indeksu pełnotekstowego.

    0 = Nie posiada indeksu pełnotekstowego.

    TableFulltextPendingChanges

    Tabela

    Liczba oczekujących zmian zapisy do przetworzenia.

    0 = zmiana śledzenie nie jest włączone.

    NULL = tabela nie ma indeksu pełnotekstowego.

    TableFulltextPopulateStatus

    Tabela

    0 = Bezczynności.

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

    2 = Przyrostowe zapełnianie jest w toku.

    3 = Propagację zmian rejestrowanych jest w toku.

    4 = Tło Aktualizuj indeks jest w toku, takich jak autochange śledzenia.

    5 = Pełnotekstowego indeksowania jest redukowana lub wstrzymane.

    TableHasActiveFulltextIndex

    Tabela

    Tabela ma aktywne indeksu pełnotekstowego.

    1 = True

    0 = False

    TableHasCheckCnst

    Tabela

    Tabela ma ograniczenie typu CHECK.

    1 = True

    0 = False

    TableHasClustIndex

    Tabela

    Tabela ma indeks klastrowany.

    1 = True

    0 = False

    TableHasDefaultCnst

    Tabela

    Tabela ma ograniczenie DOMYOLNE.

    1 = True

    0 = False

    TableHasDeleteTrigger

    Tabela

    Tabela ma wyzwalacz usunięcia.

    1 = True

    0 = False

    TableHasForeignKey

    Tabela

    Tabela ma ograniczenie klucza OBCEGO.

    1 = True

    0 = False

    TableHasForeignRef

    Tabela

    Tabela odwołuje się ograniczenie na klucz OBCY.

    1 = True

    0 = False

    TableHasIdentity

    Tabela

    Tabela zawiera kolumna.

    1 = True

    0 = False

    TableHasIndex

    Tabela

    Tabela ma indeks dowolnego typu.

    1 = True

    0 = False

    TableHasInsertTrigger

    Tabela

    Obiekt ma wyzwalacza WSTAWIENIA.

    1 = True

    0 = False

    TableHasNonclustIndex

    Tabela

    Tabela ma indeks nieklastrowany.

    1 = True

    0 = False

    TableHasPrimaryKey

    Tabela

    Tabela ma kluczpodstawowy.

    1 = True

    0 = False

    TableHasRowGuidCol

    Tabela

    Tabela ma ROWGUIDCOL dla uniqueidentifier kolumna.

    1 = True

    0 = False

    TableHasTextImage

    Tabela

    Table has a text, ntext, or image kolumna.

    1 = True

    0 = False

    TableHasTimestamp

    Tabela

    Tabela ma timestamp kolumna.

    1 = True

    0 = False

    TableHasUniqueCnst

    Tabela

    Tabela ma ograniczenie UNIQUE.

    1 = True

    0 = False

    TableHasUpdateTrigger

    Tabela

    Obiekt ma wyzwalacza aktualizacji.

    1 = True

    0 = False

    TableHasVarDecimalStorageFormat

    Tabela

    Tabela jest włączona dla vardecimal format magazynu.

    1 = True

    0 = False

    TableInsertTrigger

    Tabela

    Tabela ma wyzwalacza WSTAWIENIA.

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

    TableInsertTriggerCount

    Tabela

    Tabela ma określoną liczbę Wyzwalacze WSTAWIANIA.

    >0 = Liczba Wyzwalacze WSTAWIANIA.

    TableIsFake

    Tabela

    Tabela nie jest rzeczywistym.Jest wewnętrznie materialized na żądanie przez Aparat baz danych programu SQL Server.

    1 = True

    0 = False

    TableIsLockedOnBulkLoad

    Tabela

    Tabela jest zablokowana z powodu bcp lub luzem WSTAW zadanie.

    1 = True

    0 = False

    TableIsPinned

    Tabela

    Tabela jest przypięty przechowywanych w pamięci podręcznej danych.

    0 = False

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

    TableTextInRowLimit

    Tabela

    Maksymalna liczba bajtów dozwolona dla text in row.

    Jeżeli 0 text in row opcja nie jest zestaw.

    TableUpdateTrigger

    Tabela

    Tabela ma wyzwalacza aktualizacji.

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

    TableUpdateTriggerCount

    Tabela

    tabela ma określony numer wyzwalaczy aktualizacji.

    >0 = Liczba aktualizacji wyzwalaczy.

    TableHasColumnSet

    Tabela

    Tabela zawiera kolumna zestaw.

    0 = False

    1 = True

    Aby uzyskać więcej informacji, zobacz Korzystanie z zestawów kolumny.

Zwracane typy

int

Wyjątki

Zwraca wartość NULL w błąd lub jeśli wywołujący nie ma uprawnień do wyświetlenia obiektu.

Użytkownik może tylko przeglądać metadane securables, który użytkownik jest właścicielem lub dla którego użytkownik ma uprawnienia.Oznacza to, że metadane-wysyłających, funkcje wbudowane takie 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ść metadanych i Rozwiązywanie problemów z metadanych widoczności.

Uwagi

Aparat baz danych Zakłada się, że object_id znajduje się w bieżącym kontekście bazy danych.Kwerendy, która odwołuje się do 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 bazy danych.Aparat baz danych Spróbuj zwrócić wartość właściwość dla określonego object_id w tej bazie danych, zamiast bazy danych określonej w kwerendzie.Kwerenda zwraca nieprawidłowe wyniki , ponieważ widok vEmployee nie jest w master bazy danych.

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

OBJECTPROPERTY (view_id, "isindexable") mogą zużyć zasoby komputera znaczące, ponieważ oceny IsIndexable właściwość wymaga analizy definicji widoku, normalizacji i częściowe optymalizacji.Chociaż IsIndexable właściwość identyfikuje tabel lub widoków, które mogą być indeksowane, rzeczywiste tworzenia indeksu nadal może się nie powieść, jeśli nie są spełnione pewne wymagania klucz indeksu.Aby uzyskać więcej informacji, zobacz CREATE INDEX (Transact-SQL).

OBJECTPROPERTY (table_id, "tablehasactivefulltextindex") zwróci wartość 1 (PRAWDA), gdy co najmniej jedną kolumna tabela zostanie dodany do indeksowania.Indeksowania pełnotekstowego uaktywnia zapełnianie tak szybko, jak pierwsza kolumna jest dodawana do indeksowania.

Podczas tworzenia tabela opcji Identyfikator podane jest zawsze przechowywane w sprawie w metadane tabelanawet wtedy, gdy opcja jest zestaw na wyłączone, podczas tworzenia tabela .W związku z tym, OBJECTPROPERTY (table_id, "isquotedidenton") zawsze zwraca wartość 1 (PRAWDA).

Przykłady

A.Weryfikowanie, że obiekt jest tabela

Następujące badania przykład czy UnitMeasure jest tabela w AdventureWorks2008R2 bazy danych.

USE AdventureWorks2008R2;
GO
IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 1
   PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 0
   PRINT 'UnitMeasure is not a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') IS NULL
   PRINT 'ERROR: UnitMeasure is not a valid object.';
GO

B.Sprawdzenie, że wartość skalarna— firmy Deterministic Networks jest wyceniana przez użytkownika funkcja

Następujące badania przykład czy zdefiniowane przez użytkownika wartość skalarna-wycenione funkcja ufnGetProductDealerPrice, która oblicza money wartooć, jest deterministyczny.

USE AdventureWorks2008R2;
GO
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetProductDealerPrice'), 'IsDeterministic');
GO

zestaw wyników pokazuje, że ufnGetProductDealerPrice nie jest firmy Deterministic Networks funkcja.

-----

0

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

W poniższym przykładzie użyto SchemaId właściwość do zwrócenia wszystkich obiektów, które należą do schematu Production.

USE AdventureWorks2008R2;
GO
SELECT name, object_id, type_desc
FROM sys.objects 
WHERE OBJECTPROPERTY(object_id, N'SchemaId') = SCHEMA_ID(N'Production')
ORDER BY type_desc, name;
GO