2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLServerでBULK INSERT出来なかった件

Posted at

SQLServerでBULK INSERTを実行しようとすると以下のようなエラーが出る…

  • 一括読み込みステートメントを使用する権限がありません。

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

以下の方法で解決できると思われる

Windows認証

SQLServer構成マネージャーを開き、下記の赤枠の【ログオン】の欄を確認してください。

構成マネージャー.png

今回は「NT Service\MSSQLSERVER」となっているので、BULK INSERTで挿入するテキストorCSVが保存されているフォルダに対して「MSSQLSERVER」でアクセスできるようにアクセス権限を付与(【プロパティ】⇒【セキュリティ】⇒【編集】⇒【追加】)します。

これで出来るはず。

これで出来ない場合は対象ユーザにsysadminが付与されていないと思われるので管理者ユーザでログインし付与してあげる

SQLServer認証

上記のアクセス付与に加えてユーザ自体にも権限を付与する必要があります。
SSMSでデータベースにログインしBULK INSERTを実行するユーザに対して以下の権限を付与します。

1.【セキュリティ】⇒【ログイン】⇒【対象ユーザ】⇒【プロパティ】⇒【サーバーロール】の順に進みbulkadminという項目にチェックを入れてOKします
bulkadmin.png
2.【セキュリティ】⇒【ログイン】⇒【対象ユーザ】⇒【プロパティ】⇒【ユーザマッピング】の順に進み対象データベースのdb_datareaderdb_datawriterという項目にチェックを入れます
db_datawriter.png

これでこちらも大丈夫なはず。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?