Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server Azure SQL Database
Azure SQL Managed Instance
Analytics Platform System (PDW)
Saat Anda mengimpor data secara massal ke tabel SQL Server atau mengekspor data secara massal dari tabel, Anda bisa menggunakan file format untuk menyimpan semua informasi format yang diperlukan untuk mengekspor massal atau mengimpor data secara massal. Ini termasuk informasi format untuk setiap bidang dalam file data yang relatif terhadap tabel tersebut.
SQL Server mendukung dua jenis file format: format XML dan file format non-XML. File format non-XML dan file format XML berisi deskripsi setiap bidang dalam file data, dan file format XML juga berisi deskripsi kolom tabel yang sesuai. Umumnya, file format XML dan non-XML dapat dipertukarkan. Namun, kami sarankan Anda menggunakan sintaks XML untuk file format baru karena memberikan beberapa keuntungan daripada file format non-XML. Untuk informasi selengkapnya, lihat File Format XML (SQL Server).
Catatan
Sintaks ini, termasuk penyisipan massal, tidak didukung di Azure Synapse Analytics. Di Azure Synapse Analytics dan integrasi platform database cloud lainnya, selesaikan pergerakan data melalui pernyataan COPY di Azure Data Factory, atau dengan menggunakan pernyataan T-SQL seperti COPY INTO dan PolyBase.
Manfaat format file
File format menyediakan sistem fleksibel untuk menulis file data yang memerlukan sedikit atau tanpa pengeditan untuk mematuhi format data lain atau membaca file data dari perangkat lunak lain.
Anda dapat mengimpor data secara massal tanpa harus menambahkan atau menghapus data yang tidak perlu atau menyusun ulang data yang ada dalam file data. File format dapat berguna ketika ketidakcocokan ada di antara bidang dalam file data dan kolom dalam tabel.
Contoh format file
Contoh berikut menunjukkan tata letak file format non-XML dan file format XML. File format ini sesuai dengan HumanResources.myTeam tabel dalam AdventureWorks2025 database sampel. Tabel ini berisi empat kolom: EmployeeID, , Name, Titledan ModifiedDate.
Catatan
Untuk informasi tentang tabel ini dan cara membuatnya, lihat Tabel sampel HumanResources.myTeam (SQL Server).
A. Menggunakan file format non-XML
File format non-XML berikut menggunakan format data asli SQL Server untuk HumanResources.myTeam tabel. File format ini dibuat dengan menggunakan perintah berikut bcp .
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T
Perintah bcp secara default mengarah ke instans lokal SQL Server dengan Autentikasi Windows. Anda dapat menentukan instans lain dan informasi masuk seperti yang diinginkan, untuk informasi selengkapnya, lihat Utilitas bcp. Misalnya, untuk menentukan server jarak jauh bernama instans dengan Autentikasi Windows, gunakan:
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T -S servername/instancename
Isi file format ini adalah sebagai berikut, dimulai dengan nomor versi utama SQL Server, dan informasi metadata tabel.
14.0
4
1 SQLSMALLINT 0 2 "" 1 EmployeeID ""
2 SQLNCHAR 2 100 "" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLNCHAR 2 100 "" 3 Title SQL_Latin1_General_CP1_CI_AS
4 SQLNCHAR 2 100 "" 4 Background SQL_Latin1_General_CP1_CI_AS
Untuk informasi selengkapnya, lihat Menggunakan file format Non-XML (SQL Server).
B. Menggunakan file format XML
File format XML berikut menggunakan format data asli SQL Server untuk HumanResources.myTeam tabel. File format ini dibuat dengan menggunakan perintah berikut bcp .
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.xml -x -n -T
Format file ini berisi:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="NativePrefix" LENGTH="1"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="EmployeeID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="Title" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="Background" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>
Untuk informasi selengkapnya, lihat File Format XML (SQL Server).
Kapan file format diperlukan?
File format biasanya diperlukan dalam keadaan berikut:
Saat Anda menggunakan pernyataan
INSERT ... SELECT * FROM OPENROWSET(BULK...).Untuk situasi impor massal yang kompleks menggunakan bcp atau
BULK INSERT.File data yang sama digunakan sebagai sumber untuk beberapa tabel yang memiliki skema berbeda.
File data memiliki jumlah bidang yang berbeda dari jumlah kolom tabel target; misalnya:
- Tabel target berisi setidaknya satu kolom yang nilai defaultnya ditentukan atau
NULLdiizinkan. - Pengguna tidak memiliki
SELECT/INSERTizin pada satu atau beberapa kolom dalam tabel. - Satu file data digunakan dengan dua tabel atau lebih yang memiliki skema berbeda.
- Tabel target berisi setidaknya satu kolom yang nilai defaultnya ditentukan atau
Urutan kolom berbeda untuk file data dan tabel.
Karakter penghentian atau panjang awalan berbeda di antara kolom file data.
Catatan
Dengan tidak adanya file format, jika perintah bcp menentukan sakelar format data (-n, -c, -w, atau -N) atau jika operasi BULK INSERT menentukan opsi DATAFILETYPE, format data yang ditentukan digunakan sebagai metode default untuk menginterpretasikan bidang file data.
Tugas terkait
- Menggunakan file asli/format BCP vs file teks dan BOM
- Menggunakan file format Non-XML (SQL Server)
- File Format XML (SQL Server)
- Format data untuk impor massal atau ekspor massal (SQL Server)
- Membuat file format dengan bcp (SQL Server)