您现在的位置是:网站首页> 编程资料编程资料
如何恢复数据库备份到一个已存在的正在使用的数据库上_MsSql_
2023-05-26
406人已围观
简介 如何恢复数据库备份到一个已存在的正在使用的数据库上_MsSql_
USE master -- (Cant sit in the database whilst its being restored!)
GO
ALTER DATABASE MyDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
-- Restore Full Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyBackupFilename_Full.BAK
WITH
REPLACE,
NORECOVERY, -- Use if more T/Logs to recover
-- RECOVERY, -- Use if NO more T/Logs to recover
STATS = 10, -- Show progress (every 10%)
MOVE MyDatabase_Data TO x:\MSSQL\DATA\MyDatabase.mdf,
MOVE MyDatabase_Log TO x:\MSSQL\DATA\MyDatabase.ldf
GO
-- Optional restore Differential Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyDatabase_Diff.BAK
WITH
-- RECOVERY -- Use if NO more file to recover
NORECOVERY -- Use if there are T/Logs to recover
GO
-- Optional restore Transaction Log Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyDatabase_yyyymmdd_hhmm_Trans.BAK
WITH
-- RECOVERY -- Use if NO more T/Logs to recover
NORECOVERY -- Use if more T/Logs to recover
GO
-- Set the database ready for use (after all backups have been restored)
RESTORE DATABASE MyDatabase RECOVERY
GO
-- Rename logical names (only needed if restoring from a backup for a Different database):
ALTER DATABASE MyDatabase
MODIFY FILE (NAME = OrigDatabase_Data, NEWNAME = MyDatabase_data)
GO
ALTER DATABASE MyDatabase
MODIFY FILE (NAME = OrigDatabase_Log, NEWNAME = MyDatabase_log)
GO
GO
ALTER DATABASE MyDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
-- Restore Full Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyBackupFilename_Full.BAK
WITH
REPLACE,
NORECOVERY, -- Use if more T/Logs to recover
-- RECOVERY, -- Use if NO more T/Logs to recover
STATS = 10, -- Show progress (every 10%)
MOVE MyDatabase_Data TO x:\MSSQL\DATA\MyDatabase.mdf,
MOVE MyDatabase_Log TO x:\MSSQL\DATA\MyDatabase.ldf
GO
-- Optional restore Differential Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyDatabase_Diff.BAK
WITH
-- RECOVERY -- Use if NO more file to recover
NORECOVERY -- Use if there are T/Logs to recover
GO
-- Optional restore Transaction Log Backup
RESTORE DATABASE MyDatabase
FROM DISK = x:\MSSQL\BACKUP\MyDatabase_yyyymmdd_hhmm_Trans.BAK
WITH
-- RECOVERY -- Use if NO more T/Logs to recover
NORECOVERY -- Use if more T/Logs to recover
GO
-- Set the database ready for use (after all backups have been restored)
RESTORE DATABASE MyDatabase RECOVERY
GO
-- Rename logical names (only needed if restoring from a backup for a Different database):
ALTER DATABASE MyDatabase
MODIFY FILE (NAME = OrigDatabase_Data, NEWNAME = MyDatabase_data)
GO
ALTER DATABASE MyDatabase
MODIFY FILE (NAME = OrigDatabase_Log, NEWNAME = MyDatabase_log)
GO
相关内容
- 如何强制删除或恢复SQLServer正在使用的数据库_MsSql_
- 清除SQLServer日志的两种方法_MsSql_
- 最长用最基本的MSSQL数据库备份与还原_MsSql_
- SQL Server连接失败错误及解决第1/5页_MsSql_
- 如何创建SQL Server 2000故障转移群集_MsSql_
- SQL Server 中调整自增字段的当前初始值_MsSql_
- MDF文件在SQL Server中的恢复技术_MsSql_
- sql数据库不能直接用instr函数_MsSql_
- MS-SQL Server 中单引号的两种处理方法_MsSql_
- 显示 Sql Server 中所有表中的信息_MsSql_
