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
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Format asli Unicode sangat membantu ketika informasi harus disalin dari satu penginstalan Microsoft SQL Server ke penginstalan lainnya. Penggunaan format asli untuk data noncharacter menghemat waktu, menghilangkan konversi jenis data yang tidak perlu ke dan dari format karakter. Penggunaan format karakter Unicode untuk semua data karakter mencegah hilangnya karakter yang diperluas selama transfer data massal antar server menggunakan halaman kode yang berbeda. File data dalam format asli Unicode dapat dibaca dengan metode impor massal apa pun.
Format asli Unicode direkomendasikan untuk transfer data secara massal antara beberapa instans SQL Server dengan menggunakan file data yang berisi karakter DBCS atau yang diperluas. Untuk data nonkarakter, format asli Unicode menggunakan tipe data bawaan (database). Untuk data karakter, seperti karakter, nchar, varchar, nvarchar, teks, varchar(max), nvarchar(max), dan ntext, format asli Unicode menggunakan format data karakter Unicode.
Data sql_variant yang disimpan sebagai SQLVARIANT dalam file data format asli Unicode beroperasi dengan cara yang sama seperti dalam file data format asli, kecuali bahwa nilai karakter dan varchar dikonversi ke nchar dan nvarchar, yang menggandakan jumlah penyimpanan yang diperlukan untuk kolom yang terpengaruh. Metadata asli dipertahankan, dan nilai dikonversi kembali ke tipe data karakter dan varchar aslinya saat diimpor secara massal ke dalam kolom tabel.
Opsi perintah untuk format asli unicode
Anda dapat mengimpor data format asli Unicode ke dalam tabel menggunakan bcp, BULK INSERT , atau OPENROWSET BULK.
- Untuk perintah bcp atau pernyataan BULK INSERT , Anda dapat menentukan format data dalam pernyataan.
- Untuk pernyataan OPENROWSET BULK , Anda harus menentukan format data dalam file format.
Format asli Unicode didukung oleh opsi perintah berikut:
| Perintah | Opsi | Deskripsi |
|---|---|---|
bcp |
-N |
Mengakibatkan bcp utilitas menggunakan format bawaan Unicode, yang menggunakan tipe data bawaan (database) untuk semua data non-karakter dan format data karakter Unicode untuk semua data karakter (char, nchar, varchar, nvarchar, text, dan ntext). |
BULK INSERT |
DATAFILETYPE ='widenative' |
Menggunakan format asli Unicode saat mengimpor data secara massal. |
OPENROWSET |
T/A | Harus menggunakan file berbentuk format |
Catatan
Atau, Anda dapat menentukan pemformatan berdasarkan per bidang dalam file format. Untuk informasi selengkapnya, lihat Memformat file untuk mengimpor atau mengekspor data (SQL Server).
Contoh kondisi pengujian
Contoh dalam topik ini didasarkan pada tabel sampel myWidenative dan file format myWidenative.fmt. Ganti jalur file lokal dengan jalur file lokal pada sistem Anda.
Tabel contoh
Skrip berikut membuat database pengujian, tabel bernama myWidenative dan mengisi tabel dengan beberapa nilai awal. Jalankan Transact-SQL berikut:
CREATE DATABASE TestDatabase;
GO
USE TestDatabase;
CREATE TABLE dbo.myWidenative (
PersonID smallint NOT NULL,
FirstName nvarchar(25) NOT NULL,
LastName nvarchar(30) NOT NULL,
BirthDate date,
AnnualSalary money
);
-- Populate table
INSERT TestDatabase.dbo.myWidenative
VALUES (1, N'ϴAnthony', N'Grosse', '02-23-1980', 65000.00),
(2, N'❤Alica', N'Fatnowna', '11-14-1963', 45000.00),
(3, N'☎Stella', N'Rossenhain', '03-02-1992', 120000.00);
-- Review Data
SELECT * FROM TestDatabase.dbo.myWidenative;
Contoh file format non-XML
SQL Server mendukung dua jenis file format: format non-XML dan format XML. Format non-XML adalah format asli yang didukung oleh versi SQL Server sebelumnya. Harap tinjau Gunakan file format Non-XML (SQL Server) untuk informasi terperinci. Perintah berikut akan menggunakan utilitas bcp untuk menghasilkan file format non-xml, myWidenative.fmt, berdasarkan skema myWidenative.
- Untuk menggunakan perintah bcp untuk membuat file format, tentukan argumen
formatdan gunakannulalih-alih jalur file data. - Opsi format juga memerlukan opsi
-f. -
cdigunakan untuk menentukan data karakter -
Tdigunakan untuk menentukan koneksi tepercaya menggunakan keamanan terintegrasi.
Di jendela command prompt, masukkan perintah-perintah berikut:
bcp TestDatabase.dbo.myWidenative format nul -f D:\BCP\myWidenative.fmt -T -N
REM Review file
Notepad D:\BCP\myWidenative.fmt
Penting
Pastikan file format non-XML Anda berakhir dengan return\line feed pengangkutan. Jika tidak, Anda kemungkinan akan menerima pesan kesalahan berikut:
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC Driver 13 for SQL Server]I/O error while reading BCP format file
Contoh
Contoh di bawah ini menggunakan database, dan memformat file yang dibuat di atas.
Menggunakan format asli bcp dan Unicode untuk mengekspor data
Perintah sakelar -N dan OUT.
File data yang dibuat dalam contoh ini akan digunakan dalam semua contoh berikutnya.
Di jendela command prompt, masukkan perintah-perintah berikut:
bcp TestDatabase.dbo.myWidenative OUT D:\BCP\myWidenative.bcp -T -N
REM Review results
NOTEPAD D:\BCP\myWidenative.bcp
Menggunakan format asli bcp dan Unicode untuk mengimpor data tanpa file format
Perintah sakelar -N dan IN.
Di jendela command prompt, masukkan perintah-perintah berikut:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -T -N
REM Review results is SSMS
Menggunakan format asli bcp dan Unicode untuk mengimpor data dengan file format non-XML
Tombol -N, -f, dan perintah IN.
Di jendela command prompt, masukkan perintah-perintah berikut:
REM Truncate table (for testing)
SQLCMD -Q "TRUNCATE TABLE TestDatabase.dbo.myWidenative;"
REM Import data
bcp TestDatabase.dbo.myWidenative IN D:\BCP\myWidenative.bcp -f D:\BCP\myWidenative.fmt -T -N
REM Review results is SSMS
Gunakan BULK INSERT dan format asli Unicode tanpa file format
Argumen DATAFILETYPE.
Jalankan Transact-SQL berikut di Microsoft SQL Server Management Studio (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH (DATAFILETYPE = 'widenative' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
Gunakan BULK INSERT dan format asli Unicode dengan file format non-XML
Argumen FORMATFILE.
Jalankan Transact-SQL berikut di Microsoft SQL Server Management Studio (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
BULK INSERT TestDatabase.dbo.myWidenative
FROM 'D:\BCP\myWidenative.bcp'
WITH ( FORMATFILE = 'D:\BCP\myWidenative.fmt' );
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
Menggunakan format asli OPENROWSET dan Unicode dengan file format non-XML
Argumen FORMATFILE.
Jalankan Transact-SQL berikut di Microsoft SQL Server Management Studio (SSMS):
TRUNCATE TABLE TestDatabase.dbo.myWidenative; -- for testing
INSERT INTO TestDatabase.dbo.myWidenative
SELECT * FROM OPENROWSET (
BULK 'D:\BCP\myWidenative.bcp',
FORMATFILE = 'D:\BCP\myWidenative.fmt'
) AS t1;
-- review results
SELECT * FROM TestDatabase.dbo.myWidenative;
Tugas terkait
Untuk menggunakan format data untuk impor massal atau ekspor massal:
- Mengimpor data format asli dan karakter dari versi SQL Server yang lebih lama
- Menggunakan format karakter untuk mengimpor atau mengekspor data (SQL Server)
- Menggunakan format asli untuk mengimpor atau mengekspor data (SQL Server)
- Gunakan format karakter Unicode untuk mengimpor atau mengekspor data (SQL Server)