とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub
スポンサードリンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサードリンク

【SQL Server】リモート経由で行なうバックアップに必要な設定まとめ【リモート操作】

SQL Serverをリモート経由でクエリ操作を行ったり
BACKUP DATABASE TO DISK の対象にSQL Serverから見てリモートにあるドライブにバックアップファイルを出力する場合、セキュリティによってアクセスできない事があります。

DBから共有フォルダ等にバックアップを行なうには
以下6つの設定が必要になります。

バックアップファイルを受け取るクライアントマシンAの設定

バックアップ用ユーザーアカウント作成

共有フォルダの有効化とアクセス許可設定

DBサーバー(リモート端末より操作される)の設定

SQL Serviceのログオン権限付与

ファイアウォールの設定(SQL ServerとBrowser)

SQL Serverのリモートログオンを許可する

構成マネージャーでTCP/IPを有効にする


例えばTO DISKにリモートドライブを指定した時に返ってくる例。

実行コマンド


実行結果
バックアップ デバイス '\\pc01\Backup\backup.bat' を開けません。オペレーティング システム エラー 5(アクセスが拒否されました。)。


セキュリティに関する設定が行われていない場合、アクセスが拒否されエラーとなります。

というわけで、SQL Serverに対してリモート操作、及びSQLサーバーからリモートドライブへのアクセスに必要な設
定をまとめました。

この設定は
クライアントマシンAからSQL Serverにバックアップコマンドを発行し、
SQL ServerからクライアントマシンAに対してバックアップファイルを作成することを想定した
構成を元に記載しています。

20130128_バックアップシーケンスPNG

詳細な手順は以下

バックアップ用ユーザーアカウント作成


クライアントAの共有フォルダ「Backup」にアクセスするユーザーアカウントを作成します。
Everyoneフルコントロールする場合は不要ですが、大半はアクセス許可の設定を行います。

[コンピューター]右クリック→[管理]→[ローカルユーザーとグループ]
→右クリック[新しいユーザー]よりアカウントを作成]

今回はBackupUserというアカウントを作成しました。

20130128_CreateUser.png


共有フォルダの有効化とアクセス許可設定


バックアップファイルを作成するフォルダを右クリック→[プロパティ]→[共有]タブで共有化し
クライアントAの共有フォルダ[Backup]へのアクセス許可を[BackupUser]に対して与えます。

20130128_folder1.png

この設定を元に、DBサーバーからBackupUser権限でクライアントAに対してアクセスしバックアップを行います。

SQL Serviceのログオン権限付与


DBサーバー側の設定です。

クライアントAからバックアップコマンドを発行した場合
コマンドを実行するのはSQL Serviceです。
したがってバックアップコマンドでクライアントAにファイルを出力するには、DBサーバーからクライアントAへのアクセス許可が必要なので、SQL サービスがBackupUserアカウントを使ってバックアップを行なうよう設定します。

[コンピューター]右クリック→[管理]→[サービスとアプリケーション]→[サービス]で[SQL Server]を右クリック→[プロパティ]

20130128_Service1.png

[ログオン]タブでアカウントに「BackupUser」を設定します
20130128_Service2.png

権限が有効になったダイアログを確認
20130128_Service3.png

この設定でDBサーバーから外部ドライブへ、Database Backup To Diskでファイルを出力できるようになります。

20130128_backupsuc.png


ファイアウォールの設定(SQL ServerとBrowser)


SQL ServerにリモートからDDL(CREATE TABLEとか)やDML(Select~~とか)を発行したい場合、
ファイアウォールが邪魔してクエリ操作できない時があります。
SQL Serviceが外部からDMLを受け付ける時にはSQL Browserサービスがリッスンしてるので
DBサーバーのSQL Browser ServiceとSQL Serverがファイアウォールを通過できる設定を行います。

[コントロールパネル][Windows ファイアウォール]から[Windowsファイアウォールを介したプログラムまたは機能を許可する]を選択し[別のプログラムの許可]でsqlservr.exeとsqlservr.exeを選択します。

20130128_filewall1.png

20130128_filewall2.png

詳しい内容はMSさんとか
SQL Server のアクセスを許可するための Windows ファイアウォールの構成
こちらのサイトを参照するのがお勧めです。
SQL Server 2008 Express にリモート接続


SQL Serverのリモートログオンを許可する


デフォルトでは「許可」になっているようですが、念のためサーバーのプロパティを見て確認します。

SQL Server Management Studio よりサーバーのプロパティ確認
sqlserver1.png

構成マネージャーでTCP/IPを有効にする


SQL ServerでTCP/IPのプロトコルを有効にします。

[プログラムの一覧][SQL Server XXXX]を開いて構成ツールを起動します。

20130128_tcpip.png

TCP/IPを有効にします。
これでリモートから接続及びDMLの発行等も可能になります。


※ファイアウォールの設定を有効にするため、念のためOSを再起動したほうがよいでしょう。
※ドメイン環境化ではセキュリティに関する設定はADにより行なうのでこの限りではありません
▼この記事を読んだ方は、こんな記事も読んでいます。▼

スポンサードリンク

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dalmore.blog7.fc2.com/tb.php/55-8481d275
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。