SQL Server2012以降、バックアップ元のオリジナルのSQL Serverインスタンスへのリストアは成功するが、同一SQL Server上の別SQL Serverインスタンスへのリストアが以下のODBCエラーで失敗します。
<エラー出力例1>
ODBC SQL Server Driver][SQL Server]CREATE DATABASE 権限がデータベース 'master' で拒否されました。
<エラー出力例2>
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]'<SQL Server database ファイルへのパス>' で 'RestoreContainer::ValidateTargetForCreation' を試行中に、オペレーティング システムからエラー '5(アクセスが拒否されました。
<エラー出力例3>
ODBC SQL Server Driver][SQL Server]'<SQL Server database ファイルへのパス> で 'RestoreContainer::ValidateTargetForCreation' を試行中に、オペレーティング システムからエラー '32(プロセスはファイルにアクセスできません。別のプロセスが使用中です。)' が返されました。SQL Serverインスタンスを稼働しているログオン・ユーザにアクセス権限がない、またはリストア時にバックアップ元のSQL Serverインスタンスのデータベースがアクセス可能な状況にあることが原因です。
リストア先のインスタンスにアクセスできる権限を与え、必要に応じてリストア時にデータベースの名前を変更してリストアします。
<エラー出力例1の対処>
関連ソリューション#151274を参照します。リストア先のSQL Serverインスタンスに対して、sysadminロールに「NT AURHORITY\SYSTEM」メンバーを追加します。
<エラー出力例2の対処>
リストア先のSQL Serverインスタンス・サービスのプロパティ(スタートメニュー | 管理ツール | サービス 画面より)を開きます。 「ログオン」タブよりログインユーザーを「ローカルシステムアカウント」から「アカウント」に変更してSQL Serverインスタンスにアクセスできるローカルユーザおよびパスワードを設定後、SQL インスタンス・サービスを再起動します。
<エラー出力例3の対処>
以下のいずれかの方法にて、回避します。
回避方法1:
バックアップ元のオリジナルのSQL Serverインスタンスのサービスを停止したあとにリストアを実行します。
バックアップ元のオリジナルのSQL Serverインスタンスのサービスを停止することができない場合には、以下の回避方法2または回避方法3を使用します。
回避方法2:
リストアしたいデータベースを右クリックし、メニューより「名前変更」を選択します。「名前変更」オプションを有効にし、オリジナルのデータベース名とは違う名前を指定してリストアを実行します。 リストア完了後、SQL Server Management Studioより必要に応じてデータベースをオリジナルのデータベース名に変更します。
回避方法3:
バックアップ元のオリジナルのデータベースを削除した後、リストアを実行します。
関連ソリューション:
SQL Server2012/2014上のデータベースのバックアップが失敗する
ソリューション番号:151274
https://support.quest.com/ja-jp/netvault-backup/kb/151274