MSSQL Server Tertaut. Kinerja yang dioptimalkan 30 kali

Data awal :





  1. Dua SQL Server, yang berada dalam aksesibilitas langsung satu sama lain, salah satunya dikonfigurasi dengan Linked Server.





  2. Permintaan SQL dari formulir:





insert into LocalDatabaseName.dbo.TableName (column1, column2, ..., columnN)
select column1, column2, ..., columnN
from LinkedServerName.RemoteDatabaseName.dbo.TableName
      
      



Tugas : menyalin catatan dari satu server ke server lain secepat mungkin





Menghadapi fakta bahwa kueri serupa sedang dieksekusi pada 40k (40.000) catatan selama lebih dari satu menit. Dengan peningkatan jumlah kueri tersebut atau jumlah rekaman, kinerja turun drastis dan tidak ada cara untuk mengoptimalkan kueri menggunakan alat SQL. Menggunakan aplikasi ImportExportDataSql , saya dapat mempercepat kueri ini menjadi 2 detik tanpa menggunakan Server Tertaut.





Saya membuat aplikasi ImportExportDataSql untuk diri saya sendiri dan terus menyempurnakannya selama beberapa tahun. Persyaratan utama untuk membuat aplikasi adalah portabilitas, bekerja di semua versi Windows tanpa menginstal perpustakaan pihak ketiga (kecuali untuk NET Framework 3.5), antarmuka yang sederhana dan kinerja tinggi.





ImportExportDataSql - konverter data universal, alternatif untuk "bcp"

Formulir utama ImportExportDataSql
Formulir utama ImportExportDataSql

( CSV Excel) ( CSV). bcp, . "bcp", , .





ImportExportDataSql , . :





ImportExportDataSql :
ImportExportDataSql.exe -ConnectionName="   " -TaskName="  1" -TaskName="  2" [-Log="C:\FolderName\LogFileName.log"]
      
      



:





-ConnectionName - , " " " "





Simpan pengaturan koneksi database

-TaskName -





-Log - . . -, Logs\UserName\ImportExportDataSql.log





ImportExportDataSql

  1. -





  2. ( bcp) - bcp ( bat )





  3. - varbinary





  4. SQL - SELECT SQL





  5. SQL ( INSERT)





  6. SQL ( UPDATE)





  7. SQL





  8. Excel SQL





  9. CSV





  10. CSV SQL





  11. CSV





  12. SQL - SQL





  13. - SELECT





, SQL , . (, ).





Simpan dari DB ke DB

( ) Linked Server, 1 2 . C# System.Data.SqlClient: SqlConnection, SqlDataReader, SqlCommand SqlBulkCopy.





OutOfMemoryException, (). , . , :





  1. SQL - ,





  2. :





    - , " ", . (.) " " , .





    - . , ( , )





    - , . , 100 , " " = 10, 10 .





    -





" " , . , , , (insert into ... select ...), , tempdb ( " " ).





ImportExportDataSql

ImportExportDataSql . .





, CSV Excel.





CSV ( 1) , CSV. CSV, .





SQL , , "Messages" SQL Server Management Studio.





" SQL" (jobs), , .





C# SqlBulkCopy , Linked Server.





ImportExportDataSql





ImportExportDataSql





Artikel "Quick Read CSV in C#" yang membahas tentang kekurangan "bcp"





Komunitas VK , bagi yang ingin mengobrol dengan penulis








All Articles