SqlServer一键复制数据库脚本
来源:互联网 发布:nba2k17捏脸数据 编辑:程序博客网 时间:2024/04/28 00:08
假定有两个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 offset source_server=192.168.0.1set source_server_user=saset source_server_password=saset target_server=192.168.0.2set target_server_user=saset target_server_password=saset database=TestDBset source_database_backup_file_dir=\\Systemname\ShareName\Pathset target_database_file_dir=\\Systemname\ShareName\Pathecho 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都需要访问数据库备份文件 ,存放备份文件的文件夹一般要设置为"共享"文件夹。
- SqlServer一键复制数据库脚本
- SqlServer一键复制数据库脚本
- sqlserver数据库通过脚本复制数据库
- 复制SqlServer数据库
- 复制SqlServer数据库
- 复制SqlServer数据库
- SQLServer复制数据库
- 关于sqlserver数据库复制
- sqlserver数据导入mysql一: 创建mysql数据库 perl脚本
- Book-SQLSERVER数据库脚本
- 关于sqlserver 数据库的复制
- 数据库一键退出脚本
- 数据库一键退出脚本
- SqlServer数据库还原Sql脚本
- Python 脚本备份sqlserver数据库
- sqlserver数据库实验一
- Oracle 数据库复制常用脚本
- SQLServer 数据库镜像(一)单服务器无见证的镜像脚本配置
- ASP.NET读取网络图片并在页面上显示
- strcpy和memcpy的区别
- 200多个js技巧代码
- static 全局变量和普通全局变量
- 正则表达式
- SqlServer一键复制数据库脚本
- 五款超实用的开源SVG工具
- Struts2配置详解
- 十大界面原型与布局工具
- STL迭代器失效问题
- C/C++内存泄漏及检测
- C++ UNICODE 文件读写相关
- hdu 2181 (dfs)
- 一个菜鸟的内核学习