Проблема с разрешением на массовую вставку в Azure SQL Server

Пользователь получает следующую ошибку при выполнении команды массовой вставки в Azure SQL Server. Я использую Azure SQL Server, а не SQL Sever. Большинство команд, связанных с предоставлением разрешения на массовую вставку, не работают в Azure SQL Server.

Ошибка

You do not have permission to use the bulk load statement.

Команды, используемые в Azure SQL Server для добавления пользователя

EXEC sp_addrolemember 'db_ddladmin', 'testuser'; 

ALTER SERVER ROLE [bulkadmin] ADD MEMBER testuser

GRANT ADMINISTER BULK OPERATIONS TO testuser

Ошибка

Msg 40520, Level 16, State 1, Line 5
Securable class 'server' not supported in this version of SQL Server.

Ваша помощь высоко ценится.


person Jo.........    schedule 22.02.2019    source источник


Ответы (3)


В базе данных SQL Azure предоставьте участнику ADMINISTER DATABASE BULK OPERATIONS в контексте желаемой базы данных:

GRANT ADMINISTER DATABASE BULK OPERATIONS TO testuser;

Пользователю также потребуются INSERT разрешения на целевую таблицу. Эти разрешения базы данных SQL Azure подробно описаны в МАССОВАЯ ВСТАВКА документации в разделе разрешений.

person Dan Guzman    schedule 22.02.2019

В Azure он работает только с таблицами в рассматриваемой базе данных. Он не работает с временными таблицами. Так что, если вы выполняете массовую загрузку параллельно и хотите использовать временные таблицы, вы в углу.

person Scott Mummert    schedule 30.04.2019

GRANT CONTROL to testuser 

больше ничего не нужно, просто это должно быть выполнено в БД контента (не мастер)

полные шаги

в мастере

CREATE LOGIN login1 WITH password='1231!#ASDF!a';

в БД контента

CREATE USER user1 FROM LOGIN login1;

GRANT CONTROL to user1; --(this is for bulk to work)
person Blue Clouds    schedule 19.02.2020