4834: You do not have permission to use the bulk load statement (bulk load 문을 사용할 권한 없음)
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 제약 조건이 순환 또는 다중 cascade 경로를 만들 수 있음)
- 9421XML parsing: illegal xml character
- 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'