I use extended properties to store metadata.
In SQL Server many extended properties can be stored for each object. Each extended property has a name, and that name must be unique for each object. If I have a Cases table with a CaseDescription column I can have only one Length property on the column, but I can add as many distinctly named properties for a given object as I want.
USE AdventureWorks2008R2;
GO
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Minimum inventory quantity.',
@level0type = N'SCHEMA', @level0name = Production,
@level1type = N'TABLE', @level1name = Product,
@level2type = N'COLUMN', @level2name = SafetyStockLevel;
GO
SELECT * FROM sys.extended_properties ;