適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 資料庫
SQL Server 支援從 SQL Server 資料表匯出大量資料 (「大量資料」),以及將大量資料匯入 SQL Server 資料表或未分割的檢視。
- 「大量匯出」代表將資料從 SQL Server 資料表複製到資料檔。
- 「大量匯入」 代表從資料檔載入資料至 SQL Server 資料表。 例如,您可以從 Microsoft Excel 應用程式中將資料匯出至資料檔,然後將資料大量匯入 SQL Server 資料表中。
大量匯入和匯出資料的方法
SQL Server 支援從 SQL Server 資料表匯出大量資料,以及將資料大量匯入 SQL Server 資料表或未分割的檢視。 有下列基本方法可用。
| Method | Description | 匯入資料 | 出口數據 |
|---|---|---|---|
| bcp 公用程式 | 可大量匯出和大量匯入資料並產生格式檔案的命令列公用程式 (Bcp.exe)。 | Yes | Yes |
| BULK INSERT 陳述式 | Transact-SQL 陳述式,可將資料直接從資料檔案匯入至資料庫資料表或非資料分割的檢視。 | Yes | No |
| INSERT ...SELECT * FROM OPENROWSET(BULK...) 陳述式 | Transact-SQL 陳述式,其指定 OPENROWSET(BULK…) 函數選取 INSERT 陳述式中的資料,以使用 OPENROWSET BULK 資料列集提供者,將資料大量匯入 SQL Server 資料表。 | Yes | No |
| SQL Server 匯入和匯出精靈 | 精靈會建立簡單套件,以在許多常用的資料格式之間匯入和匯出資料,這些格式包括資料庫、試算表和文字檔。 | Yes | Yes |
Important
若需使用逗號分隔值 (CSV) 檔案作為大量匯入資料至 SQL Server 的相關規則,請參閱準備大量匯出或匯入的資料 (SQL Server)。
Note
Azure Synapse Analytics 只支援使用 bcp 公用程式來匯入及匯出分隔的檔案。
格式化檔案
bcp 公用程式、BULK INSERT 和 INSERT ...SELECT * FROM OPENROWSET(BULK...) 全都支援使用特殊的「格式檔案」 ,將每一個欄位的格式資訊儲存在資料檔案中。 格式檔案也可以包含對應的 SQL Server 資料表的相關資訊。 對 SQL Server 執行個體大量匯出與大量匯入資料時,格式檔案可以提供所需的所有格式資訊。
Important
您無法使用 BCP 將資料從 Azure Blob 儲存體匯入至 Azure SQL Database。 使用 BULK INSERT 或 OPENROWSET BULK 從 Azure Blob 記憶體匯入或匯出。
格式檔案提供彈性方式,在匯入期間用於解譯資料檔中的資料,以及在匯出期間用於格式化資料檔中的資料。 這樣的彈性讓您不需撰寫特殊用途的程式碼來解譯資料,也不需因應 SQL Server 或外部應用程式的特定需求將資料重新格式化。 例如,如果您大量匯出的資料即將要載入到需要逗號分隔值的應用程式中,則可以使用格式檔案,在匯出的資料中插入逗號當做欄位結束字元。
SQL Server 支援下列兩種類型的格式檔案:XML 格式檔案和非 XML 格式檔案。
bcp 公用程式 是唯一可以產生格式檔案的工具。 如需詳細資訊,請參閱建立格式檔案 (SQL Server)。 如需格式檔案的詳細資訊,請參閱匯入或匯出資料的格式檔案 (SQL Server)。
Note
萬一在大量匯出或匯入作業期間未提供格式檔案,您可以在命令列覆寫預設格式。