Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Metode Ekspor dan Impor Tabel Database SQL Server

Saat bekerja sebagai administrator atau pengembang database SQL Server, Anda tidak dapat hidup di dunia SQL Server yang terisolasi tanpa berkomunikasi dengan sumber data lain. Misalnya, jarang ada hari ketika Anda tidak akan diminta untuk mengimpor data dari file Excel, Access, atau CSV ke tabel SQL Server Anda. Atau, sebaliknya, ekspor salah satu tabel database SQL Server Anda ke file eksternal agar tabel ini dapat digunakan di mesin database lain atau untuk dianalisis secara eksternal oleh tim terkait.

SQL Server memberi kami sejumlah metode yang dapat digunakan untuk mengekspor tabel database SQL Server yang ada ke file Excel atau teks, dan mengimpor data dari sumber data eksternal ke tabel database SQL Server baru atau yang sudah ada. Dalam artikel ini, kami akan membahas semua metode ini secara bertahap.

Utilitas BCP

Utilitas Program Salin Massal, juga dikenal sebagai BCP, adalah utilitas baris perintah yang dapat digunakan untuk mengimpor sejumlah besar baris dari file data sistem operasi ke tabel database SQL Server Anda, atau mengekspor tabel database SQL Server yang ada ke operasi file data sistem.

Sintaks alat BCP berisi berbagai macam opsi. Ini adalah yang paling umum digunakan:

  • Nama tabel atau tampilan database SQL Server – ini akan bertindak sebagai sumber data jika terjadi proses ekspor data dan sebagai tujuan jika terjadi proses impor data.
  • Arah data, di mana IN menunjukkan impor data dan OUT menunjukkan ekspor data.
  • Nama file data lokal yang akan bertindak sebagai sumber jika terjadi proses impor data dan sebagai tujuan jika terjadi proses ekspor data.
  • -S server\instance – ini digunakan untuk menentukan nama instance SQL Server.
  • –d – ini digunakan untuk menentukan database yang berisi tabel sumber atau tujuan.
  • -T – ini digunakan untuk menentukan bahwa Otentikasi Windows akan digunakan untuk terhubung ke SQL Server.
  • -Nama pengguna Anda dan -P sandi – ini menentukan nama pengguna dan kata sandi yang digunakan untuk terhubung ke instance SQL Server.
  • Utilitas Program Salin Massal, juga dikenal sebagai BCP, adalah utilitas baris perintah yang dapat digunakan untuk mengimpor sejumlah besar baris dari file data sistem operasi ke tabel database SQL Server Anda, atau mengekspor tabel database SQL Server yang ada ke file data sistem operasi. – ini digunakan untuk menentukan format file data sumber atau tujuan dan pembatas yang digunakan dalam file data tersebut.

Misalnya, perintah BCP di bawah ini digunakan untuk mengekspor isi tabel database Employee_Main secara massal menjadi file CSV, sebagai berikut:

bcp AdventureWorks2016CTP3.dbo.Employee_Main out C:\Test\Employees.csv -S MININT-QQBE87A -T -c -t , -r \n

Data ini akan dengan cepat disalin ke dalam file CSV, seperti yang ditunjukkan pada hasil di bawah ini:

Untuk mengimpor konten file CSV ke dalam tabel database, perintah BCP berikut dapat digunakan untuk melakukannya dengan cepat secara massal:

bcp AdventureWorks.dbo.Employee_Main di C:\Test\Employees.csv -S MININT-QQBE87A -T -c -t , -r \n

Dan data tersebut akan dimasukkan ke dalam tabel database, seperti terlihat pada hasil di bawah ini:

Dengan menghabiskan beberapa menit menyiapkan perintah ini dengan opsi yang tepat, Anda dapat dengan mudah menggunakan utilitas BCP untuk mengimpor data dari atau mengekspornya ke file data teks.

MASUKKAN MASSAL

BULK INSERT T-SQL pernyataan bekerja mirip dengan BCP IN perintah dan digunakan untuk mengimpor data dari file data yang dapat diakses oleh layanan SQL Server ke dalam tabel database SQL Server – semua dilakukan langsung di dalam SQL Server. Tidak seperti perintah BCP IN, pernyataan BULK INSERT dapat dikelompokkan dengan operasi lain dalam satu transaksi SQL Server yang berjalan di bawah kendali Anda.

Pernyataan T-SQL BULK INSERT di bawah ini dapat digunakan untuk mengimpor data dari file CSV ke tabel database yang ada, dengan menentukan pembatas kolom dan baris, seperti yang ditunjukkan di bawah ini:

BULK INSERT AdventureWorks.dbo.Employee_Main
FROM 'C:\Test\Employees.csv'
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
GO

OPENROWSET

