1

サーバー A に ASP.NET アプリケーションがあり、サーバー B に SQL Server があります。アプリケーションを実行すると、ストアド プロシージャが呼び出されます。この手順では、サーバー A の共有フォルダーからファイルを一括挿入しようとしましたが、次のエラーが発生しました。

ファイル「\serverA_address\sharedFolder\test.txt」を開けなかったため、一括読み込みできません。オペレーティング システム エラー コード 5 (アクセスが拒否されました。)。

奇妙なことに、SQL 管理スタジオから一括挿入を直接実行すると、例外なく実行されます。

別の観察:共有フォルダーのアドレスを、共有せずにSQLサーバーが実行されているローカルフォルダー(サーバーB)に変更すると、アクセス拒否エラーが発生しません...

技術ユーザーを含むすべてのユーザーにbulkadmin権限を設定しようとしました:sqlサービスを実行するsql_serviceusr、アプリケーションを実行してSQLサーバーへの呼び出しを行う別の技術ユーザー、およびアプリケーションにログインしたユーザー。すべてのユーザーはドメイン アカウントであり、すべてのサーバーは Kerberos 認証を使用しています。

サーバー A: Windows Server 2008R2

サーバー B: Windows Server 2008R2、SQL Server 2008R2

ヘルプやガイダンスに感謝します。

4

3 に答える 3

1

ダブルホップを実行しているため、Kerberos委任を有効にする必要があります。

于 2013-02-01T16:26:40.183 に答える
1

接続アカウントを作成し、SQL 認証を使用できます。

私の経験では、ネットワーク担当者に Kerberos を適切にセットアップしてもらうことは、歯を抜くようなものです。1 週間は見事に機能していましたが、突然機能しなくなりました。その後、手間をかける価値はありませんでした。

これはあなたが探している正確な答えではないかもしれませんが、暫定的な解決策になる可能性があります.

于 2013-02-03T16:23:27.107 に答える
0

エラーの説明から、問題はフォルダの共有にあると思います。
フォルダを共有するときは、リモートコンピュータからフォルダにアクセスするユーザーに、フォルダのプロパティの[共有]タブと[セキュリティ]タブの2か所でアクセスを許可する必要があります。
両方にアクセスを許可しましたか?

于 2013-02-01T14:55:13.537 に答える