共用方式為


大量匯入資料的基本指導方針

更新: 2006 年 12 月 12 日

ms189989.note(zh-tw,SQL.90).gif附註:
您不能大量匯入資料到遠端資料庫。

當您從資料檔將資料大量匯入到 Microsoft SQL Server 的執行個體時,請使用下列指導方針:

  • 為您的使用者帳戶取得必要的權限。
    用於 bcp 公用程式、BULK INSERT 陳述式或 INSERT ...SELECT * FROM OPENROWSET(BULK...) 陳述式的使用者帳戶,必須具有資料表的必要權限 (由資料表擁有者指派)。如需有關每個方法所需權限的詳細資訊,請參閱<bcp 公用程式>、<OPENROWSET (Transact-SQL)>和<BULK INSERT (Transact-SQL)>。
  • 使用大量記錄復原模式。
    這個指導方針適用於使用完整復原模式的資料庫。大量記錄復原模式在對未編製索引的資料表 (「堆積」) 執行大量作業時很有用。因為大量記錄復原不會記錄資料列插入的作業,所以使用大量記錄復原模式,將有助於防止因記錄交易而用盡空間的情形。如需有關大量記錄復原模式的詳細資訊,請參閱<大量記錄復原模式下的備份>。
    建議您在大量匯入作業之前,立即將資料庫變更為使用大量記錄復原模式。事後則應立刻將資料庫重設成完整復原模式。如需詳細資訊,請參閱<從完整或大量記錄復原模式進行切換>。
    ms189989.note(zh-tw,SQL.90).gif附註:
    如需有關如何在大量匯入作業期間盡量減少記錄的詳細資訊,請參閱<大量匯入採用最低限度記錄的必要條件>。
  • 在大量匯入資料之後備份。
    對於使用簡單復原模式的資料庫,我們建議您在大量匯入作業完成之後進行完整或差異備份。如需詳細資訊,請參閱<建立 SQL Server 資料庫的完整和差異備份>。
    至於大量記錄復原模式或完整復原模式,記錄備份即已足夠。如需詳細資訊,請參閱<建立交易記錄備份>。
  • 卸除資料表索引以改善大型大量匯入的效能。
    這個指導方針的使用時機,是要匯入的資料量比資料表內的資料量多出很多時。這個時候,在執行大量匯入作業之前從資料表卸除索引可以大幅增加效能。
    ms189989.note(zh-tw,SQL.90).gif附註:
    但是,如果載入小量資料 (相較於已存在資料表中的資料量),卸除索引可能會造成不良的後果。重建索引需要的時間,可能會多於大量匯入作業所省下的時間。
    如需詳細資訊,請參閱<[最佳化大量匯入效能](ms190421\(v=sql.90\).md)>。
  • 尋找並移除資料檔案中的隱藏字元。
    許多公用程式和文字編輯器會顯示出隱藏字元,這些字元通常是在資料檔結尾。大量匯入作業期間,ASCII 資料檔中的隱藏字元可能會產生問題,造成「發現非預期的 NULL」錯誤。尋找並移除所有的隱藏字元,應該有助於防止這個問題。

請參閱

概念

使用 bcp 公用程式匯入和匯出大量資料
使用 BULK INSERT 或 OPENROWSET(BULK...) 匯入大量資料
用於匯入或匯出資料的資料格式
大量匯入及匯出資料的實例

其他資源

bcp 公用程式
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 在主題頂端新增附註。