1.概要
データベース MicroSoft SQL Server 2005 の搭載された Windows Server 2003 R2 が未だに仮想化された状態で動いている。サーバのハードウェアの寿命が近づき、次回から Windows Server 2003 R2 の仮想化は難しくなるので、MicroSoft SQL Server 2005 を別の新しいバージョンの SQL Server に移行しなければならない。
そこで、移行を行ってみることにしました。今回はバックアップまでです。
2.データベースのバックアップ手順
SQL Server 2005 のデータを移行するにはバックアップをする必要がある。
「Windows Server 2003 R2」にリモートで接続。
SQL Server 2005 の SQL Server Management Studio(以下SSMS)を起動
AD環境下のため該当するデータベースにWindows認証で「接続」
初期画面が表示される。
バックアップ対象のデータベースで右クリック→「タスク」→「バックアップ」
バックアップの種類:完全
「追加」ボタンをクリック。
もし既にバックアップ先のパスが表示されていたら削除しておく必要がある。
バックアップ先を指定して「OK」をクリックする。
「OK」ボタンでバックアップが完成します。
「バックアップが正常に完了しました」が表示されましたら「OK」で完了です。
バックアップのデータが出来ていました。
3.バックアップに失敗した場合
もし、「サーバーのバックアップに失敗しました。」
「エラー5アクセスが拒否されました」が出てバックアップに失敗した場合、
この場合SQLServerの対象フォルダへのアクセス権限の問題と思われる。
バックアップデータの入るフォルダのアクセス権限を変更してみます。
今回「c:\data」が保存先に指定していますので、このフォルダのアクセス許可を確認してみます。
今回後から別のサーバでデータを取り出すために共有フォルダになっており、Everyoneフルコントロールにしましたが、これだけではダメでした。Administrator権限で、Windwos認証でSQLServerに繋いでいるのに、SQLServerのフォルダへのアクセス権限は別なようです。
たまたま他のバックアップフォルダの設定がしてあり、その設定と同じにしました。
今回他のバックアップ用の共有フォルダは次のようになっていました。
「セキュリティ」タブを見ると、CREATOR OWNER は特殊なアクセス許可になっており、「詳細設定」を押してみます。
CREATOR OWNER の「編集」を見ると
このようになっていました。これは関係ないとは思いますが一応合わせておきました。
他も見てみると、ローカルのUsersも設定がしてありました。
ここは「ファイルの作成データの書き込み」と「フォルダの作成データの追加」にチェックを付けてありましたので、合わせました。
この当たりが原因かもしれません。
「読み取りと実行」、「フォルダ内容の一覧表示」「読み取り」にもチェックが付いていましたので、こちらもチェックを付けました。
これで再度バックアップを取ったところ正しくバックアップが取れました。
原因はログインユーザーがAdministrator権限でもSQLServerへの認証がWindow認証でデータベースに接続していても、SQLServerのバックアップの時は上記のようなフォルダへのアクセス権限が必要と思われます。
他にもネットで調べると「サービス」からSQL Serverのプロパティで「ログオン」タブでローカルシステムアカウントに変更し、「デスクトップとの対話をサービスに許可」にチェックを付けて、SQL Serverを右クリック再起動でも出来るようですが、何か分かりにくいので、今回一時的にバックアップを取るだけだったので、フォルダの権限を変えて対応しました。
このdataフォルダは安全のため取り出したら直ぐに削除しました。