设为首页 收藏本站
查看: 1750|回复: 0

[经验分享] 如何应用Sql Server的扩展属性

[复制链接]

尚未签到

发表于 2016-11-1 04:09:50 | 显示全部楼层 |阅读模式
  Sql Server支持表的扩展属性和列的扩展属性。
  我们在设计表或列的时候,一般情况下,都是通过表或列的名字来表达其涵义,但有时候表名或列名无法具体描述时,就需要使用它们的扩展属性了。
  表及列的扩展属性可以通过SQL Server Management Studio来进行配置,如下图
DSC0000.jpg
  我们可以通过sys.fn_listextendedproperty来返回数据库对象的扩展属性值。用法如下:
  fn_listextendedproperty (
{ default | 'property_name' | NULL }
, { default | 'level0_object_type' | NULL }
, { default | 'level0_object_name' | NULL }
, { default | 'level1_object_type' | NULL }
, { default | 'level1_object_name' | NULL }
, { default | 'level2_object_type' | NULL }
, { default | 'level2_object_name' | NULL }
)
  看着比较乱,不过没关系,使用起来还是很简单。按照上面的图,把IsExtendField属性加到ErrorTime字段上,输入下面的
  Sql语句
  use AdventureWorks goselect * from sys.fn_listextendedproperty(default,'schema', 'dbo', 'table', 'ErrorLog', 'column', 'ErrorTime');
  执行结果如下:
  
objtype
objname
name
value
COLUMN
ErrorTime
IsExtendField
True
COLUMN
ErrorTime
MS_Description
The date and time at which the error occurred.
  如果想查看表的扩展属性,只需要把后两项设为null,代码如下:
  use AdventureWorks goselect * from sys.fn_listextendedproperty(default,'schema', 'dbo', 'table', 'ErrorLog', null, null);
  另外,除了使用SQL Server Management Studio来管理扩展属性外,还可以使用系统提供的三个存储过程来增加、
  修改,删除表或列的扩展发展。分别如下:sys.sp_addextendedproperty、sys.sp_dropextendedproperty、
sys.sp_updateextendedproperty
  语法分别为:
  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' }
]
]
]
]
  sp_dropextendedproperty
[ @name = ] { 'property_name' }
[ , [ @level0type = ] { 'level0_object_type' }
, [ @level0name = ] { 'level0_object_name' }
[ , [ @level1type = ] { 'level1_object_type' }
, [ @level1name = ] { 'level1_object_name' }
[ , [ @level2type = ] { 'level2_object_type' }
, [ @level2name = ] { 'level2_object_name' }
]
]
]
]
  sp_updateextendedproperty
[ @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' }
]
]
]
]
  下面以增加扩展属性为例,其他的用法类似。
  use AdventureWorks goexec sys.sp_addextendedproperty 'IsExtendField2','test','schema', 'dbo', 'table', 'ErrorLog', 'column', 'ErrorTime'

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293876-1-1.html 上篇帖子: sql server获取sql语句执行的毫秒数 下篇帖子: SQL Server 性能优化之RML Utilities
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表