Fungsi OPENROWSET digunakan untuk menyambungkan ke sumber data menggunakan penyedia koneksi OLEDB dan kemudian menggunakan kueri T-SQL yang ditentukan untuk mengambil data dari sumber data tersebut. Keuntungan utama dari fungsi OPENROWSET dibandingkan metode BCP dan BULK INSERT adalah sebagai berikut:

  • Anda dapat memfilter data yang diambil oleh pernyataan OPENROWSET menggunakan klausa WHERE
  • Anda dapat menggunakannya dalam pernyataan SELECT untuk membaca data dari sumber data – tidak hanya dengan pernyataan INSERT

Untuk menggunakan pernyataan OPENROWSET, Anda harus mengaktifkan kueri terdistribusi ad hoc opsi konfigurasi sistem terlebih dahulu dengan menggunakan skrip di bawah ini:

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
sp_configure 'Ad Hoc Distributed Queries', 1;  
RECONFIGURE;  
GO

Setelah mengaktifkan opsi konfigurasi sistem kueri terdistribusi ad hoc, Anda dapat menggunakan fungsi OPENROWSET untuk mengimpor data ke tabel database SQL Server dari file CSV dengan format data yang telah ditentukan sebelumnya, seperti yang ditunjukkan pada kueri T-SQL di bawah ini:

INSERT INTO [AdventureWorks].[dbo].[Employee_Main]
([EMP_FirsrName],[EMP_LastName],[EMP_BirthDate],[EMP_PhoneNumber])
SELECT [EMP_FirsrName],[EMP_LastName],[EMP_BirthDate],[EMP_PhoneNumber] 
FROM OPENROWSET(
   BULK 'C:\Test\Employees.csv',
      FORMATFILE = 'C:\Test\Fmt.xml'
) AS rows;

Server Tertaut

SQL Server Linked Server adalah objek server yang dikonfigurasi untuk memungkinkan SQL Server Database Engine untuk menyambung ke berbagai jenis sumber data OLE DB di luar contoh SQL Server. Server Tertaut dapat dengan mudah dibuat menggunakan SQL Server Management Studio atau Perintah T-SQL, seperti yang ditunjukkan di bawah ini:

Setelah dibuat, server tertaut dapat dengan mudah digunakan untuk mengakses sumber data jarak jauh dan mengimpor data yang sesuai ke dalam tabel database SQL Server seperti yang ditunjukkan dalam kueri T-SQL di bawah ini:

INSERT INTO [AdventureWorks].[dbo].[Employee_Main] 
([EMP_FirsrName],[EMP_LastName],[EMP_BirthDate],[EMP_PhoneNumber],[EMP_Address])
SELECT [EMP_FirsrName],[EMP_LastName],[EMP_BirthDate],[EMP_PhoneNumber],[EMP_Address] FROM TEST...Employee_Main$

Wizard Ekspor/Impor SQL Server

Wizard Ekspor dan Impor SQL Server memberi kami antarmuka sederhana untuk membuat paket Layanan Integrasi SQL Server yang dapat digunakan segera atau disimpan untuk digunakan nanti. Paket ini memungkinkan mengimpor data dari dan mengekspornya ke berbagai sumber data, mulai dari file datar sederhana dan diakhiri dengan mesin database yang lebih kompleks.

