Amazon DRS SQL Serverデータベースの1つを復元しようとしています。 SQL Server Management Studioを使用すると、データベースインスタンスの作成時に作成したマスターアカウントを使用して、DRSインスタンスを修正できます。特定のデータベースの復元を開始すると、すべての完全バックアップとトランザクションログを表示できますが、復元しようとするとこのエラーメッセージが表示されます
この要求のデータを取得できませんでした。(Microsoft.SqlServer.Management.Sdk.Sfc)
Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。(Microsoft.SqlServer.ConnectionInfo)
EXECUTE権限がオブジェクト 'xp_fileexist'、データベース 'mssqlsystemresource'、スキーマ 'sys'で拒否されました。(Microsoft SQL Server、エラー:229)
AWS管理コンソールからデータベースインスタンス全体を復元できますが、それは望んでいません。新しいデータベースインスタンス全体を復元するのではなく、特定のデータベースを特定の時点に復元できるようにしたいと考えています。また、特定の時点に復元する方法に関する情報があまりないようです。
ありがとう。
Management Studioが「代わりに」実行していることを実行するのではなく、操作をスクリプト化してみます。 xp_fileexist
を使用する必要はありません(スクリプトが言う場所にファイルが実際に存在することを検証できると仮定します)。 2012 SSMSを使用して、ログバックアップと直接一致しない時点に復元しています。
私の場合、結果のスクリプトは次のとおりです。
BACKUP LOG ... WITH NOFORMAT, NOINIT, NOSKIP, NOREWIND, NOUNLOAD, NORECOVERY
RESTORE DATABASE ... WITH FILE = 1, NORECOVERY, NOUNLOAD
RESTORE LOG ... WITH FILE = 1, NORECOVERY, NOUNLOAD
...
RESTORE LOG ... FROM DISK = [...path from line 1...] WITH NOUNLOAD, STOPAT = <time>