====== SQL Server Recovery/User Mapping ====== ===== 목적 ===== - 물리적인 서버를 새로 설치 후, SQL Server에 백업 파일 복구 후, 사용자 계정을 매핑하는 방법을 설명한다. ==== 예정정보 ==== ^ TDE Cert File | d:\mssql_cert\tde_cert.cert | ^ TDE Private Key | d:\mssql_cert\tde_private.key | ^ TDE Encryption Password | abcde1 | ^ Backup File | d:\backup\admin_20160923.bak | ^ Recovery Directory | d:\MSSQL\ADMIN\ | ^ Database Name | **admindb** | ^ Database User | **db_manager** | ^ Database Password | **12345a** | ===== 백업파일 복구 ===== ==== TDE 적용 ==== - SQL Server에 TDE 가 적용되어 있다면, - HOWTO -- Restoring the certificate, but without the private key. CREATE CERTIFICATE TDECert FROM FILE = 'D:\mssql_cert\tde_cert.cert' WITH PRIVATE KEY ( FILE = N'D:\mssql_cert\admin_private.key', DECRYPTION BY PASSWORD = 'abcde1' ); GO ==== 복구 ==== - HOWTO -- We have the correct certificate and we've also restored the -- private key. Now everything should work. Finally! restore DATABASE [admindb] FROM disk= N'D:\backup\admindb_20160923.bak' WITH move 'admindb' TO N'D:\MSSQL\ADMIN\admindb_data.mdf', move 'admindb_log' TO N'D:\MSSQL\ADMIN\admindb_data_log.ldf'; GO ===== 사용자 계정 생성 ===== - 계정 생성하는 방법은 2가지 명령어로 가능한다. - 계정생성 HOWTO 1 sp_addlogin 'db_manager','12345a','admindb'; - 계정생성 HOWTO 2 create login db_manager with password='12345a', default_database=admindb; ===== 사용자 계정과 데이타베이스 매핑 ===== - 계정 매핑 USE admindb go EXEC sp_change_users_login 'Update_One', 'db_manager', 'db_manager'