답변:
당신은 그들이 사용할 필요가 없습니다 COPY_ONLY
. 중급자 만을 ( LOG BACKUPS
를) 중단합니다 LSN
. 할 수있는 일은 DENY BACKUP LOG to [user|group]
개발자 또는 개발자 그룹에 대한 명시적인 권한입니다. 또는 ROLE을 작성하고 해당 역할에 대한 백업 로그를 거부하십시오. 따라서 해당 역할의 모든 사용자는 권한을 상속받습니다.
예 :
USE test_kin
GO
CREATE ROLE [deny_log_backups]
GO
USE [test_kin]
GO
CREATE USER [Kin] FOR LOGIN [Kin]
GO
ALTER USER [Kin] WITH DEFAULT_SCHEMA=[dbo]
GO
use test_kin
GO
DENY BACKUP LOG TO [deny_log_backups]
GO
USE test_kin
GO
EXEC sp_addrolemember N'deny_log_backups', N'kin'
GO
이제 테스트 해보십시오.
backup database [test_kin]
to disk = 'C:\crap_test\kin_test_full.bak'
with compression, stats =10, init
---- ### success for FULL BACKUP
backup log [test_kin]
to disk = 'C:\crap_test\kin_test_log.log'
--- $$$ ERROR MESSAGE
Msg 262, Level 14, State 1, Line 3
BACKUP LOG permission denied in database 'test_kin'.
Msg 3013, Level 16, State 1, Line 3
BACKUP LOG is terminating abnormally.
당신이 할 수있는 일은 1) 그러한 사용자에 대한 백업 (로그 및 / 또는 전체)을 거부하지만 여전히 2) 특정 데이터베이스의 복사 전용 백업을 수행하는 작업을 시작할 수 있도록 허용합니다 (허가 된 계정으로 실행) 백업 권한). 조사 목적으로 데이터베이스의 PRO-PROD 자동 복원을 수행하기 위해 PROD를 자동화 할 수있는 솔루션이 있습니다. 특정 사용자는 PROD에서 복사 전용 백업을 수행하고 파일을 PROD에서 PRE-PROD로 이동 한 다음 PRE-PROD 서버에서 이동 된 백업을 복원하는 작업 (PRE-PROD)에 액세스 할 수 있습니다. 따라서 그러한 사용자가 PROD에서 백업 논리를 깰 수있는 방법이 없는지 확인하십시오.
(문제를 조사 할 때 개발자는 백업 논리를 깨뜨리지 않고 실제로 소스에서 테스트 서버로 파일을 이동하여 테스트 서버에서 파일을 복원하기 위해 전체 백업을 수행하려는 유혹을받을 수 있습니다. 백업 만 중요합니다.)