4834: You do not have permission to use the bulk load statement(一括読込み文を使用する権限がない)
SQL Server意味
BULK INSERT (または OPENROWSET BULK) で一括読込みを実行するのに必要な権限がない。一括読込みはファイルシステムとサーバーリソースに直接アクセスするため、別個の権限が必要となる。
原因
ログインにサーバーレベルの ADMINISTER BULK OPERATIONS 権限がない、または bulkadmin サーバーロールのメンバーではない (Azure SQL Database では代わりにデータベースレベルの ADMINISTER DATABASE BULK OPERATIONS が必要)。対象テーブルへの INSERT 権限と、SQL Server サービスアカウントによるソースファイルの読み取りアクセスも必要。
対処方法
必要な権限を付与する: GRANT ADMINISTER BULK OPERATIONS TO login_name; (サーバーレベル) またはユーザーを適切なロールに追加する。Azure SQL DB では ADMINISTER DATABASE BULK OPERATIONS を使用する。SQL Server サービスアカウントに対象ファイル/共有の読み取り権限があることも確認する。最小権限の原則に従い、必要なアカウントにのみ付与する。
同じデータベースの他の項目
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths(FOREIGN KEY 制約により循環または複数のカスケードパスが生じる可能性)
- 9421XML parsing: illegal xml character(XML 解析: 無効な XML 文字)
- 15151Cannot find the object/principal because it does not exist or you do not have permission(オブジェクト/プリンシパルが存在しないか権限がないため見つからない)
- 10928Resource limit for the database has been reached (Azure SQL)(データベースのリソース上限に到達)
- 40544The database has reached its size quota (Azure SQL)(データベースがサイズクォータに到達)
- 40613Database is not currently available (Azure SQL)(データベースが現在利用できない)
- 102Incorrect syntax near 'token'('token' 付近の構文が正しくない)