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都需要访问数据库备份文件 ,存放备份文件的文件夹一般要设置为"共享"文件夹。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The import steps are as follows: Copy the MDF file to SQL Server's data directory (usually C:\Program Files\Microsoft SQL Server\MSSQL\DATA). In SQL Server Management Studio (SSMS), open the database and select Attach. Click the Add button and select the MDF file. Confirm the database name and click the OK button.

If you accidentally delete a SQL Server database, you can take the following steps to recover: stop database activity; back up log files; check database logs; recovery options: restore from backup; restore from transaction log; use DBCC CHECKDB; use third-party tools. Please back up your database regularly and enable transaction logging to prevent data loss.

If the SQL Server installation fails, you can clean it up by following these steps: Uninstall SQL Server Delete registry keys Delete files and folders Restart the computer

SQL Server English installation can be changed to Chinese by following the following steps: download the corresponding language pack; stop the SQL Server service; install the language pack; change the instance language; change the user interface language; restart the application.

The syntax differences between MySQL and SQL Server are mainly reflected in database objects, data types, SQL statements and other aspects. Database object differences include the storage engine and how filegroups are specified, and the creation of indexes and constraints. Data type differences involve differences in numeric types, character types, and date and time types. SQL statement differences are reflected in result set limitations, data insertion, update and delete operations, etc. Other differences include how identity columns, views, and stored procedures are created. Understanding these differences is important to avoid errors when using different database systems.

To delete a SQL Server database, please perform the following steps in sequence: 1. Log in to SQL Server Management Studio; 2. Expand the database node; 3. Right-click the database to be deleted; 4. Select "Delete"; 5. Confirm the deletion. Note: Deleting the database is irreversible, please make sure you have backed up important data and disconnected other objects.

SQL Server deleted data can be recovered through transaction rollback (rolling back uncommitted transactions). Database log (restore data from log). SQL Server native backup (restore database from backup). Third-party recovery tools (use advanced technology to recover data). Contact Microsoft Support (for dedicated help).

The location where the Navicat database configuration files are stored varies by operating system: Windows: The user-specific path is %APPDATA%\PremiumSoft\Navicat\macOS: The user-specific path is ~/Library/Application Support/Navicat\Linux: The user-specific path is ~/ .config/navicat\The configuration file name contains the connection type, such as navicat_mysql.ini. These configuration files store database connection information, query history, and SSH settings.
