我正在尝试使用“批量”将图像插入到SQL Server 2012中。但是,最后会显示错误消息,说明:
Msg 4834,Level 16,State 1,Line 2 您无权使用批量加载语句。
我有“sysadmin”访问权限。
答案 0 :(得分:53)
试试GRANT ADMINISTER BULK OPERATIONS TO [server_login]
。它是服务器级别权限,而不是数据库级别。这对我来说已经解决了类似的问题(我相信使用OPENROWSET)。
答案 1 :(得分:5)
USE大师
去
授予管理层批量操作
答案 2 :(得分:1)
如果服务帐户没有读取正在导入的文件的权限,SQL Server也可能会返回此错误。确保服务帐户具有对文件位置的读取权限。例如:
icacls D:\ImportFiles /Grant "NT Service\MSSQLServer":(OI)(CI)R
答案 3 :(得分:1)
如果收到错误消息“由于没有访问权限,则无法批量加载文件”
首先请确保您输入的路径和文件名正确。
然后尝试将bulkadmin角色授予用户。为此,请按照以下步骤操作:- 在对象资源管理器->安全->登录->选择用户(右键单击)->属性->服务器角色->选中bulkadmin复选框->确定。
这对我有用。
答案 4 :(得分:0)
请注意,已接受的答案或这两个解决方案中的任何一个仅适用于Windows。
<Form.Check checked={true} />
<Form.Check checked={false} />
如果您在基于Linux机器的SQL Server上运行它们中的任何一个,则会出现以下错误:
GRANT ADMINISTER BULK OPERATIONS TO [login_name];
-- OR
ALTER SERVER ROLE [bulkadmin] ADD MEMBER [login_name];
Msg 16202, Level 15, State 1, Line 1
Keyword or statement option 'bulkadmin' is not supported on the 'Linux' platform.
检查docs。
需要INSERT和ADMINISTER BULK OPERATIONS权限。在Azure中 SQL数据库,INSERT和ADMINISTER数据库批量操作 权限是必需的。 ADMINISTER BULK OPERATIONS权限或 Linux上的SQL Server不支持bulkadmin角色。只有 sysadmin可以在Linux上为SQL Server执行批量插入。
Linux解决方案
Msg 16202, Level 15, State 3, Line 1
Keyword or statement option 'ADMINISTER BULK OPERATIONS' is not supported on the 'Linux' platform.
答案 5 :(得分:-1)
USE Master GO
ALTER服务器角色[bulkadmin]添加会员[用户名] 走 命令失败甚至尝试了几个命令参数
master..sp_addsrvrolemember @loginame = N'username',@ irlename = N'bulkadmin' 走 命令成功..