Share via


HOW TO:從指令碼匯入資料庫物件

更新:2007 年 11 月

除了能夠從現有的資料庫匯入資料庫「結構描述」(Schema) 以外,您也可以從現有的指令碼匯入「資料庫物件」(Database Object)。例如,若要採用透過其他協力廠商工具所建立的現有資料庫定義,並將其匯入到「資料庫專案」(Database Project),便可以使用這個方法。系統會剖析您所指定的指令碼,而且會識別建立資料庫物件的任何陳述式,並將這些陳述式匯入到資料庫專案。

如果有任何物件定義包含錯誤,會略過該物件。如果該錯誤與型別定義有關,會將此陳述式放到資料庫專案的 ScriptsIgnoredOnImport.sql 檔中。如果物件型別有效,但是物件的定義包含錯誤 (例如,參考不存在之資料表的檢視表),則 [錯誤清單] 視窗中會出現錯誤訊息。

若要從指令碼匯入資料庫物件定義

若要從指令碼匯入資料庫物件定義

  1. 按一下 [專案] 功能表上的 [匯入指令碼]。

    [匯入 SQL 指令碼檔] 精靈隨即出現。

    注意事項:

    您也可以在 [方案總管] 或 [結構描述檢視] 中,以滑鼠右鍵按一下資料庫專案,然後按一下 [匯入指令碼]。

  2. 當您閱讀完精靈的簡介頁面之後,按 [下一步] 前進到 [選取檔案] 頁面。

  3. 在 [檔案名稱] 中,輸入您要匯入之指令碼的檔案名稱,包括路徑在內。您也可以按一下瀏覽按鈕來尋找檔案。

  4. 如果您希望匯入的物件可取代資料庫專案中名稱和型別相同的物件,請選取 [覆寫已經在專案中的物件] 核取方塊。

  5. 在 [編碼方式] 中,按一下建立指令碼檔所用的編碼方式。

  6. 按一下 [完成],即可從您指定的指令碼匯入資料庫物件定義。

    當剖析指令碼時,會出現一個進度頁面,而且會將所有物件定義加入到資料庫專案中。當您從指令碼匯入資料庫定義時,會建立記錄檔。記錄檔會儲存在專案資料夾內的 [Import Script Logs] 子資料夾中。

    注意事項:

    原始程式檔不會有任何修改,而且會以共用唯讀模式開啟。

問題與限制

[匯入 SQL 指令碼檔] 精靈會搜尋指定的指令碼,以找出所有「資料定義語言」(Data Definition Language,DDL) 的 CREATE 陳述式,並將對應的物件加入到專案中。會套用下列限制:

  • 無法辨識的陳述式會放到資料庫專案的 ScriptsIgnoredOnImport.sql 檔中。

  • 假設此指令碼包含單一資料庫中的物件定義。所有的物件都會匯入到目前的資料庫專案中。如果此指令碼包含多個資料庫的定義,則會忽略 CREATE DATABASE 和 USE 陳述式,而且會將所有物件加入到資料庫專案中。如果您想要建立多個資料庫專案,您必須手動分割檔案,好讓每一個資料庫都有一個檔案,然後個別將每一個檔案匯入到其各自的資料庫專案中。如果您要將具有多個資料庫定義的指令碼匯入到單一資料庫專案中,您可能會收到大量的錯誤。

  • 也會匯入新增檔案群組的 ALTER DATABASE 陳述式。如果指令碼包含 CREATE 陳述式,而此陳述式後面緊接著建立之物件的 DROP 陳述式,則會匯入此物件。

  • 只會匯入將條件約束加入到資料表或是指定全文檢索索引之資料行的 ALTER TABLE 陳述式。如果是條件約束,只會辨識新增單一條件約束的陳述式,會略過將多個條件約束加入到資料表的陳述式。

  • 批次之間必須以 GO 陳述式分隔。

    注意事項:

    若要匯入執行指令碼的結果,而不是包含在指令碼中的 CREATE 陳述式,您可以執行指令碼來建立資料庫,然後使用 [匯入資料庫結構描述] 命令來匯入產生的資料庫。

請參閱

工作

HOW TO:檢視資料庫物件

HOW TO:刪除資料庫物件

概念

使用資料庫物件概觀

Database Edition 的用語概觀