筆記目錄

Skip to content

使用 SQL Server Management Studio 設定資料表描述

TLDR

  • 設定資料表描述(Extended Properties)有助於資料庫文件化,並支援開發工具產生 Schema 文件。
  • 透過 SSMS 圖形介面設定時,建議避免使用多行描述,以防 Entity Framework 反向工程產生無法編譯的程式碼。
  • 除了「擴充屬性」頁面外,亦可直接於「資料表設計模式」的屬性視窗中編輯描述。
  • 可使用 sp_addextendedpropertysp_updateextendedproperty 預存程序,透過 SQL 指令進行描述的增刪改。

SSMS 圖形介面設定方式

在 SQL Server Management Studio (SSMS) 中,有兩種主要的圖形介面方式可以設定資料表描述。

透過資料表屬性設定

什麼情況下會遇到這個問題:當需要為既有資料表新增說明,且偏好使用 UI 操作時。

  1. 在 SSMS 中,右鍵點擊目標資料表,選擇「屬性」。
  2. 進入「擴展屬性」頁面。
  3. 新增屬性名稱為 MS_Description,並在值欄位輸入描述內容。

extended properties dialog

WARNING

畫面中的多行編輯視窗(三個點按鈕)雖然方便,但若後續會使用 Entity Framework 進行反向工程,請務必避免使用多行描述,否則可能導致產生的程式碼無法編譯。

透過資料表設計模式設定

什麼情況下會遇到這個問題:當開啟資料表設計器進行欄位調整時,希望同步快速更新資料表說明。

直接在資料表設計模式的屬性視窗中,即可找到描述欄位進行編輯。

table designer description property

使用 SQL 語法編輯

什麼情況下會遇到這個問題:當需要批次處理多個資料表,或是在 CI/CD 流程中需要自動化更新資料庫文件時。

增加資料表描述

使用 sp_addextendedproperty 預存程序新增描述:

sql
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'{資料表描述}', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'{資料表名稱}';

修改資料表描述

若描述已存在,需改用 sp_updateextendedproperty 進行更新:

sql
EXECUTE sp_updateextendedproperty @name = N'MS_Description', @value = N'{資料表描述}', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'{資料表名稱}';

異動歷程

  • 2024-07-15 初版文件建立。
  • 2024-08-23 增加 SSMS 第二種設定方式。