資料庫專案加入參考

image
前文<SQL Server Schema Version Control> 介紹在 Visual Studio 2015 / 2013/ … 中建立資料庫專案,透過 Schema Compare 從現有資料庫產生所有項目。
照理此刻整個專案應可以發行到其他資料庫,就在進行建置時發現有 200 項錯誤 (如上圖),主要原因是我有幾個預存程序會讀取系統資料表,例如:
sys.tables
sys.indexes
sys.allocation_units

這些系統資料表的結構不會在專案中,這點也很合理,不然每一個資料庫專案都複製一份 SQL Server 系統資料表,也很累贅的。

解決作法

若有讀取系統資料表的話,可以加入資料庫參考,選取 master  資料庫,原本因引用系統資料表的錯誤則消失了。
image
image
在資料庫參考方式有三種選項,使用時機分別為:
1. 若有跨資料庫讀取資料時,可以選擇另一個資料庫專案,事先要先加入方案中。
2. 讀取系統資料則選擇 [System database] –> master
3. 若有跨資料庫,也可以參考該資料庫匯出的 Data-tier Application

參考文件

Using References in Database Projects – MSDN