Aracılığıyla paylaş


sp_addextendedproperty (Transact-SQL)

Genişletilmiş yeni bir özellik için bir veritabanı nesnesi ekler.

Topic link iconTransact-SQL sözdizimi kuralları

sp_addextendedproperty
    [ @name = ] { 'property_name' }
    [ , [ @value = ] { 'value' } 
        [ , [ @level0type = ] { 'level0_object_type' } 
                    , [ @level0name = ] { 'level0_object_name' } 
                [ , [ @level1type = ] { 'level1_object_type' } 
                                    , [ @level1name = ] { 'level1_object_name' } 
                        [ , [ @level2type = ] { 'level2_object_type' } 
                                                    , [ @level2name = ] { 'level2_object_name' } 
                        ] 
                ]
        ] 
    ] 

Bağımsız değişkenler

  • [ @name ] = { 'property_name' }
    Is the name of the property to be added.property_name is sysname and cannot be NULL.Adları boş veya alfasayısal olmayan karakter dizelerinin ve ikili değerler de ekleyebilirsiniz.

  • [ @value= ] { 'value' }
    Is the value to be associated with the property.value is sql_variant, with a default of NULL.Boyutu value 7.500 bayttan fazla olamaz.

  • [ @level0type= ] { 'level0_object_type' }
    Is the type of level 0 object.level0_object_type is varchar(128), with a default of NULL.

    derleme, SÖZLEşMEDEN, geçerli girişleri olan olay bildirim, dosya grubu, TÜR, PARTITION işlev, PARTITION DÜZENI REMOTE SERVICE BAĞLAMASı, yol, SCHEMA, HIZMET, KULLANıCı, TRIGGER, TÜR, ILETI ve NULL.

    Important noteImportant Note:

    KULLANıCı ve düzey 0 türleri olarak TÜRÜ, gelecekteki bir sürümüne kaldırılacaktır. SQL Server. Bu özellikler, yeni iş geliştirme kullanmaktan kaçının ve bu özellikleri kullanan uygulamalar değiştirmek planlama.Düzey 0 türü yerine, KULLANıCı SCHEMA kullanın.Düzey 1 türünde TÜRÜ için SCHEMA TÜRÜ ve 0 düzey türü kullanın.

  • [ @level0name= ] { 'level0_object_name' }
    Is the name of the level 0 object type specified.level0_object_name is sysname with a default of NULL.

  • [ Level1Type = { 'level1_object_type' }
    Is the type of level 1 object.level1_object_type is varchar(128), with a default of NULL.Geçerli girişleri toplamak, VARSAYıLAN, işlev, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, tablo, TABLE_TYPE, TÜR, VIEW, XML SCHEMA koleksiyon ve NULL'dır.

  • [ @level1name= ] { 'level1_object_name' }
    Is the name of the level 1 object type specified.level1_object_name is sysname, with a default of NULL.

  • [ @level2type= ] { 'level2_object_type' }
    Is the type of level 2 object.level2_object_type is varchar(128), with a default of NULL.Geçerli girişleri SÜTUN CONSTRAINT, OLAY UYARıSı, INDIS, PARAMETER, TRIGGER ve NULL ' dir.

  • [ @level2name= ] { 'level2_object_name' }
    Is the name of the level 2 object type specified.level2_object_name is sysname, with a default of NULL.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Remarks

Genişletilmiş özellikler, nesneleri belirtmek için bir SQL Server Veritabanı üç düzeylerine sınıflandırması: 0, 1 ve 2. Düzey 0 en yüksek düzeyidir ve bu veritabanında yer alan nesneler olarak tanımlanan kapsam.Düzey 1 nesneler, şema ya da kullanıcı bir kapsamda bulunan ve düzey 2 nesneleri düzey 1 nesneler tarafından içerilir.Genişletilmiş özellikler, bu düzeyleri en nesneler için tanımlanabilir.

Bir düzey bir nesneye başvuru nesnelerin sahibi veya bunları içeren daha yüksek düzey adlarıyla nitelenmiş olmalıdır.Örneğin, bir tablo sütunu (Düzey 2) genişletilmiş bir özellik eklediğinizde, sütun ve tablo içeren şema (Düzey 0) içeren tablonun adı (Düzey 1) da belirtmeniz gerekir.

1 Ve 2 türleri, nesneleri ve bunların geçerli düzey 0 tam listesi için bkz: Veritabanı nesneleri üzerinde genişletilmiş özellikleri'ni kullanma.

Tüm nesne türlerini ve adları null, özellik, geçerli veritabanına kendisini aittir.

Genişletilmiş özellikler, sistem nesneleri, kullanıcı tanımlı bir veritabanı kapsam dışında nesneleri veya nesne değişkenlerini geçerli girdileri olarak listelenmeyen izin verilmez.

Genişletilmiş Özellikler çoğaltılıyor

Genişletilmiş özellikler, yalnızca ilk eşitleme yayıncı ve abone arasında çoğaltılır.Veya bir genişletilmiş özellik sonra bir ilk eşitleme, değişiklik çoğaltılmaz.Veritabanı nesneleri çoğaltma hakkında daha fazla bilgi için bkz: Yayımlama veri ve veritabanı nesneleri.

Şema ve.Kullanıcı

Bir veritabanı nesnesi için bir genişletilmiş özellik uyguladığınızda bu ad çözümlemesi belirsizlik neden olabileceğinden USER düzey 0 tür olarak belirterek önermiyoruz.Örneğin, kullanıcı Mary sahip iki şemalar (varsayalım.ebru and MySchema) ve her iki Bu şemalar adlı bir tablo içeriyor.Tablom.If Mary adds an extended property to table MyTable and specifies @level0type = N'USER',@level0name = Mary, it is not clear to which table the extended property is applied.Geriye dönük uyumluluğu sağlamak için SQL Server Özellik adında şemada bulunan tablo uygulanır ebru.Kullanıcılar ve şemalar hakkında daha fazla bilgi için bkz: Kullanıcı şeması ayırma.

İzinler

Üyeleri db_owner and db_ddladmin veritabanı rollerini sabit genişletilmiş özellikleri herhangi bir nesneyi aşağıdaki özel durum ekleyebilirsiniz: db_ddladmin özellikleri, veritabanının kendisi veya kullanıcılar veya roller için eklenemiyor.

Kullanıcılar, sahibi veya ALTER veya DENETIM izinlerine sahip bir nesne için genişletilmiş özellikler ekleyebilirler.Gerekli izinleri tam listesi için bkz: Veritabanı nesneleri üzerinde genişletilmiş özellikleri'ni kullanma.

Örnekler

C.Bir veritabanı için bir genişletilmiş özellik ekleme

Aşağıdaki örnek, özellik adını ekler. 'Caption' değeriyle 'AdventureWorks Sample OLTP Database' için AdventureWorks Örnek Veritabanı'nı tıklatın.

USE AdventureWorks;
GO
--Add a caption to the AdventureWorks Database object itself.
EXEC sp_addextendedproperty 
@name = N'Caption', @value = 'AdventureWorks Sample OLTP Database';

b.Bir sütuna bir genişletilmiş özellik ekleme bir tablo

Aşağıdaki örnek, bir resim yazısı özellik için bir sütun ekler. PostalCode Tablo Address.

USE AdventureWorks;
GO
EXEC sp_addextendedproperty 
@name = N'Caption', @value = 'Postal code is a required column.',
@level0type = N'Schema', @level0name = Person,
@level1type = N'Table',  @level1name = Address,
@level2type = N'Column', @level2name = PostalCode;
GO

c.Bir sütun için bir giriş maskesi özellik ekleme

Aşağıdaki örnek, bir giriş maskesi özellik ekler. '99999 or 99999-9999 or #### ###' sütun için PostalCode içinde tablo Address.

USE AdventureWorks;
GO
EXEC sp_addextendedproperty 
@name = N'Input Mask ', @value = '99999 or 99999-9999 or #### ###',
@level0type = N'Schema', @level0name = Person,
@level1type = N'Table', @level1name = Address, 
@level2type = N'Column',@level2name = PostalCode;
GO

d.Bir dosya grubu için bir genişletilmiş özellik ekleme

Aşağıdaki örnekte, bir genişletilmiş özellik eklenen PRIMARY dosya grubu.

USE AdventureWorks;
GO
EXEC sys.sp_addextendedproperty 
@name = N'MS_DescriptionExample', 
@value = N'Primary filegroup for the AdventureWorks sample database.', 
@level0type = N'FILEGROUP', @level0name = [PRIMARY];
GO