• actually, what a lot of people do is to put the data in the database itself by using extended properties...(sys.sp_addextendedproperty / fn_listextendedproperty)

    you can put descriptions up to 255 chars in length i think about the database, separate descriptions about objects like proc/views/tables, and separate descriptions about each column...

    then you read those descriptions back and put them in the presentation document of your choice(word...excel...html...whatever)

    here's a simple example about a single stored procedure; play with it and see how the same concept can be used for every database object.

    CREATE procedure [dbo].[sp_find]

    @findcolumn varchar(50)

    as

    begin

    set nocount on

    select sysobjects.name as TableFound,syscolumns.name as ColumnFound

    from sysobjects

    inner join syscolumns on sysobjects.id=syscolumns.id

    where sysobjects.xtype='U'

    and (syscolumns.name like '%' + @findcolumn +'%'

    or sysobjects.name like '%' + @findcolumn +'%' )

    order by TableFound,ColumnFound

    end

    GO

    EXEC sys.sp_addextendedproperty

    @name = N'Version',

    @value = N'9.0.154.90',

    @level0type = N'SCHEMA', @level0name = 'dbo',

    @level1type = N'PROCEDURE', @level1name = 'sp_find';

    EXEC sys.sp_addextendedproperty

    @name = N'Purpose',

    @value = N'simple tool to find column or table names that are LIKE the inputed value',

    @level0type = N'SCHEMA', @level0name = 'dbo',

    @level1type = N'PROCEDURE', @level1name = 'sp_find';

    --show all extended properties

    SELECT objtype, objname, name, value

    FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'PROCEDURE', 'sp_find', NULL, NULL);

    --get just the "Version" that i created:

    SELECT objtype, objname, name, value

    FROM fn_listextendedproperty ('Version', 'schema', 'dbo', 'PROCEDURE', 'sp_find', NULL, NULL);

    Lowell


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!