Dari command prompt, mulai sqlcmd
:
sqlcmd -S <server> -i C:\<your file here>.sql
Ganti saja <server>
dengan lokasi kotak SQL Anda dan <your file here>
dengan nama skrip Anda. Jangan lupa, jika Anda menggunakan contoh SQL sintaksnya adalah:
sqlcmd -S <server>\instance.
Berikut adalah daftar semua argumen yang dapat Anda berikan sqlcmd:
Sqlcmd [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend] [-L[c] list servers[clean output]]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile] [-z new password]
[-f | i:[,o:]] [-Z new password and exit]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-b On error batch abort]
[-v var = "value"...] [-A dedicated admin connection]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]
INSERT INTO table_name (text) VALUES ('some text bla bla 'bla' text')
. Saya memiliki kesalahan dengan kutipan. JADI Apa yang harus saya gunakan (parameter mana) untuk menangani kesalahan ini? Terima kasihSaya memiliki masalah yang persis sama dan telah berjuang untuk sementara waktu akhirnya menemukan solusi untuk mengatur
-a
parameter kesqlcmd
dalam untuk mengubah ukuran paket default:sumber
sqlcmd -S <Servername> -U <Username> -P <password> -d <Databasename> -i <filename>
Anda dapat menggunakan alat ini juga. Ini sangat berguna.
BigSqlRunner
sumber
Ambil prompt perintah dengan hak istimewa administrator
Ubah direktori ke tempat file .sql disimpan
Jalankan perintah berikut
sqlcmd -S 'your server name' -U 'user name of server' -P 'password of server' -d 'db name'-i script.sql
sumber
Saya menggunakan MSSQL Express 2014 dan tidak ada solusi yang bekerja untuk saya. Mereka semua hanya menabrak SQL. Karena saya hanya perlu menjalankan satu skrip dengan banyak pernyataan penyisipan sederhana, saya menyiasatinya dengan menulis aplikasi konsol kecil sebagai pilihan terakhir:
sumber
Jalankan di baris perintah dengan osql, lihat di sini:
http://metrix.fcny.org/wiki/display/dev/How+to+execute+a+.SQL+script+using+OSQL
sumber
sqlcmd
menggantikanosql
.Saya punya masalah serupa. File saya dengan skrip sql berukuran lebih dari 150MB (dengan hampir 900k INSERT yang sangat sederhana ). Saya menggunakan solusi yang disarankan oleh Takuro (sebagai jawaban dalam pertanyaan ini) tetapi saya masih mendapatkan pesan kesalahan dengan mengatakan bahwa tidak ada cukup memori ("Tidak ada memori sistem yang cukup di kumpulan sumber daya 'internal' untuk menjalankan kueri ini").
Apa yang membantu saya adalah bahwa saya menempatkan perintah GO setelah setiap 50k INSERT .
(Ini tidak secara langsung menangani pertanyaan (ukuran file) tapi saya percaya itu menyelesaikan masalah yang secara tidak langsung terhubung dengan ukuran besar skrip sql itu sendiri. Dalam kasus saya banyak memasukkan perintah)
sumber
Pertanyaan Anda sangat mirip dengan yang ini
Anda dapat menyimpan file / skrip Anda sebagai .txt atau .sql dan menjalankannya dari Sql Server Management Studio (saya pikir menunya adalah Open / Query, lalu jalankan kueri di antarmuka SSMS). Anda mungkin harus memperbarui baris pertama, menunjukkan database yang akan dibuat atau dipilih pada mesin lokal Anda.
Jika Anda harus melakukan transfer data ini sangat sering, Anda bisa melakukan replikasi. Bergantung pada kebutuhan Anda, replikasi foto bisa ok. Jika Anda harus menyinkronkan data antara dua server Anda, Anda bisa menggunakan model yang lebih kompleks seperti menggabungkan replikasi.
EDIT: Saya tidak melihat bahwa Anda memiliki masalah dengan SSMS yang ditautkan dengan ukuran file. Kemudian Anda dapat menggunakan command-line, seperti yang diusulkan oleh orang lain, replikasi snapshot (terbitkan di server utama Anda, berlangganan lokal Anda, replikasi, lalu berhenti berlangganan) atau bahkan backup / restore
sumber
Maka Anda mungkin merasa lebih mudah dengan hanya DTS (atau SSIS, jika ini SQL Server 2005+) data selesai, jika dua server berada di jaringan yang sama.
Jika kedua server tidak berada di jaringan yang sama, Anda dapat membuat cadangan database sumber dan mengembalikannya ke database baru di server tujuan. Kemudian Anda bisa menggunakan DTS / SSIS, atau bahkan yang sederhana
INSERT INTO SELECT
, untuk mentransfer dua tabel ke database tujuan.sumber
Semoga ini bisa membantu Anda!
sumber
Saya telah mengalami masalah yang sama dan menginvestasikan sepanjang hari untuk menemukan jalan keluar tetapi ini diselesaikan dengan membuat salinan file .sql dan mengubah ekstensi ke file .txt dan membuka file .txt ke browser chrome. Saya telah melihat keajaiban dan file dibuka di browser.
Terima kasih dan Salam,
sumber