DBAtlas · Атлас эксплуатации баз данных

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 есть разрешение на чтение целевого файла/общего ресурса. Следуя принципу наименьших привилегий, выдавайте его только тем учётным записям, которым оно нужно.

Открыть в DBAtlas →

Ещё по этой СУБД