objectproperty (Transact-sql)

Geçerli veritabanında şema kapsamlı nesneler hakkında bilgi verir. Şema kapsamlı nesne listesi için bkz: sys.Objects (Transact-sql). Bu işlevi, veri tanım dili (ddl) Tetikleyicileri ve olay bildirimleri gibi şema kapsamlı, olmayan nesneler için kullanılamaz.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

OBJECTPROPERTY ( id , property ) 

Bağımsız değişkenler

  • id
    Geçerli veritabanında nesne Kımlığı temsil eden bir ifadedir. idise intve bir şema kapsamlı nesne geçerli veritabanı bağlamında varsayılır.

  • property
    Belirtilen nesne için döndürülecek bilgi gösteren bir deyim olduğunu id. propertyAşağıdaki değerlerden biri olabilir.

    [!NOT]

    Aksi belirtilmedikçe, boş zaman döndürülür propertygeçerli özellik adı değil, idgeçerli nesne Kımlığı değil olduğunu idbir desteklenmeyen nesne türü için belirtilen property, veya arayan nesnenin meta verileri görüntüleme iznine sahip değil.

    Özellik adı

    Nesne türü

    Açıklama ve döndürülen değerler

    CnstIsClustKey

    Kısıtlama

    PRIMARY key kısıtlaması ile kümelenmiş bir dizin.

    1 = True

    0 = False

    CnstIsColumn

    Kısıtlama

    Tek bir sütun check, default veya FOREIGN key kısıtlaması.

    1 = True

    0 = False

    CnstIsDeleteCascade

    Kısıtlama

    on delete cascade seçeneği ile FOREIGN key kısıtlaması.

    1 = True

    0 = False

    CnstIsDisabled

    Kısıtlama

    Engelli kısıtlaması.

    1 = True

    0 = False

    CnstIsNonclustKey

    Kısıtlama

    PRIMARY key veya UNIQUE sınırlaması kümelendirilmemiş dizini.

    1 = True

    0 = False

    CnstIsNotRepl

    Kısıtlama

    Kısıtlaması not for REPLICATION anahtar sözcükler kullanılarak tanımlanır.

    1 = True

    0 = False

    CnstIsNotTrusted

    Kısıtlama

    Kısıtlama varolan satırları kontrol olmadan etkin; Bu nedenle, tüm satırlar için kısıtlamayı tutamayabilir.

    1 = True

    0 = False

    CnstIsUpdateCascade

    Kısıtlama

    on update cascade seçeneği ile FOREIGN key kısıtlaması.

    1 = True

    0 = False

    ExecIsAfterTrigger

    Tetikleyici

    Tetikleyici sonra.

    1 = True

    0 = False

    ExecIsAnsiNullsOn

    Transact-SQLişlev, Transact-SQLyordam Transact-SQLtetikleyici, görünümü

    Oluşturma zaman ansı_nulls ayarı.

    1 = True

    0 = False

    ExecIsDeleteTrigger

    Tetikleyici

    Tetikleyici silme.

    1 = True

    0 = False

    ExecIsFirstDeleteTrigger

    Tetikleyici

    Ilk tetikleyici tablo karşı bir delete yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsFirstInsertTrigger

    Tetikleyici

    Ilk tetikleyici INSERT karşı tablo yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsFirstUpdateTrigger

    Tetikleyici

    Ilk tetikleyici tablo karşı bir update yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsInsertTrigger

    Tetikleyici

    Tetikleyici Ekle.

    1 = True

    0 = False

    ExecIsInsteadOfTrigger

    Tetikleyici

    Tetikleyici ıNSTEAD OF.

    1 = True

    0 = False

    ExecIsLastDeleteTrigger

    Tetikleyici

    Son tetikleyici tablo karşı bir delete yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsLastInsertTrigger

    Tetikleyici

    Son tetikleyici INSERT karşı tablo yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsLastUpdateTrigger

    Tetikleyici

    Son tetikleyici tablo karşı bir update yürütüldüğünde harekete geçirildi.

    1 = True

    0 = False

    ExecIsQuotedIdentOn

    Transact-SQLişlev, Transact-SQLyordam Transact-SQLtetikleyici, görünümü

    Oluşturma zaman quoted_ıdentıfıer ayarı.

    1 = True

    0 = False

    ExecIsStartup

    Yordam

    Başlatma yordamı.

    1 = True

    0 = False

    ExecIsTriggerDisabled

    Tetikleyici

    Tetikleyici devre dışı.

    1 = True

    0 = False

    ExecIsTriggerNotForRepl

    Tetikleyici

    Tetikleyici not for REPLICATION tanımlı.

    1 = True

    0 = False

    ExecIsUpdateTrigger

    Tetikleyici

    update tetikleyici.

    1 = True

    0 = False

    HasAfterTrigger

    Tablo, görünüm

    Tablo veya Görünüm sonra tetikleyici vardır.

    1 = True

    0 = False

    HasDeleteTrigger

    Tablo, görünüm

    Tablo veya Görünüm delete tetikleyici vardır.

    1 = True

    0 = False

    HasInsertTrigger

    Tablo, görünüm

    Tablo veya Görünüm ekleme tetikleyicisi vardır.

    1 = True

    0 = False

    HasInsteadOfTrigger

    Tablo, görünüm

    Tablo veya Görünüm INSTEAD of tetikleyici vardır.

    1 = True

    0 = False

    HasUpdateTrigger

    Tablo, görünüm

    Tablo veya Görünüm update tetikleyici vardır.

    1 = True

    0 = False

    IsAnsiNullsOn

    Transact-SQLişlev, Transact-SQLyordamı, tablo, Transact-SQLtetikleyici, görünümü

    ANSI NULL seçeneği ayarı tablo on olduğunu belirtir. Yani tüm karşılaştırmalar karşı null değeri bilinmeyen değerlendirin. Bu ayar tüm tablo var sürece için hesaplanan sütunlar ve kısıtlamaları, birlikte tablo tanımlamasını, ifadelerde uygulanır.

    1 = True

    0 = False

    IsCheckCnst

    Herhangi bir şema kapsamlı nesne

    check kısıtlaması.

    1 = True

    0 = False

    IsConstraint

    Herhangi bir şema kapsamlı nesne

    Tek sütun check, default veya FOREIGN key kısıtlaması sütun veya tablo üzerinde olduğunu.

    1 = True

    0 = False

    IsDefault

    Herhangi bir şema kapsamlı nesne

    Varsayılan bağlı.

    1 = True

    0 = False

    IsDefaultCnst

    Herhangi bir şema kapsamlı nesne

    VARSAYILAN kısıtlama.

    1 = True

    0 = False

    IsDeterministic

    İşlevi, görüntüle

    İşlev veya görünümü determinism özelliği.

    1 = Deterministic

    0 = Deterministic değil

    IsEncrypted

    Transact-SQLişlev, Transact-SQLyordamı, tablo, Transact-SQLtetikleyici, görünümü

    Modül deyimi özgün metin obfuscated bir biçime dönüştürülmüş gösterir. Obfuscation çıktısını doğrudan herhangi bir katalog görünümlerinde görünür değil SQL Server 2005. Sistem tabloları veya veritabanı dosyalarına erişimi olmayan kullanıcılar obfuscated metni alınamıyor. Ancak, metin ya da sistem tabloları üzerinden erişebilen kullanıcılar için kullanılabilir dac bağlantı noktası ya da doğrudan veritabanı dosyalarına erişim. Ayrıca, sunucu işleme bir hata ayıklayıcı ekleyebileceğini kullanıcılar özgün yordamı zamanında bellekten alabilirsiniz.

    1 Şifreli =

    0 = Şifreli değil

    Temel veri türü:int

    IsExecuted

    Herhangi bir şema kapsamlı nesne

    Nesne yürütülen (görünüm, yordam, işlev veya tetikleyici).

    1 = True

    0 = False

    IsExtendedProc

    Herhangi bir şema kapsamlı nesne

    Genişletilmiş yordam.

    1 = True

    0 = False

    IsForeignKey

    Herhangi bir şema kapsamlı nesne

    FOREIGN key kısıtlaması.

    1 = True

    0 = False

    IsIndexed

    Tablo, görünüm

    Tablo veya Görünüm dizin vardır.

    1 = True

    0 = False

    IsIndexable

    Tablo, görünüm

    Tablo veya Görünüm dizin oluşturulabilir.

    1 = True

    0 = False

    IsInlineFunction

    İşlev

    Satır içi işlevi.

    1 = Satır içi işlevi

    0 = Satır içi işlevi değil

    IsMSShipped

    Herhangi bir şema kapsamlı nesne

    Yüklemesi sırasında oluşturulan nesne SQL Server.

    1 = True

    0 = False

    IsPrimaryKey

    Herhangi bir şema kapsamlı nesne

    PRIMARY key kısıtlaması.

    1 = True

    0 = False

    null = bir işlevi veya nesne Kımlığı geçerli değil.

    IsProcedure

    Herhangi bir şema kapsamlı nesne

    Yordam.

    1 = True

    0 = False

    IsQuotedIdentOn

    Transact-SQLişlev, Transact-SQLyordamı, tablo, Transact-SQLtetikleyici, görünümü, check kısıtlaması, default tanım

    Nesne için teklif edilen tanımlayıcı ayarı on olduğunu belirtir. Bu çift tırnak tanımlayıcıları tüm ifadeleri nesnesi tanımında katılan sınırlandırmak demektir.

    1 = ON

    0 = KAPALI

    IsQueue

    Herhangi bir şema kapsamlı nesne

    Service Broker sıra

    1 = True

    0 = False

    IsReplProc

    Herhangi bir şema kapsamlı nesne

    Çoğaltma yordam.

    1 = True

    0 = False

    IsRule

    Herhangi bir şema kapsamlı nesne

    İlişkili kuralı.

    1 = True

    0 = False

    IsScalarFunction

    İşlev

    Skalar değerli işlev.

    1 = Skalar değerli işlev

    0 = Skalar değerli işlev

    IsSchemaBound

    İşlevi, görüntüle

    İşlevi veya Görünüm SCHEMABINDING kullanılarak oluşturulan bir şemaya bağlı.

    1 = Şemaya bağlı

    0 = Şemaya bağlı değil.

    IsSystemTable

    Tablo

    Sistem tablosu.

    1 = True

    0 = False

    IsTable

    Tablo

    Tablo.

    1 = True

    0 = False

    IsTableFunction

    İşlev

    Tablo değerli işlev.

    1 = Tablo değerli işlev

    0 = Tablo değerli işlev

    IsTrigger

    Herhangi bir şema kapsamlı nesne

    Tetikleyici.

    1 = True

    0 = False

    IsUniqueCnst

    Herhangi bir şema kapsamlı nesne

    UNIQUE sınırlamasıyla.

    1 = True

    0 = False

    IsUserTable

    Tablo

    Kullanıcı tanımlı tablo.

    1 = True

    0 = False

    IsView

    Görünüm

    Görünümü.

    1 = True

    0 = False

    OwnerId

    Herhangi bir şema kapsamlı nesne

    Nesnenin sahibi.

    NotNot
    Şema sahibi mutlaka nesnenin sahibi değil.Örneğin, alt nesneler (o nerede parent_object_idnonnull olan) her zaman üst aynı sahibinin kimliği döndürür.

    Nonnull = nesne sahibi veritabanı kullanıcı Kımlığı.

    TableDeleteTrigger

    Tablo

    Tablo delete tetikleyici vardır.

    >1 = Belirtilen tür ile ilk tetikleyici Kımlığı.

    TableDeleteTriggerCount

    Tablo

    Tablo delete Tetikleyiciler belirtilen sayıda sahiptir.

    >0 = delete Tetikleyiciler sayısı.

    TableFullTextMergeStatus

    Tablo

    Bir tablo, bir tam metin dizini olan birleştirme içinde olup olmadığı.

    0 = Tablo tam metin dizinine sahip veya tam metin dizin birleştirme içinde değil.

    1 = Tam metin birleştirme içinde olduğu dizin.

    TableFullTextBackgroundUpdateIndexOn

    Tablo

    Tablo tam metin arka plan etkin dizini (autochange izleme) güncelleştirme vardır.

    1 = TRUE

    0 = FALSE

    TableFulltextCatalogId

    Tablo

    Tablo için tam metin dizin verileri bulunduğu tam metin kataloğu Kımlığı.

    Sıfır = tam metin dizini oluşturulmuş tablo satırları tanımlayan benzersiz bir dizin ile ilişkili tam metin kataloğu Kımlığı.

    0 = Tablo tam metin dizinine sahip.

    TableFulltextChangeTrackingOn

    Tablo

    Tablo tam metin değişiklik izleme etkinleştirilmiş vardır.

    1 = TRUE

    0 = FALSE

    TableFulltextDocsProcessed

    Tablo

    Tam metin dizin oluşturma başlangıç itibaren işlenen satır sayısı. Tam metin arama dizin oluşturulmuş bir tabloda, bir satır tüm sütunları sıralanacak bir belgenin bir parçası olarak kabul edilir.

    0 = Yok etkin gezinme veya tam metin dizin oluşturma tamamlandı.

    >0 = Aşağıdakilerden biri:

    • Tarafından işlenen belge sayısı veya işlemleri başlangıç bu yana tam, artımlı veya el ile değişiklik popülasyon izleme.

    • Ekleme veya değişiklik arka plan güncelleştirme dizini popülasyon ile izleme etkinleştirildikten sonra güncelleştirme işlemlerini, tam metin dizini şema değiştirildi, yeniden tam metin kataloğu veya örneği tarafından işlenen satır sayısı SQL Serveryeniden vb..

    null = tablo tam metin dizinine sahip.

    NotNot
    Bu özellik izlemez veya silinmiş satırları sayma.

    TableFulltextFailCount

    Tablo

    Tam metin arama dizin değil satır sayısı.

    0 = Popülasyon tamamlandı.

    >0 = Aşağıdakilerden biri:

    • Tam, artımlı ve manuel güncelleme değişiklik izleme popülasyon başlangıç itibaren dizinli belge sayısı.

    • Değişiklik izleme ile arka plan için dizini popülasyon başlatmak veya yeniden nüfus dizinli satırların güncelleştirin. Bu katalog, sunucunun yeniden başlatılması ve böylece yeniden, bir şema değişikliği tarafından neden olabilir.

    null = tablo tam metin dizinine sahip.

    TableFulltextItemCount

    Tablo

    Başarıyla tam metin dizini satır sayısı.

    TableFulltextKeyColumn

    Tablo

    Tam metin dizini tanımında katılan tek sütun benzersiz dizin ile ilişkili sütun Kımlığı.

    0 = Tablo tam metin dizinine sahip.

    TableFulltextPendingChanges

    Tablo

    Değişiklik izleme girişlerini işlemek için bekleyen sayısı.

    0 = değişiklik izleme etkinleştirilmiş.

    null = tablo tam metin dizinine sahip.

    TableFulltextPopulateStatus

    Tablo

    0 = Boşta.

    1 = Tam popülasyon ediyor.

    2 = Artımlı popülasyon ediyor.

    3 = İzlenen değişiklikler yayılmasını ediyor.

    4 = Arka plan autochange izleme gibi devam eden güncelleştirme dizindir.

    5 = Tam metin dizin oluşturma bastırma veya duraklatıldı.

    TableHasActiveFulltextIndex

    Tablo

    Tablo tam metin dizin etkin vardır.

    1 = True

    0 = False

    TableHasCheckCnst

    Tablo

    Tablo check kısıtlaması vardır.

    1 = True

    0 = False

    TableHasClustIndex

    Tablo

    Tablo kümelenmiş bir dizin vardır.

    1 = True

    0 = False

    TableHasDefaultCnst

    Tablo

    Tablo kısıtlaması vardır.

    1 = True

    0 = False

    TableHasDeleteTrigger

    Tablo

    Tablo delete tetikleyici vardır.

    1 = True

    0 = False

    TableHasForeignKey

    Tablo

    Tablo FOREIGN key kısıtlaması vardır.

    1 = True

    0 = False

    TableHasForeignRef

    Tablo

    Tablo FOREIGN key kısıtlaması tarafından başvurulan.

    1 = True

    0 = False

    TableHasIdentity

    Tablo

    Tablonun kimlik sütunu olan.

    1 = True

    0 = False

    TableHasIndex

    Tablo

    Tablo, dizin türü vardır.

    1 = True

    0 = False

    TableHasInsertTrigger

    Tablo

    Nesne ekleme tetikleyicisi oldu.

    1 = True

    0 = False

    TableHasNonclustIndex

    Tablo

    Tablo kümelendirilmemiş dizin vardır.

    1 = True

    0 = False

    TableHasPrimaryKey

    Tablo

    Tablo bir birincil anahtar vardır.

    1 = True

    0 = False

    TableHasRowGuidCol

    Tablo

    Tablo ROWGUIDCOL için vardır bir uniqueidentifiersütun.

    1 = True

    0 = False

    TableHasTextImage

    Tablo

    Tablo bir text, ntext, ya imagesütun.

    1 = True

    0 = False

    TableHasTimestamp

    Tablo

    Tablo bir timestampsütun.

    1 = True

    0 = False

    TableHasUniqueCnst

    Tablo

    Tablo UNIQUE sınırlamasıyla sahiptir.

    1 = True

    0 = False

    TableHasUpdateTrigger

    Tablo

    Nesne update tetikleyici vardır.

    1 = True

    0 = False

    TableHasVarDecimalStorageFormat

    Tablo

    Tablo için etkin vardecimaldepolama biçimi.

    1 = True

    0 = False

    TableInsertTrigger

    Tablo

    Tablo ekleme tetikleyicisi vardır.

    >1 = Belirtilen tür ile ilk tetikleyici Kımlığı.

    TableInsertTriggerCount

    Tablo

    INSERT Tetikleyiciler belirtilen sayıda tablo vardır.

    >0 = INSERT Tetikleyiciler sayısı.

    TableIsFake

    Tablo

    Tablo gerçek değil. O dahili olarak hayata tarafından isteğe bağlı SQL Server Veritabanı Altyapısı.

    1 = True

    0 = False

    TableIsLockedOnBulkLoad

    Tablo

    Tablo nedeniyle kilitli bir bcpveya iş bulk INSERT.

    1 = True

    0 = False

    TableIsPinned

    Tablo

    Tablo, veri önbellekte yapılacak sabitlendiği.

    0 = False

    Bu özellik desteklenmez SQL Server 2005ve sonrası.

    TableTextInRowLimit

    Tablo

    İzin verilen en fazla bayt için text in row.

    0 ise text in rowseçenek ayarlanmaz.

    TableUpdateTrigger

    Tablo

    Tablo update tetikleyici vardır.

    >1 = Belirtilen tür ile ilk tetikleyici Kımlığı.

    TableUpdateTriggerCount

    Tablo

    Tablo update Tetikleyiciler belirtilen sayıda sahiptir.

    >0 = update Tetikleyiciler sayısı.

    TableHasColumnSet

    Tablo

    Tablo ayarlamak sütun vardır.

    0 = False

    1 = True

    Daha fazla bilgi için, bkz. Sütun kümelerini kullanma.

