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.
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.
NotŞ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.
NotBu ö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
Meta veri işlevler (Transact-sql)