資料的大量匯入及匯出 (SQL Server)

適用于:SQL ServerAzure SQL資料庫Azure SQL 受控執行個體Azure SynapseAnalytics AnalyticsPlatform System (PDW)

SQL Server支援從SQL Server資料表匯出大量 (大量資料) ,並將大量資料匯入SQL Server資料表或非分割檢視。

  • 大量匯出是指將資料從SQL Server資料表複製到資料檔案。
  • 大量匯入是指將資料從資料檔案載入至SQL Server資料表。 例如,您可以將資料從 Microsoft Excel 應用程式匯出至資料檔案,然後將該資料大量匯入SQL Server資料表。

大量匯入和匯出資料的方法

SQL Server支援從SQL Server資料表大量匯出資料,以及將資料大量匯入至SQL Server資料表或非分割檢視。 有下列基本方法可用。

方法 描述 匯入資料 匯出資料
bcp 公用程式 可大量匯出和大量匯入資料並產生格式檔案的命令列公用程式 (Bcp.exe)。
BULK INSERT 陳述式 Transact-SQL 語句,可直接將資料從資料檔案匯入資料庫資料表或非分割檢視。
INSERT ...SELECT * FROM OPENROWSET(BULK...) 陳述式 Transact-SQL 語句,使用 OPENROWSET 大量資料列集提供者,藉由指定 OPENROWSET (BULK...) 函式來選取 INSERT 語句中的資料,將資料大量匯入SQL Server資料表。
SQL Server 匯入和匯出精靈 精靈會建立簡單套件,以在許多常用的資料格式之間匯入和匯出資料,這些格式包括資料庫、試算表和文字檔。

重要

若需使用逗號分隔值 (CSV) 檔案作為大量匯入資料至 SQL Server 的相關規則,請參閱準備大量匯出或匯入的資料 (SQL Server)

注意

Azure Synapse Analytics 只支援使用 bcp 公用程式來匯入及匯出分隔的檔案。

格式檔案

bcp 公用程式、BULK INSERTINSERT ...SELECT * FROM OPENROWSET(BULK...) 全都支援使用特殊的「格式檔案」 ,將每一個欄位的格式資訊儲存在資料檔案中。 格式檔案也可能包含對應SQL Server資料表的相關資訊。 格式檔案可用來提供大量匯出資料所需的所有格式資訊,並將資料大量匯入至SQL Server的實例。

重要

您無法使用 BCP 將資料從 Azure Blob 儲存體 匯入或匯出至 Azure SQL Database。 使用BULK INSERTOPENROWSET匯入或匯出至Azure Blob 儲存體。

格式檔案提供彈性方式,在匯入期間用於解譯資料檔中的資料,以及在匯出期間用於格式化資料檔中的資料。 這種彈性不需要撰寫特殊用途的程式碼來解譯資料,或將資料重新格式化為SQL Server或外部應用程式的特定需求。 例如,如果您大量匯出的資料即將要載入到需要逗號分隔值的應用程式中,則可以使用格式檔案,在匯出的資料中插入逗號當做欄位結束字元。

SQL Server支援兩種格式檔案:XML 格式檔案和非 XML 格式檔案。

bcp 公用程式 是唯一可以產生格式檔案的工具。 如需詳細資訊,請參閱建立格式檔案 (SQL Server) 。 如需格式檔案的詳細資訊,請參閱將檔案格式化為匯入或匯出資料 (SQL Server)

注意

萬一在大量匯出或匯入作業期間未提供格式檔案,您可以在命令列覆寫預設格式。

相關主題
準備大量匯出或匯入的資料 (SQL Server)
大量匯入或大量匯出的資料格式 (SQL Server)
 ≦使用原生格式匯入或匯出資料 (SQL Server)
 ≦使用字元格式匯入或匯出資料 (SQL Server)
 ≦使用 Unicode 原生格式匯入或匯出資料 (SQL Server)
 ≦使用 Unicode 字元格式匯入或匯出資料 (SQL Server)
 √從舊版的 SQL Server 匯入原生和字元格式資料
使用 bcp 指定相容性的資料格式 (SQL Server)
 ≦使用 bcp (SQL Server) 指定檔案儲存類型
使用 b (SQL Server) cp 指定資料檔案中的前置長度
 √使用 bcp (SQL Server) 指定欄位長度
 ≦指定欄位和資料列結束字元 (SQL Server)
大量匯入期間保留 Null 或使用預設值 (SQL Server)
大量匯入資料時保留識別值 (SQL Server)
匯入或匯出資料的格式檔案 (SQL Server)
 ≦建立格式檔案 (SQL Server)
 ≦使用格式檔案大量匯入資料 (SQL Server)
 ≦使用格式檔案略過資料表資料行 (SQL Server)
 ≦使用格式檔案略過資料欄位 (SQL Server)
 •使用格式檔案將資料表資料行對應至Data-File欄位 (SQL Server)

詳細資訊