1

これを達成する方法はありますか?ローカルサーバーとリモートサーバーを完全に制御できます。

4

2 に答える 2

0

他のSPと同じように実行できます。ただし、リモートファイルに関するデータのみを取得することに注意してください。ローカルファイルに関するデータが必要な場合は、SQLServer側では実行できません。クライアント側で確認し、(サーバー側でこれらのデータを使用する必要がある場合は)パラメーターとしてSQLServerに送信する必要があります。

于 2012-08-30T10:40:36.817 に答える
0

正しければ、ネットワークパスを使用してxp_fileexistを実行し、リモートサーバーにアクセスしようとします。例:

exec master.dbo.xp_fileexist "\\another_server\path\file"

それができない場合の主な理由-SQLSERVERサービスはLOCALSYSTEMアカウントで実行されています。このアカウントはローカルコンピューターアカウントであり、ネットワークにアクセスできません(ただし、server2の共有フォルダーへのアクセスをserver1アカウントからlocalsystemに許可する方法があります)。したがって、SQLServerサービスをDOMIAN\ USERで実行するように構成すると、上記のコマンドを実行して正しい結果を得ることができます。また、ドメインアカウントでSQLサーバーを実行している場合、ユーザーがSQLサーバーにアクセスできるようになるとすぐに、ドメインセキュリティシステムの穴になり、XP_CMDSHELLをリモートで実行できるようになることに注意してください。

ローカルシステムで実行されているSQLServer2000でテストし、ドメインアカウントで実行するように再構成しました。

于 2012-08-30T10:44:55.883 に答える