Setting SQL Server Field Descriptions

There are two basic ways to set field descriptions in SQL Server: via SSMS and T-SQL. Let's explore both.

Setting SQL Server Field Descriptions

This is Part 2 in a series of articles discussing field comments on linked tables.

Linked SQL Server Tables

Like linked MS Access tables, you can add (or overwrite) column descriptions in the front-end database.  Of course, the same limitation applies.  If you re-link the table, the descriptions you modified in the front-end are lost.

As with tables linked to back-end MS Access files, the best approach is to enter your field descriptions in the source tables themselves.  

Doing this in a SQL Server back-end is both easier and harder than in an Access back-end.  It's easier in SQL Server because the changes can be made without having to get all the users out of the affected table(s).  But it's harder because the descriptions do not automatically get imported into Access as part of the table linking process.  (Stay tuned...I'll show you how to do that in a later article in this series.)

Setting the description via the GUI

In SQL Server Management Studio (SSMS), you can right-click on an existing table and choose "Design."  Then, in the table designer, place your cursor in the row of the column whose description you want to set.  The "Column Properties" tab will appear below the table designer.  Simply set the "Description" value to whatever you want.  Be sure to hit the save button to apply the changes to the table:

Don't forget step 3: save your changes!

Setting the description via T-SQL

To set the field description in T-SQL, you need to use an SQL Server extended property named "MS_Description."  This extended property is similar to Microsoft Access database properties in that you will need to create the property if it does not already exist.

T-SQL to Add a New Field Description

The following T-SQL will add a field description to the PhoneNum field in the Contact table within the default dbo schema using the built-in stored procedure sp_AddExtendedProperty:

exec sp_AddExtendedProperty 
      'MS_Description'
    , 'The phone number (e.g., "(555) 253-5970 x1150"'
    , 'SCHEMA', 'dbo'
    , 'TABLE', 'Contact'
    , 'COLUMN', 'PhoneNum'

T-SQL to Update an Existing Field Description

The above T-SQL will fail if the MS_Description extended property already exists on the table.  In that case, we would need to use the sp_UpdateExtendedProperty stored procedure instead.  For example:

exec sp_UpdateExtendedProperty 
      'MS_Description'
    , 'The phone number (e.g., "555-253-5970"'
    , 'SCHEMA', 'dbo'
    , 'TABLE', 'Contact'
    , 'COLUMN', 'PhoneNum'

Required permissions

Please note that you will need one of the following permissions to set field Description values in SQL Server:

Be a member of one of these database roles:

  • db_owner
  • db_ddladmin

Or, be granted one of the following table-level permissions:

  • ALTER
  • CONTROL

Image by Pexels from Pixabay

All original code samples by Mike Wolfe are licensed under CC BY 4.0