假定有两个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=\SystemnameShareNamePath
set target_database_file_dir=\SystemnameShareNamePath
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用于每次备份时覆盖原备份文件中的数据。
【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键
0
2. 由于两个Server都需要访问数据库备份文件 ,存放备份文件的文件夹一般要设置为"共享"文件夹。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号