web-dev-qa-db-ja.com

フルアクセスにもかかわらず、SQLServerのUNCパスへの一括挿入が失敗する

ドメインの一部ではない2台のマシン(win2012r2のクライアント、win2016のSQLサーバー)を使用してセットアップしました。クライアントマシンには共有があり、誰でもアクセスできます。 SQLServer認証を使用しています。 SQLサーバーから共有を参照できます

一括挿入を実行しようとするアプリケーションがありますが、共有にアクセスするときに一括挿入でエラーコード1326(ユーザー名またはパスワードが正しくありません)が発生したとの不満があります。

これは私には意味がありません。ファイルにアクセスするのにパスワードは必要ありませんが、どうして間違っているのでしょうか?また、SQL Serverの共有にアップロードするようにアプリケーションを構成し、ローカルパスを使用して一括挿入を実行しようとしましたが、一括挿入中にアクセスが拒否されました。

2
Koert

ショーンとティムがコメントで言ったこと。 SQLServer2016と呼ぶSQLServerがローカルシステムとして実行されている場合、SQL Serverはマシンアカウントとして共有にアクセスしています。これを$ SQLServer2016と呼びます。

あなたのシェアは誰でも利用できます。 EVERYONEは、Authenticated Users(そのマシンのアカウントを持つすべての人を含む別の組み込みグループ)とGuestを含む組み込みグループです。 Guestは、共有を格納するマシンに持っていないアカウントを持っている人のための組み込みアカウントです。これをFileserver2012R2と呼びます。

SQLServer2016のシステムアカウント$ SQLServer2016は、定義上、有効なFileserver2012R2アカウントではありません。 SQLServer2016は、Guestアカウントを介してFileserver2012R2の共有にアクセスします。

私の推測では、GuestはFileserver2012R2で無効になっています。

2

私はBCPの間にこの問題を数回経験しました。私は通常、ファイルをドライブのC:\ルート(SQLサーバーマシン上)に配置することになり、リモートマシンでbCPを実行している場合でも、毎回機能します。これは、BCPユーティリティが別のユーザーまたはアカウントで実行されているという事実に関係している可能性があります。最近のバージョンのWindowsでは、共有ネットワークフォルダーからの読み取りと書き込みで多くの問題が発生しました。

0
chongo2002