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