Jam*_*son 14 security sql-server backup
我希望在我的生产环境中部署日志传送。这意味着我将不得不管理备份链,这些备份链可能会被人们进行备份以刷新开发环境而中断。如果我遇到故障并想使用日志备份恢复到某个时间点,我还需要开发人员进行备份。
如果开发人员仅使用 COPY ONLY 备份,则不会发生这种情况。所以我的问题是:有没有办法限制用户只能执行 COPY ONLY 备份?
Kin*_*hah 12
你不需要让他们使用COPY_ONLY. 只有中间体LOG BACKUPS会破坏LSN. 您可以做的是明确DENY BACKUP LOG to [user|group]授予开发人员或开发人员组的特权。或者,只需创建一个角色并拒绝该角色的备份日志。因此,该角色中的所有用户都将继承权限。
例如
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
Run Code Online (Sandbox Code Playgroud)
现在测试一下:
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.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1583 次 |
| 最近记录: |