DBILITY

mssql backup and different db restoration ( 백업 및 다른 db로 복원 ) 본문

database/mssql

mssql backup and different db restoration ( 백업 및 다른 db로 복원 )

DBILITY 2022. 9. 14. 10:51
반응형

기록해 두자. PC에서 찾는 것도 귀찮다.

원본 DB를 백업 후 다른 이름의 DB로 복원하는 과정이다.

/*****************************************************
* 01. 백업파일 
*     orginal_backup.bak
* 02. 원본DB
*     orginal_db
* 03. 대상DB
*     target_db
******************************************************/

USE [master]
GO

BACKUP DATABASE [original_db] TO DISK = 'E:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\Backup\orginal_backup.bak'
GO

-- 백업파일확인
RESTORE FILELISTONLY FROM DISK = 'E:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\Backup\orginal_backup.bak'
GO

sp_who2
GO

-- 제한된 유저만
ALTER DATABASE [target_db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

RESTORE DATABASE [target_db] FROM DISK = 'E:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\Backup\orginal_backup.bak'
                                            WITH REPLACE,
                                              MOVE 'original_db' TO 'E:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\target_db.mdf', 
                                              MOVE 'original_db_log' TO 'E:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\target_db_log.ldf'
USE [target_db]
GO
EXEC SP_CHANGE_USERS_LOGIN 'UPDATE_ONE','user','password'
GO

--논리 파일명 변경
ALTER DATABASE [target_db]
MODIFY FILE (NAME = original_db, NEWNAME = target_db)
GO

ALTER DATABASE [target_db]
MODIFY FILE (NAME = original_db_log, NEWNAME = target_db_log)
GO

-- 멀티 유저로
ALTER DATABASE [target_db] SET MULTI_USER
GO

sp_helpdb [target_db]
GO

이거 보고 클릭 한번~ 안하면 삼대가 재수있을지어다!😎

누르고 복권을 사라! 당첨되면 감사 댓글 부탁~

반응형
Comments