ユーザーをコピーのみのバックアップに制限する


13

実稼働環境にログ配布を展開したいと考えています。これは、開発環境を更新するためにバックアップを取る人々によって中断される可能性があるバックアップチェーンを管理する必要があることを意味します。障害が発生し、ログバックアップを使用して特定の時点に復元したい場合は、開発者が作成したバックアップも必要になります。

開発者がコピーのみのバックアップのみを使用している場合、これは起こりません。だから私の質問は次のとおりです。コピーのみのバックアップのみを実行できるようにユーザーを制限する方法はありますか?

回答:


12

あなたはそれらを使用させる必要はありません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.

2

良い答えが見つからない良い質問ですが、ここに一つあります。すべてのユーザーをバックアップロールから削除し、copy_onlyバックアップファイルを特定の場所にドロップする特定のユーザーに対してexecute asコマンドを使用するタスクを作成した場合はどうなりますか?


-1

できるのは、1)そのようなユーザーに対してバックアップ(ログおよび/またはフル)を拒否するが、それでも2)特定のデータベースのコピーのみのバックアップを実行するジョブを許可する(許可されたアカウントで実行する)バックアップ許可)。調査目的でデータベースのPRODからPRE-PRODへの自動復元を自動化するためのこのようなソリューションがあります。特定のユーザーは、PRODでコピーのみのバックアップを実行し、ファイルをPRODからPRE-PRODに移動し、移動したバックアップをPRE-PRODサーバーに復元するジョブ(PRE-PROD)にアクセスできます。したがって、そのようなユーザーがPRODのバックアップロジックを破る方法がないことを確認してください。

(問題を調査するとき、開発者は、バックアップロジックを壊していることを知らずに、ファイルをソースからテストサーバーに実際に移動することにより、テストサーバーで復元するために完全バックアップを作成したいと思うかもしれません... -バックアップのみが重要です。)


OPはLSNの破壊のみに関心があるため、なぜcopy_onlyを使用した完全バックアップに関心があるのですか?
キンシャー

さて、フルバックアップを作成してからファイルを移動すると、ロジックが壊れますよね?開発者がこれを行う場合、ファイルを開発サーバーに移動すると、次のLOGバックアップのFirstLSN値は、欠落したFULLバックアップのCheckPointLSNと一致します。その後、不足しているファイルなしで復元する方法は?
ベンジャミンライボー14年

完全バックアップでは、LSNはリセットされません。それを行うのはログバックアップのみです。あなたは物を混ぜていると思います。
キンシャー

1
そうそう、あなたは正しい。ログバックアップの代わりに差分バックアップを行う場合は問題になります。それから完全に離れることは危険です。私は物事を混乱させている、ありがとう。
ベンジャミンライボー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.