資料庫程式碼分析規則擴充性概觀
Visual Studio Premium 和 Visual Studio Ultimate 附有程式碼分析規則,可回報資料庫程式碼中的 Transact-SQL 設計、命名和效能警告。 如需詳細資訊,請參閱分析資料庫程式碼以改善程式碼品質。
如果內建程式碼分析規則未能涵蓋您想包含的特定 Transact-SQL 問題,您可以建立自訂資料庫程式碼分析規則。 例如,您可以建立自訂規則來避免使用 WAITFOR DELAY 陳述式,如逐步解說:撰寫 SQL 的自訂靜態程式碼分析規則組件所示。 若要建立自訂資料庫程式碼分析規則,您可以使用 Microsoft.Data.Schema.StaticCodeAnalysis 命名空間中的類別。
建立 Visual Studio 的自訂程式碼分析規則之前,您應了解資料庫程式碼分析規則各元件間的基本架構。
資料庫程式碼分析規則元件
下圖顯示資料庫程式碼分析規則元件的互動方式。
Database 版本靜態程式碼分析擴充性架構
當您在目前 Visual Studio 工作階段中使用資料庫程式碼分析規則功能時,不論是直接執行靜態程式碼分析 (如需詳細資訊,請參閱 HOW TO:分析 Transact-SQL 程式碼以找出錯誤) 或執行建置,所有規則都會根據您在專案中設定的方式載入和使用。 如需詳細資訊,請參閱 HOW TO:對資料庫程式碼的靜態分析啟用和停用特定規則。擴充管理員也會載入您已建立和註冊的任何自訂規則組件。 如需詳細資訊,請參閱 HOW TO:註冊和管理功能擴充。
自訂程式碼分析規則類別繼承自 StaticCodeAnalysisRule 類別。 自訂規則類別會使用 DataSchemaModel 來管理 IModelElement 及其 Microsoft.Data.Schema.ScriptDom,兩者會傳遞至靜態程式碼分析引擎。 此外,資料結構描述模型會提供模型項目、關聯性和附註的查詢資訊給程式碼分析規則,而這些資訊會傳遞至錯誤管理員。