备份文件命令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上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都须要拜访数据库备份文件 ,寄存备份文件的文件夹一般要设置为"享共"文件夹。

    

文章结束给大家分享下程序员的一些笑话语录: 手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn

你可能感兴趣的:(sqlserver)