- PR -

MSDE2000のDBサーバーから自PCにデータベースをバックアップしたいのですが

投稿者投稿内容
みなと
大ベテラン
会議室デビュー日: 2002/06/14
投稿数: 202
お住まい・勤務地: Q州地方の日本海側
投稿日時: 2008-09-10 12:54
引用:

一見しただけで不自然な気がします。


うう。
もちょっとちゃんと書けば良かったですね。

デフォルトシェアならC$とかになります。
他のかたなどご指摘通りですのでパスの書き方はどこかで
調べてください。

追加情報としては、希にドライブ文字をつけてあげないと
パスとして認識しない人もいるので
「ネットワークドライブも割り当て」をするとうまくいく場合もあるかも知れません。

いずれにしろ、なにをやってどういうメッセージが返却されたかを
伝えてもらわないと推測で話をしているだけなので絞り込めません。


[ メッセージ編集済み 編集者: みなと 編集日時 2008-09-10 12:55 ]
Neverland
ベテラン
会議室デビュー日: 2006/11/27
投稿数: 56
投稿日時: 2008-09-10 14:11
投稿者です

よっしー さん、BackDoor さん、みなと さん、ありがとうございます。

クライアントに「C」の共有フォルダがあります。(「C$」とは別に)
パスは、「c\\db_bakup」、「c$\\db_bakup」どちらもアクセス可能です。
エラーメッセージは、下記の通りです。
 「 SQLエラー バックアップ デバイス '\\ClientPC\db_bakup\master.bak' を開けません。デバイス エラーまたはデバイスがオフラインです。詳細については、SQL Server のエラー ログを参照してください。」

あくまで先に書きました T-SQL では、バックアップ先のパスは、データベースが存在するPC上のパスを指し、他のPCへはバックアップできないのでは、と言う様に思ってきました。

Enterprise Manager で、他のPC上のデータベースを開き、データベースのバックアップをGUIで行おうとしても、「バックアップ先の選択」の候補には、そのPC上のドライブやフォルダ構成しか表示されません。(バックアップ先はネットワーク越え出来ない?)
まだ試すまでには至っていないのですが、データベースのあるPC上にクライアントの共有ドライブ、フォルダを作れば、「バックアップ先の選択」に表示され、それを迂回して自PC上にバックアップできるのではないかと思っているところです。

ただ、やろうとしていることは、どのクライアントからも、データベースサーバーのデータベース(他人のPC上のデータベースも含む)を、自由に自PCにバックアップできる仕組み(VBscriptにてT-SQLを動的に作成)を作ることなので、これでは自由度が損なわれてしまいます。
自由度を優先するために、どのPCも「c$」を活かしているので、データベースサーバーや自PCに共有フォルダなどを作ることなく実現できないかと、考えを巡らせています。
しかし容易に行うには、セキュリティーの面で許されていないのか、と言うことも思います。
いとっと
常連さん
会議室デビュー日: 2005/06/10
投稿数: 33
投稿日時: 2008-09-10 16:36
MSSQLSERVERサービスの起動アカウントはローカルシステムでしょうか?
今回のようにネットワークを経由して別のサーバにバックアップを実行する場合には
そのサーバへアクセス出来るアカウントでサービスを起動しないといけないのでは
ないでしょうか?

私もMSDEを入れていたので起動アカウントを変更してテストしたところ、正常にバックアップが出来ました。

[追記]
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2617257&SiteID=7

同じ話題が出ている掲示板を見つけました。


[ メッセージ編集済み 編集者: いとっと 編集日時 2008-09-10 17:22 ]
Neverland
ベテラン
会議室デビュー日: 2006/11/27
投稿数: 56
投稿日時: 2008-09-10 17:06
投稿者です。

いとっと さんありがとうございます。

ご指摘の通りローカルシステムです。
更に無知な自分を悔いていますが、仕様としてローカルコンピュータで運用しています。
これが原因でしょうか。

テストまでして頂きありがとうございました。
こちらで確認をします。
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2008-09-10 17:51
あまりお付き合いできませんが・・・。

引用:
Neverlandさんの書き込み (2008-09-10 14:11) より:

あくまで先に書きました T-SQL では、バックアップ先のパスは、データベースが存在するPC上のパスを指し、他のPCへはバックアップできないのでは、と言う様に思ってきました。

Enterprise Manager で、他のPC上のデータベースを開き、データベースのバックアップをGUIで行おうとしても、「バックアップ先の選択」の候補には、そのPC上のドライブやフォルダ構成しか表示されません。(バックアップ先はネットワーク越え出来ない?)


ざっとnet検索した範囲だけでも

引用:

またファイル名にUNC (Uniform Naming Convention) 名を指定することができます。セキュリティ権限が適切に設定されておれば、ネットワーク内のファイルサーバーの中に、データベースのバックアップファイルを作成することができます。


なんて情報は見つかりましたけど。

ちなみにこちらのサイト内からの引用です。
これ以降はご自身で確認してください。

# なお、UNCは文字列が長すぎたり、フォルダの階層が深すぎたりすると正しく
# 参照できないケースがありますのでアプリによっては注意が必要です。
Neverland
ベテラン
会議室デビュー日: 2006/11/27
投稿数: 56
投稿日時: 2008-09-10 18:40
BackDoor さんありがとうございます。

確認させて頂きます。自己解決致します。
貴重な情報ありがとうございます。

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