匯入大容量資料的基本原則
只能使用 bcp 命令、BULK INSERT 語句或 OPENROWSET(BULK) 函式從資料檔案大容量匯入資料。
注意:
可以編寫從物件而非文字檔案大容量匯入資料的自定義應用程式。若要從記憶體緩衝區大容量匯入資料,請使用 SQL Server Native Client (ODBC) 應用程式程式設計介面 (API) 的 bcp 擴充套件或 OLE DB IRowsetFastLoad 介面。若要從 C# 資料表大容量匯入資料,請使用 ADO.Net 大容量複製 API,即 SqlBulkCopy。
注意:
不支援將資料大容量匯入到遠端表中。
在將資料檔案中的資料大容量匯入到 Microsoft SQL Server 例項時,請使用以下原則:
為使用者帳戶獲取所需的許可權。
使用 bcp 實用工具、BULK INSERT 語句或 INSERT ...SELECT * FROM OPENROWSET(BULK...) 語句的使用者帳戶必須具有表的所需許可權,這些許可權由表所有者分配。有關每種方法所需許可權的詳細資訊,請參閱 bcp 實用工具、OPENROWSET (Transact-SQL) 和 BULK INSERT (Transact-SQL)。
使用大容量日誌恢復模式。
此原則適用於使用完整恢復模式的資料庫。對無索引表(“堆”)執行大容量操作時,大容量日誌恢復模式非常有用。使用大容量日誌恢復有助於防止事務日誌出現空間不足的情況,因為大容量日誌恢復不會插入日誌行。有關大容量日誌恢復模式的詳細資訊,請參閱在大容量日誌恢復模式下備份。
建議您在執行大容量匯入操作之前,先將資料庫改為使用大容量日誌恢復模式。之後應立即將資料庫重設為完整恢復模式。有關詳細資訊,請參閱從完整恢復模式或大容量日誌恢復模式切換。
注意:
有關如何在大容量匯入操作期間最小化日誌記錄的詳細資訊,請參閱在大容量匯入中按最小方式記錄日誌的前提條件。
大容量匯入資料後進行備份。
對於使用簡單恢復模式的資料庫,建議您在大容量匯入操作完成後執行完整備份或差異備份。有關詳細資訊,請參閱建立 SQL Server 資料庫的完整備份和差異備份。
對於大容量日誌恢復模式或完整恢復模式,只需執行日誌備份就足夠了。有關詳細資訊,請參閱建立事務日誌備份。
刪除表索引以提高大型大容量匯入操作的效能。
在匯入的資料量與表中已有資料量相比很大時,請使用此原則。在這種情況下,執行大容量匯入操作之前刪除表中的索引可顯著提高效能。
注意:
如果載入的資料量與表中已有的資料量相比較小時,刪除索引會適得其反。因為重建索引所需的時間可能要比大容量匯入操作期間所節省的時間更長。
有關詳細資訊,請參閱優化大容量匯入效能。
查詢並刪除資料檔案中的隱藏字元。
許多實用工具和文字編輯器都會顯示隱藏字元,這些隱藏字元通常位於資料檔案末尾。在大容量匯入操作期間,ASCII 資料檔案中的隱藏字元會導致問題,這些問題會引發“發現意外空字元”錯誤。查詢並刪除所有隱藏字元有助於避免此問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503395/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大文字資料,匯入匯出到資料庫資料庫
- 大資料入門:MapReduce基本原理大資料
- 資料架構的基本原則有哪些?架構
- HIVE資料匯入基礎Hive
- PHP大資料xlswriter匯入匯出(最優資料化)PHP大資料
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- 資料搬運元件:基於Sqoop管理資料匯入和匯出元件OOP
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- MySQL資料的匯入MySql
- EasyPoi, Excel資料的匯入匯出Excel
- Mongodb資料的匯出與匯入MongoDB
- 匯入和匯出AWR的資料
- Linux基礎命令---mysqlimport匯入資料庫LinuxMySqlImport資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- phpMyAdmin匯入/匯出資料PHP
- Oracle資料匯入匯出Oracle
- 資料泵匯出匯入
- sqoop資料匯入匯出OOP
- Oracle 資料匯入匯出Oracle
- SQL資料庫的匯入和匯出SQL資料庫
- Oracle資料泵的匯入和匯出Oracle
- 基於.Net開發的資料庫匯入匯出的開源專案資料庫
- MySQL入門--匯出和匯入資料MySql
- MATLAB匯入資料Matlab
- 索引使用的基本原則索引
- 思邁特軟體Smartbi:資料分析的作用及基本原則
- Python大資料分析學習.Pandas 資料匯入問題 (1)Python大資料
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- oracle資料匯出匯入(exp/imp)Oracle
- Oracle 資料匯入ExcelOracleExcel
- mysqlimport 資料匯入程式MySqlImport
- Excel 表匯入資料Excel
- QZpython匯入匯出redis資料的實現deuPythonRedis
- 使用Dbeaver 進行資料的匯入和匯出
- TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?Excel資料庫PHP
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 100萬資料,如何快速的匯入資料庫?資料庫
- 物件導向之七大基本原則(javaScript)物件JavaScript