SqlServer一键复制数据库脚本
假定有两个Server:192.168.0.1和192.168.0.2,需要 复制 的 数据库 名为TestDB,现将该库由192.168.0.1 复制 到192.168.0.2,其中%source_database_backup_file_dir%为存放192.168.0.1上TestDB库备份文件的文件夹,%target_database_file_dir%为192.168.0.2
假定有两个Server:192.168.0.1和192.168.0.2,需要复制的数据库名为TestDB,现将该库由192.168.0.1复制到192.168.0.2,其中%source_database_backup_file_dir%为存放192.168.0.1上TestDB库备份文件的文件夹,%target_database_file_dir%为192.168.0.2上TestDB数据库文件所在的文件夹,BAT脚本如下:
@echo off set source_server=192.168.0.1 set source_server_user=sa set source_server_password=sa set target_server=192.168.0.2 set target_server_user=sa set target_server_password=sa set database=TestDB set source_database_backup_file_dir=\\Systemname\ShareName\Path set target_database_file_dir=\\Systemname\ShareName\Path echo Start to backup source database... osql -S"%source_server%" -U"%source_server_user%" -P"%source_server_password%" -n -h-1 -d"%database%" -Q"BACKUP DATABASE %database% TO DISK = '%source_database_backup_file_dir%\%database%.bak' WITH INIT;" echo Disconnect all existing connections of target database. osql -S"%target_server%" -U"%target_server_user%" -P"%target_server_password%" -Q"declare @i int declare cur cursor for select spid from sysprocesses where db_name(dbid)= '%database%' open cur fetch next from cur into @i while @@fetch_status=0 begin exec('kill '+@i) fetch next from cur into @i end close cur deallocate cur" echo Start to resotre target database from source database backup file... osql -S"%target_server%" -U"%target_server_user%" -P"%target_server_password%" -n -h-1 -d"Master" -Q"RESTORE DATABASE %database% FROM DISK = '%source_database_backup_file_dir%\%database%.bak' WITH REPLACE,MOVE '%database%' TO '%source_database_backup_file_dir%\%database%.mdf',MOVE '%database%_Log' TO '%source_database_backup_file_dir%\%database%_log.ldf';" echo DONE!! pause
本脚本主要使用BACKUP命令为原库生成一个备份文件,然后使用RESTORE命令将备份文件恢复到目标库,从而实现数据库复制。关于BACKUP命令请参考:http://msdn.microsoft.com/zh-cn/library/ms186865.aspx,关于RESTORE命令请参考:http://msdn.microsoft.com/zh-cn/library/ms186858.aspx
有两个细节说明一下:
1. BACKUP语句中的WITH INIT用于每次备份时覆盖原备份文件中的数据。
2. 由于两个Server都需要访问数据库备份文件 ,存放备份文件的文件夹一般要设置为"共享"文件夹。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah import adalah seperti berikut: Salin fail MDF ke direktori data SQL Server (biasanya C:\Program Files\Microsoft SQL Server\MSSQL\DATA). Dalam SQL Server Management Studio (SSMS), buka pangkalan data dan pilih Lampirkan. Klik butang Tambah dan pilih fail MDF. Sahkan nama pangkalan data dan klik butang OK.

Jika anda secara tidak sengaja memadamkan pangkalan data SQL Server, anda boleh mengambil langkah-langkah berikut untuk memulihkan: hentikan aktiviti pangkalan data periksa log pangkalan data: pulihkan daripada sandaran menggunakan DBCC; alatan parti. Sila sandarkan pangkalan data anda dengan kerap dan dayakan pengelogan transaksi untuk mengelakkan kehilangan data.

Jika pemasangan SQL Server gagal, anda boleh membersihkannya dengan mengikuti langkah berikut: Nyahpasang SQL Server Padam kekunci pendaftaran Padam fail dan folder Mulakan semula komputer

Perbezaan sintaks antara MySQL dan SQL Server terutamanya ditunjukkan dalam objek pangkalan data, jenis data, pernyataan SQL dan aspek lain. Perbezaan objek pangkalan data termasuk enjin storan dan cara kumpulan fail ditentukan, dan penciptaan indeks dan kekangan. Perbezaan jenis data melibatkan perbezaan dalam jenis angka, jenis aksara, dan jenis tarikh dan masa. Perbezaan pernyataan SQL ditunjukkan dalam had set hasil, sisipan data, kemas kini dan operasi padam, dsb. Perbezaan lain termasuk cara lajur identiti, paparan dan prosedur tersimpan dibuat. Memahami perbezaan ini adalah penting untuk mengelakkan ralat apabila menggunakan sistem pangkalan data yang berbeza.

Untuk memadam pangkalan data SQL Server, sila lakukan langkah berikut mengikut urutan: 1. Log masuk ke SQL Server Management Studio 2. Kembangkan nod pangkalan data 3. Klik kanan pangkalan data untuk dipadamkan; 5. Sahkan pemadaman. Nota: Memadam pangkalan data tidak boleh diterbalikkan, sila pastikan anda telah menyandarkan data penting dan memutuskan sambungan objek lain.

Masalah bahawa SQL Server tidak boleh dipasang semula kerana pemadaman yang tidak lengkap boleh diselesaikan dengan mengikuti langkah berikut: padam fail dan entri pendaftaran secara manual menggunakan alat pemasangan dan nyahpasang oleh pihak ketiga; komputer; pasang semula SQL Server.

Data yang dipadamkan SQL Server boleh dipulihkan melalui rollback transaksi (mengembalikan transaksi tanpa komitmen). Log pangkalan data (pulihkan data daripada log). Sandaran asli SQL Server (pulihkan pangkalan data daripada sandaran). Alat pemulihan pihak ketiga (gunakan teknologi canggih untuk memulihkan data). Hubungi Sokongan Microsoft (untuk bantuan khusus).

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.