Panduan Ekspor dan Impor dapat digunakan, misalnya, untuk mengimpor data dari sumber data Excel ke dalam tabel database yang sudah ada. Langkah-langkah berikut menjelaskan proses ini:

  1. Dalam Object Explorer SQL Server Management Studio, klik kanan pada database AdventureWorks yang berisi tabel tempat Anda akan menulis data. Kemudian, pilih Impor Data opsi dari Tugas submenu:
  2. Wizard Impor dan Ekspor SQL Server akan dibuka. Di bagian Pilih Sumber Data jendela, tentukan jenis sumber data. Dalam contoh khusus ini, kita akan memilih Microsoft Excel, dan path lengkap untuk file Excel yang diinginkan. Setelah menentukannya, klik tombol Berikutnya tombol:
  3. Dalam Pilih Tujuan jendela, Anda akan diminta untuk menentukan jenis tujuan di mana data sumber akan ditulis. Dalam contoh kami, ini adalah database SQL Server. Anda juga akan diminta untuk menentukan nama server, kredensial, dan nama database tempat tabel tujuan berada. Setelah memberikan semua informasi ini, klik Berikutnya untuk melanjutkan:
  4. Dalam Tentukan Salinan Tabel atau Kueri jendela, Anda akan memiliki opsi untuk menyalin semua data dari sumber ke tabel yang ada atau baru, atau menulis kueri yang disesuaikan untuk mengambil rentang data tertentu. Saat ini diputuskan, klik Berikutnya tombol:
  5. Dalam Pilih Tabel dan Tampilan Sumber jendela, tentukan lembar atau tabel sumber dari sumber data dan tabel tujuan tempat data sumber akan ditulis. Anda akan memiliki kemampuan untuk melihat pratinjau sumber, memeriksa pemetaan kolom antara tabel sumber dan tujuan, dan menentukan apakah data harus ditambahkan ke tabel yang sudah ada atau ke tabel yang baru dibuat. Klik tombol Berikutnya tombol untuk melanjutkan:
  6. Dalam Simpan dan Jalankan Paket Jendela, Anda memiliki opsi untuk menyimpan paket SSIS yang dibuat dalam Panduan Impor dan Ekspor untuk segera menjalankannya atau menyimpannya untuk penjadwalan atau menjalankannya nanti. Klik tombol Berikutnya tombol untuk melanjutkan:
  7. Dalam Lengkapi Wizard jendela, Anda akan melihat ringkasan untuk opsi yang dipilih dan pengaturan yang disediakan. Klik tombol Selesai tombol untuk mulai menyalin data:
  8. Setelah menyelesaikan proses penyalinan, wizard akan menampilkan jumlah record yang disalin ke setiap tabel. Jika tidak ada kesalahan, Anda dapat mengeklik tombol Tutup tombol untuk menutup jendela:Anda dapat melihat dari contoh sebelumnya bahwa wizard Impor dan Ekspor dapat dengan mudah digunakan untuk menyalin data antara tipe yang berbeda sumber data dan tujuan, tanpa mempertimbangkan hubungan antara tabel. Jika tabel memiliki batasan Kunci Asing yang mereferensikan salah satu kolom tabel induk, Anda perlu mengatur urutan proses penyalinan data secara manual. Selain itu, untuk memulai proses impor data baru, Anda harus menutup wizard dan membukanya lagi.

Pompa Data dbForge

dbForge Data Pump adalah alat pihak ketiga yang disertakan dengan SQL Server Management Studio sebagai add-in. Ini dapat digunakan untuk dengan mudah memigrasi data antara SQL Server dan sumber data eksternal yang berbeda. Ini memungkinkan Anda untuk mengimpor dan mengekspor dari 10+ format data yang umum digunakan (Teks, MS Excel, XML, CSV, JSON, dll.) dengan sejumlah opsi dan template lanjutan yang dapat digunakan untuk skenario berulang.

Setelah mengunduh dbForge Data Pump dari halaman unduhan Devart, Anda perlu menginstalnya ke mesin sebagai add-in alat SSMS, seperti yang ditunjukkan di bawah ini:

Ekspor Data

dbForge Data Pump dapat digunakan dalam SSMS untuk mengekspor data dari tabel database SQL Server atau untuk melihat data dalam 13 jenis format yang didukung termasuk HTML, Teks, MS Excel, MS Excel 2007, MS Access, RTF, PDF, XML, CSV, ODBC, DBF (Foxpro, dBase III, dBase IV, dBase 7), SQL dan JSON.

Untuk mengekspor data dari tabel SQL Server tertentu, ikuti langkah-langkah di bawah ini:

  1. Hubungkan ke instance SQL Server melalui SSMS. Dari Objects Explorer, klik kanan pada database yang berisi tabel sumber, dan pilih Ekspor Data dari Pompa Data submenu:
  2. Dalam Format Ekspor jendela, pilih format file ke mana data tabel sumber akan diekspor, atau muat template yang disimpan sebelumnya. Dalam contoh kita, kita akan memilih MS Excel 2007. Klik tombol Next tombol untuk melanjutkan:
  3. Di jendela Sumber, tinjau detail koneksi dan pilih tabel yang berisi data sumber yang akan diekspor. Klik Berikutnya untuk melanjutkan:
  4. Dalam Opsi jendela, periksa dan atur berbagai opsi yang dapat disesuaikan untuk kisi tabel data yang diekspor. Kemudian, klik Berikutnya untuk melanjutkan:
  5. Dalam Format Data jendela, di bawah Kolom tab, pilih kolom yang akan diekspor dan tinjau tipe datanya:Juga, dalam Format tab, atur format tipe data yang berbeda untuk kolom yang Anda pilih. Klik tombol Berikutnya tombol untuk melanjutkan:
  6. Di Setelan Cetak Halaman jendela, Anda dapat mengatur opsi yang berbeda untuk halaman file yang diekspor untuk tujuan pencetakan. Klik Berikutnya untuk melanjutkan:
  7. Di Baris yang Diekspor jendela, tentukan rentang baris yang akan diekspor dari tabel sumber atau pilih untuk mengekspor semua baris tabel. Klik Berikutnya untuk melanjutkan:
  8. Penanganan Kesalahan window memberi Anda sejumlah opsi yang dapat digunakan untuk menentukan cara memproses kesalahan jika terjadi dan di mana mencatat hasil eksekusi. Klik Simpan Templat untuk menyimpan setelan sebagai template yang akan digunakan di masa mendatang, atau tekan tombol Ekspor untuk memulai proses ekspor data, seperti gambar di bawah ini:Selama proses ekspor data, Pompa Data akan memberi Anda pesan informasi yang menampilkan jumlah catatan yang disalin dari tabel saat ini, seperti yang ditunjukkan di bawah ini:Jika proses ekspor data berhasil diselesaikan, ringkasan untuk proses ekspor akan ditampilkan. Opsi akan disediakan untuk membuka file yang dihasilkan atau folder yang berisi dan mengekspor lebih banyak data dari halaman yang sama tanpa perlu menutup dan membuka kembali alat:

