共有フォルダーに配置されるファイルに結果を与える sqlcmd コマンドがあります。
exec xp_cmdshell 'sqlcmd -s $dataSource -d $dbName -i $inputFilePath -o $outputFilePath'
ここで、共有ドライブが保護されていて、ユーザー名とパスワードが必要な場合はどうでしょうか。Sqlcmd で資格情報を指定して認証をバイパスする方法。
共有フォルダーに配置されるファイルに結果を与える sqlcmd コマンドがあります。
exec xp_cmdshell 'sqlcmd -s $dataSource -d $dbName -i $inputFilePath -o $outputFilePath'
ここで、共有ドライブが保護されていて、ユーザー名とパスワードが必要な場合はどうでしょうか。Sqlcmd で資格情報を指定して認証をバイパスする方法。
xp_cmdshell
次の NT (Windows) 資格情報の下で実行されます。
CREATE CREDENTIAL
デフォルトのコンテキストを使用してリモート リソース (ファイル共有) にアクセスすることを主張する場合、リモート リソースへのなりすましアクセスは「ダブル ホップ」であり、少なくとも 1 つのケースで制約付きの委任が必要になるため、パドルなしでは上り坂になります( NT を使用してログイン)。
より良いオプションは、リモート共有\\server\share
をドライブとしてローカルに明示的にマップし、代わりにX:
ドライブにアクセスすることです。ドライブをローカルにマッピングすると、保持された資格情報を保存できますが、サービス アカウントセッションX:
でマッピングが表示されるように注意する必要があります。これは...基本的に不可能です。サービスで使用されるネットワークドライブをマップするを参照してください。
これを適切に行うことができない理由がわかったので、自分の髪を引っ張ることになりますが、その間、障害のトラブルシューティングを行うのが難しいと常に戦っていることから白くなり、立ち止まって別の角度から問題を見てください。xp_cmdshell
電話するsqlcmd
?sqlcmd
ジョブ/プロセスから直接呼び出します。SQL エージェントは、これに必要なすべてのサポートを備えています。リモート共有と宛先の両方に接続するための適切な資格情報を持つプロキシ アカウントでジョブを実行するように設定するだけです$datasource
。