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 .
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.
Uwaga: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.
Uwaga: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