Dönüş Türleri

int

Kural dışı durumlar

Döndürür null bir hata ya da arayan bir nesneyi görüntüleme iznine sahip değil.

Bir kullanıcı yalnızca kullanıcının sahip olduğu veya kullanıcı izni verilmiş securables meta verileri görüntüleyebilirsiniz. Bu gibi objectproperty kullanıcı nesnesi üzerinde izni yoksa null döndürebilir meta veri verilirken, yerleşik fonksiyonları olduğunu anlamına gelir. Daha fazla bilgi için, bkz. Meta veri görünürlük yapılandırma.

Açıklamalar

Veritabanı AltyapısıVarsayar object_idgeçerli veritabanı bağlamındadır. Başvuran bir sorgu bir object_idbaşka bir veritabanında boş veya yanlış sonuç döndürecektir. Örneğin, aşağıdaki sorgu geçerli veritabanı içeriği olan masterveritabanı. Veritabanı Altyapısıİçin belirtilen özellik değeri döndürmek çalışacağız object_idsorguda belirtilen veritabanı yerine, veritabanındaki. Sorgu yanlış sonuçlar verir çünkü görünümü vEmployeeolmayan masterveritabanı.

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

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

objectproperty (view_id, 'IsIndexable') çünkü önemli bilgisayar kaynaklarını tüketebilir değerlendirilmesi IsIndexableözellik gerektirir view definition, normalleştirme ve kısmi iyileştirme ayrıştırma. Her ne kadar IsIndexableözelliği Tablo veya görünümlerin, indekslenecek tanımlar, belirli dizin anahtar gereksinimleri değil futbolcu ise gerçek dizin yaratılması hala başarısız olabilir Daha fazla bilgi için, bkz. Index (Transact-sql) oluştur.

