kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

バックアップの復元ができない

SQL serverでバックアップの復元ができなかった

バックアップデバイス'hoge.bak'を開けません。オペレーティングシステムエラー5(アクセスが拒否されました)。
RESTORE HEADERONLYが異常終了しています。(Microsoft SQL Server、エラー:3201)


以下のような原因が考えられる

1.接続時に、名前付きパイプを使用していない

SQL Serverのセキュリティ構成から変更→インスタンスを再起動

2.サービスを実行しているユーザーに権限がない

SQL Serverのサービスを起動しているユーザーに対象フォルダ、ファイルへのアクセス権限がないのが問題。
なので、サービスを起動しているユーザーに権限を与えればOK
セキュリティ的に問題ないなら
Everyoneユーザーを追加して、そいつにフルコントロールでもOK

アカウント名を確認する

管理ツール→サービス
SQL Serverのサービスを確認
右クリックでプロパティを表示
ログオンタブを開く
アカウント名を確認する

バックアップファイルが置いてあるフォルダ

バックアップファイル自体の以下の点を確認
プロパティを開いて、セキュリティタブを開く
上記で確認したアカウントが存在しているかを確認
存在していなければ追加
存在していれば、そのアカウントの権限を確認

追加の方法

追加ボタンを押下する
開いたウィンドウの詳細設定ボタンを押下する
ドメインが区切られている場合には、ドメインのユーザーとパスをいれて通過する
開いたウィンドウの今すぐ検索するボタンを押下する
そこから、上記で確認したアカウント名を選択し、OKボタンを押下する
OKボタンを押下する

追加したユーザーにフルコントロールを与える
(そこまではいらないと思うけど、一応)
OKを押下する