- PR -

MSSQLのバックアップに関して

投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-10-05 12:43
環境
MSSQLサーバ:A
バックアップサーバ:B

以上の環境でBがAにosqlを使用し接続・\\B\c:\mssqlbak.dmpという名前の
バックアップファイルを作成するスクリプトを作成したのですがなぜか
\\A\c:\mssqlbak.dmpにも同様のファイルが作られます。

バックアップサーバとMSSQLサーバのフォルダ構成が同じで
なおかつ MSSQLサーバ側にバックアップファイルを作らないと
他のサーバからバックアップを実行できないということなんでしょうか?
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-10-05 13:25
すいません。
大きな、勘違いしておりました。
もう一度考え直します。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-10-06 13:49
もう一度まとめなおした上で
投稿いたします。

バックアップデータ保管 + バックアップ実行サーバ
:サーバA
MSSQL
:サーバB

以上の環境があって
サーバAの共有フォルダ【bkfile】に
バックアップファイルをためていこうと思っております。

そこでサーバAから以下のコマンドを実行したところ、

osql -S サーバB -U sa -P sa -q "backup database master to disk = '\\サーバA\bkfile'"

バックアップデバイス '\\サーバA\bkfile'を開けません。
デバイスエラーまたはデバイスがオフラインです。

といったエラーが表示され、バックアップできませんでした。

ぐぐったところ、SQLServerをサービスから起動するときの起動アカウントをLocalSystem→Administratorから
変更するとバックアップできるといった事が書かれていたため挑戦しましたが、それもだめでした。。。

どなたか対処方法をご存知の方 教えていただけないでしょうか。
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-10-06 22:41
引用:

北斗さんの書き込み (2005-10-06 13:49) より:

バックアップデバイス '\サーバAbkfile'を開けません。
デバイスエラーまたはデバイスがオフラインです。

といったエラーが表示され、バックアップできませんでした。




お疲れ様です。
SQL Server のサービスアカウントをチェックしてください。

LocalSystem アカウントでサービスが起動していれば,

■ Local の管理者権限で動いていますので

ネットワーク上のシェアフォルダにアクセスできません。

ネットワーク上の資源にアクセス可能なサービスアカウントをあてがう必要があります。

----------
TimberLandChapel
http://blogs.timberlandchapel.com/blogs/timberlandchapel/
アグリッパ
会議室デビュー日: 2005/08/11
投稿数: 5
投稿日時: 2005-10-06 22:49
こんばんわ。アグリッパと申します。
引用:
osql -S サーバB -U sa -P sa -q "backup database master to disk = '\\\\サーバA\\bkfile'"


とありますが、ファイル名が抜けているように思われますが、いかがでしょうか。
勘違いしていたらごめんなさい。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-10-06 23:19
>アグリッパさん
ご指摘ありがとうございます。確かにファイル名が抜けていました。
しかし、ファイル名を追記した上で実行しても同じ結果でした。。。

>TLCさん
アドバイスありがとうございます。
TLCさんのおっしゃってることは【スタート】→【設定】→【管理ツール】→【サービス】のMSSQL・・・のサービスの
ログオンアカウントをLocalSystem以外にする
ということでしょうか?

もしそうでしたら、それはやってみたのですが、同じ結果でした。
(バックアップファイルの保存フォルダも書き込み権限をEveryone OKにしてあります。)
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-10-07 00:17
引用:

北斗さんの書き込み (2005-10-06 23:19) より:

もしそうでしたら、それはやってみたのですが、同じ結果でした。
(バックアップファイルの保存フォルダも書き込み権限をEveryone OKにしてあります。)


お疲れ様です。
サービスアカウントの権限がサービス再起動も含めてクリアになっているとすれば,

・論理デバイスの指定ができるか確認する
・クエリアナライザからの実行を確認する

などとして原因を調べる方向でしょうか。

参考:バックアップ デバイス
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/adminsql/ad_bkprst_6hmb.asp

----------
TimberLandChapel
http://blogs.timberlandchapel.com/blogs/timberlandchapel/
matu_tak
会議室デビュー日: 2003/02/06
投稿数: 13
投稿日時: 2005-10-07 03:34
アグリッパさんが書かれているようにファイル名を省略したり、
UNC パス(共有フォルダ名)が間違っている場合にこのエラーが発生します。
また、OS レベルでの認証エラーが発生した場合もこのエラーが発生します。

>起動アカウントをLocalSystem→Administratorから変更すると
>
サービスアカウントをローカルマシンの Administrator に変更してますでしょうか?

サーバ A と B が同じドメインであれば、サービスアカウントにドメインのユーザー
を指定すればよいのですが、ドメイン環境ではなく、ワークグループ環境の場合は、
A(SQL Server)上でサービスアカウントに指定したアカウントと、
”同じ名前/同じパスワード” のアカウントがサーバ B 上にも必要になります。
これで OS レベルの認証が成功するようになります。

ですので、サービスアカウントを Administrator にしている場合は、
サーバ A と B に同じパスワードを設定した Administartor が必要になります。

あと、これはないと思うのですが、もし サーバ B が XP の場合は、Force Guest も
考慮する必要があります。これについては以下が参考になると思います。
http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=1¤t_page=1&disp_mode=0&detail_mode=1&message_id=19709

スキルアップ/キャリアアップ(JOB@IT)