Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Mevcut genişletilmiş bir mülkün değerini günceller.
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_updateextendedproperty
[ @name = ] N'name'
[ , [ @value = ] value ]
[ , [ @level0type = ] 'level0type' ]
[ , [ @level0name = ] N'level0name' ]
[ , [ @level1type = ] 'level1type' ]
[ , [ @level1name = ] N'level1name' ]
[ , [ @level2type = ] 'level2type' ]
[ , [ @level2name = ] N'level2name' ]
[ ; ]
Arguments
[ @name = ] ‘name’
Güncellenecek mülkün adı. @namesysname'dir, varsayılan yoktur.
[ @value = ] değeri
Mülkle ilişkili değer.
@value, varsayılan olarak NULL.
Değer boyutu 7.500 bayttan fazla olamaz.
[ @level0type = ] 'level0type'
Kullanıcı veya kullanıcı tarafından tanımlanan tür.
@level0typevarchar(128)'dir ve varsayılan olarak NULL. Geçerli girdiler şunlardır:
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
Önemli
USER ve TYPEseviye 0 tipleri SQL Server'ın gelecekteki bir sürümünde kaldırılacaktır. Bu özellikleri yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özellikleri kullanan uygulamaları değiştirmeyi planlayın.
SCHEMA
Seviye 0 türü olarak kullanın, yerine USER. Için TYPE, SCHEMA tipi olarak ve TYPE tipi olarak kullanın.
[ @level0name = ] N'level0name'
Belirtilen seviye 0 nesne türünün adı.
@level0namesysname'dir, varsayılan NULLolarak .
[ @level1type = ] 'level1type'
Seviye 1 nesnenin türü.
@level1typevarchar(128)'dir ve varsayılan olarak .NULL Geçerli girdiler şunlardır:
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
[ @level1name = ] N'level1name'
Belirtilen seviye 1 nesne türünün adı.
@level1namesysname'dir ve varsayılan olarak .NULL
[ @level2type = ] 'level2type'
Seviye 2 nesne türü.
@level2typevarchar(128)'dir ve varsayılan olarak .NULL Geçerli girdiler şunlardır:
COLUMNCONSTRAINTEVENT NOTIFICATIONINDEXPARAMETERTRIGGERNULL
[ @level2name = ] N'level2name'
Belirtilen seviye 2 nesne türünün adı.
@level2namesysname'dir ve varsayılan olarak .NULL
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Açıklamalar
Genişletilmiş özellikler belirttiğinizde, SQL Server veritabanındaki nesneler üç seviyeye (0, 1 ve 2) ayrılır. Seviye 0 en yüksek seviyedir ve veritabanı kapsamında bulunan nesneler olarak tanımlanır. Seviye 1 nesneler bir şema veya kullanıcı kapsamı içinde, seviye 2 nesneler ise seviye 1 nesneler tarafından tutulur. Bu seviyelerden herhangi birinde nesneler için genişletilmiş özellikler tanımlanabilir. Bir seviyedeki bir nesneye yapılan referanslar, onları sahip olan veya içeren daha yüksek seviye nesnelerin isimleriyle nitelendirilmelidir.
Geçerli bir @name ve @value verildiğinde, eğer tüm nesne türleri ve isimleri NULL, güncellenen özellik mevcut veritabanına aittir.
Permissions
db_owner ve db_ddladmin sabit veritabanı rollerinin üyeleri, aşağıdaki istisna dışında herhangi bir nesnenin genişletilmiş özelliklerini güncelleyebiliyor: db_ddladmin veritabanına veya kullanıcılara veya rollere özellikler ekleyemez.
Kullanıcılar, sahip oldukları veya ALTER veya CONTROL izinlerine sahip olan nesnelere genişletilmiş özellikleri güncelleyebiliyor.
Örnekler
A. Bir sütunda genişletilmiş bir özelliği güncelleyin
Aşağıdaki örnek, tablodaki Captionsütundaki ID özelliğin T1 değerini günceller.
USE AdventureWorks2022;
GO
CREATE TABLE T1 (id INT, name CHAR (20));
GO
EXECUTE sp_addextendedproperty
@name = N'Caption',
@value = N'Employee ID',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
--Update the extended property.
EXECUTE sp_updateextendedproperty
@name = N'Caption',
@value = 'Employee ID must be unique.',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
B. Bir veritabanında genişletilmiş bir özelliği güncelle
Aşağıdaki örnek önce örnek veritabanında AdventureWorks2025 genişletilmiş bir özellik oluşturur ve ardından o özelliğin değerini günceller.
USE AdventureWorks2022;
GO
EXECUTE sp_addextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample OLTP Database';
GO
USE AdventureWorks2022;
GO
EXECUTE sp_updateextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample Database';
GO