Impor Data

dbForge Data Pump dapat digunakan dalam SSMS untuk mengimpor data ke tabel database SQL Server. 9 format data yang digunakan secara luas berikut ini didukung:Teks, MS Excel, MS Excel 2007, MS Access, XML, CSV, ODBC, DBF (Foxpro, dBase III, dBase IV, dBase 7) dan JSON.

Untuk mengimpor data dari lembar Excel ke tabel SQL Server tertentu, ikuti langkah-langkah di bawah ini:

  1. Hubungkan ke instance SQL Server menggunakan SSMS. Dari Objects Explorer, klik kanan pada database yang berisi tabel database tujuan, dan pilih Impor Data dari Pompa Data submenu:
  2. Di File Sumber jendela, pilih format file sumber atau cukup muat template yang disimpan sebelumnya untuk melakukan proses impor. Dalam contoh kami, kami akan menggunakan Microsoft Excel 2007, dan klik Jelajahi tombol untuk menemukan lembar Excel. Klik tombol Berikutnya tombol untuk melanjutkan:
  3. Di Tujuan jendela, tinjau informasi koneksi dan tentukan apakah data harus diimpor ke tabel baru atau tabel yang sudah ada dari daftar yang disediakan. Klik Berikutnya untuk melanjutkan:
  4. Dalam Opsi jendela, Anda dapat mengatur opsi berbeda yang menentukan lokasi header dan data dalam file sumber, dengan kemampuan untuk melihat pratinjau data file sumber sebelum mengimpor. Klik Berikutnya untuk melanjutkan:
  5. Dalam Format Data jendela, Anda dapat menyesuaikan format tipe data untuk kolom teks yang berbeda dalam file sumber sebelum mengimpornya ke tabel database. Klik Berikutnya untuk melanjutkan:
  6. Dalam Pemetaan jendela, Anda dapat memetakan kolom dari file sumber ke tabel database tujuan, dengan kemampuan untuk melihat data setelah melakukan perubahan. Klik Berikutnya untuk melanjutkan:
  7. Dalam Mode jendela, Anda dapat menentukan mode impor data, seperti menambahkan data ke data yang ada di tabel tujuan dan melakukan penyisipan massal atau mengimpor data dengan satu transaksi. Klik Berikutnya untuk melanjutkan:
  8. Dalam Keluaran jendela, Anda dapat menentukan untuk membuat atau menyimpan skrip impor data atau segera melanjutkan proses impor data. Klik Berikutnya untuk melanjutkan:
  9. Penanganan Kesalahan window memberi Anda sejumlah opsi yang dapat digunakan untuk menentukan bagaimana berperilaku jika terjadi kesalahan dan di mana mencatat hasil eksekusi. Klik Simpan Template untuk menyimpan setelan sebagai template yang akan digunakan di masa mendatang, atau Impor untuk memulai proses import data, seperti gambar di bawah ini:
  10. Jika proses impor berhasil diselesaikan, Wizard akan menampilkan ringkasan jumlah record yang diimpor. Anda akan memiliki kemampuan untuk meninjau file log kesalahan jika terjadi kesalahan dan mengimpor file lain dari jendela yang sama tanpa perlu menutup dan membuka kembali alat:

Jelas dari contoh sebelumnya bahwa alat Pompa Data dbForge memberi kita kemampuan untuk mengimpor dan mengekspor data ke dan dari berbagai format file data. Wizard yang didedikasikan untuk ini mudah dikonfigurasi, kaya dengan opsi berbeda dan tidak memerlukan upaya pengembangan. Patut dicoba!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lantai tanggal di SQL server

  2. Apakah Ada Risiko Keamanan yang Terlibat Dengan Spotlight Cloud Monitoring?

  3. Rilis Baru:Paket Penyetelan Spotlight 7.1.9

  4. Apa perbedaan antara char, nchar, varchar, dan nvarchar di SQL Server?

  5. Cara Menemukan Collation di SQL Server (T-SQL)