0

C#でドライブ(yなど)をネットワーク共有の場所にマップするにはどうすればよいですか? マップされたドライブは、SQL セッションで認識される必要があります。これは、C# アプリケーションからマップされたドライブ (例: y) に SQL データベースをバックアップするためのものです。マップされたドライブのネットワークの場所、ユーザー、およびパスワードを簡単に変更できるように、プログラムで実行したいと考えています。

SSMS / SQL セッション内で、クエリ ウィンドウでマップされたドライブを作成できました。

EXEC xp_cmdshell 'net use y: \\host11\special\temp temppassword /user:host11\sphr /persistent:no'

その後、C# アプリケーションから SQL Server データベースをバックアップできました。疑問に思っていますが、C# でこれを行うにはどうすればよいですか?

4

1 に答える 1

1

MSSQL "EXEC xp_cmdshell" に相当する C#/.Net はProcess.Start()です。

WMI でもできるかもしれないと思ったのですが、このユース ケースではあまり実用的ではないようです。

WMI 経由でリモート マシン上の UNC パスへのアクセスを照会する

ノート:

私が覚えている問題の 1 つは、MSSQL サービスが "LocalSystem" のコンテキストで実行されている場合、ネットワーク リソース (ディスク共有など) にアクセスできないことです。以下にいくつかの回避策を示します。

LocalSystem アカウントにネットワーク アクセスを許可する方法は?

于 2015-05-08T04:49:59.117 に答える