2017-08-23 19 views
0

Sql Server 2014 Express Editionを使用しています。私はVisual Studio 2015を使用しています。 データベースを使用するWinformアプリケーションを作成しました。このアプリでは、データベースをバックアップするボタンがあります。ボタンクリックイベントでは、sqlコマンドC#からSql Server 2014 Express Editionデータベースバックアップ - Sqlエラー

"backup database testdb to disk = @fullfilename"; 

が実行されます。これは、sqlcommandとExecuteNonQueryを使用して実行されます。

私はこれをテストするとき、私はエラーを取得:

Failed to backup databaseSystem.Data.SqlClient.SqlException (0x80131904) Operating system error 3(The system cannot find the path specified).

私はそれがマップされたドライブに保存するように取得しようとしてバックアップをテストしています。私はGoogleを見て、近づいてみた。私はSql Serverのログインサービスをドメインユーザーに変更しました。同じドメインユーザーの資格情報を使用してドライブを割り当てました。ユーザーが共有などのすべてのアクセス許可を持っていることを確認しました。喜びはありません。同じ問題。

これを動作させる方法についてのいくつかの指針を聞いて欲しいです。注意:マップされていないローカルドライブを使用するとうまく動作します。

注:マップされたドライブまたはUNCを使用する必要があります。その要件。

ありがとうございました。

+0

UNCでもマップドライブでのみ動作しますか? – MatSnow

+0

proc/queryはC#アプリケーションとは別にSQLで実行されますか? –

+0

@ fulllilenameの値を指定することをお勧めします。私たちは、二重スラッシュ(エスケープ)の問題やかなり基本的なものを手にしているかもしれないと推測しています。また、使用しているドライブが実際にコマンドが実行された時点でマップされていますか?これは、私がドライブレターにUNCパスを使用することを奨励するポイントになるでしょう。 –

答えて

0

UNCへのバックアップがサポートされており、問題なく動作するはずです。

私のトラブルシューティングのヒント:

  1. 代わりにマップされたドライブの使用UNCと保存先のフォルダをバックアップ前
  2. を開始するために存在することを確認してくださいは、SSMSにSQLコマンドをコピーし、手動た場合、バックアップ
  3. を開始しますSSMSを介したバックアップが機能し、あなたのアプリがまだ失敗すると、SQLプロファイラが起動し、あなたのアプリが送るSQLコマンドを見てください。

幸い!

+0

まあ、私は愚かな人の場合があると思います。いくつかの論争の末、UNCがうまくいっていることがわかりました。マップされたドライブは無駄でした。 –