SQL Server 2008和扩展属性


8

在SQL Server中,你们将扩展属性用于什么?一些文章和博客建议将它们用于数据库及其对象的自文档编制,但我看不到它的使用方式是否正确……大多数人是否会忽略这一点?


1
我们使用扩展属性来记录表和列,基于一个自写文档生成器,该生成器读取数据库并从这些扩展属性生成Wiki页面。
marc_s

这个问题没有正确或错误的答案,这是一个意见问题,您将在何处使用该功能。作为一名顾问,我看到它从始至终都花了很多时间,从生成存储过程代码到满足DoD安全标准/政策。

Answers:


6

就像您说的那样,基本上被忽略了。

从T-SQL和GUI读取和写入扩展属性都有些尴尬。IMHO文档应保留在其他地方(数据库项目,项目文档等)。

这是一篇有关扩展属性好文章,它也解决了您的一些疑问。


1
我很想为您提供该链接的投票...要求登录的文章真是令人讨厌。
WernerCD

1
@WernerCD:我会为您成为SQL Server社区的一员而在SQLServerCentral上没有免费帐户而深表歉意。好像他们不是ExpertSexChange ...:-D
Marian

@Marian我实际上认为我有一个帐户...必须登录仍然很烦。作为程序员,懒惰是我的责任。:)
WernerCD 2013年

@WernerCD:哦,来吧,然后尝试Lastpass,1password或Roboform或任何适合您的东西。有用于懒惰驴子的工具。Lastpass非常适合我的,但您可能会找到另一个。
玛丽安

3

我正在使用一个拥有大量数据库的系统。自我记录很有用,因为每个数据库可以具有不同的结构。

我们管理数据库结构的版本过程,并将该信息存储在扩展属性中。我们还捕获表,列和其他数据库对象的描述。

但是,如果没有自动化的帮助,使用扩展属性将难以管理。我们开发了可帮助我们在扩展属性中捕获和存储信息的工具。并且,我们还有工具可以查看和报告信息。

在这种环境下开发工具非常有用,但是如果您在数据库很少的商店工作,我看不出有什么好处。


1

我还没有看到使用扩展属性的单个项目。IMO的原因是:即使我们想将文档存储在数据库中(通常不是这种情况),也有替代方法。通常,扩展属性不能完全满足我们的要求。另一方面,推出我们自己需要的解决方案非常容易,那么为什么要麻烦呢?


0

在我们的项目中,我们使用它们将版本信息保留在每个数据库设置的扩展属性中。

例如:我们使用Team Foundation项目,并在db扩展属性中跟踪从后期部署文件夹执行的最新后期部署脚本编号(例如-我们有脚本1到23,ext。属性设置为15,因此部署后脚本将仅执行16以上的脚本)。部署前脚本相同。

我同意我们可以将这些信息保存在表中,但这是使用扩展属性的一种方式。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.