objectproperty (table_id, 'TableHasActiveFulltextIndex') için dizin tablonun en az bir sütun eklendiğinde 1 (doğru) değerini döndürür. İlk sütun için dizin eklenir en kısa sürede tam metin dizinlemesi için nüfus etkin hale gelir.

Bir tablo oluşturduğunuzda, tablo oluşturulduğunda için off seçeneği ayarlanmış olsa bile, tırnak içine alınmış TANIMLAYICI seçeneği her zaman on tablo meta verilerde depolanır. Bu nedenle, objectproperty (table_id, 'IsQuotedIdentOn') her zaman 1 (doğru) değerini döndürür.

Örnekler

A.Nesne bir tablo olduğunu doğrulama

Aşağıdaki örnek sınamaları olup olmadığını UnitMeasurebir tabloda AdventureWorks2012 veritabanı.

USE AdventureWorks2012;
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.Kullanıcı tanımlı skalar değerli işlev deterministik olduğunu doğrulama

Aşağıdaki örnek sınamaları olup olmadığını kullanıcı tanımlı skalar değerli işlev ufnGetProductDealerPrice, hangi döner bir moneydeğer, deterministic olur.

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

Sonuç kümesini gösteren ufnGetProductDealerPricedeterministik bir işlev değil.

-----

0

C.Belirli bir şemaya ait olan nesneleri bulma

Aşağıdaki örnek SchemaIdBu şemaya ait tüm nesneler döndürmek için özelliği Production.

USE AdventureWorks2012;
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

Ayrıca bkz.

Başvuru

columnproperty (Transact-sql)

Meta veri işlevler (Transact-sql)

objectpropertyex (Transact-sql)

YETKILENDIRME (Transact-sql)

typeproperty (Transact-sql)

sys.Objects (Transact-sql)