没有sysadmin权限的OpenRowSet和OpenDataSet

时间:2012-12-18 23:45:57

标签: sql sql-server sql-server-2008

有没有办法在SQL Server 2008 R2中使用OpenRowSet和OpenDataSet命令而不必拥有SysAdmin权限?

我正在尝试从Excel文件加载数据,我们的服务帐户将执行实际加载,但不能具有sysadmin权限。

它目前不是链接的“服务器”,文件名可以每月更改。

这是我的问题:

SELECT  
  Center,
  Amount 
FROM OPENROWSET(
  'Microsoft.ACE.OLEDB.12.0'
  ,'Excel 8.0;HDR=NO;Database=C:\exceldata.xls'
  ,'SELECT 
      F1 as Center,
      F2 as Amount
   FROM [Sheet1$]')
WHERE Amount > 0

由于

2 个答案:

答案 0 :(得分:3)

我遇到同样的问题并使用此说明解决http://www.johnsoer.com/blog/?p=538

很快:添加双字注册密钥HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ YOUR_MSSQL_VERSION.YOR_INSTANCE_NAME \ Providers \ Microsoft.ACE.OLEDB.12.0 \ DisallowAdhocAccess to 0

答案 1 :(得分:1)

您不一定需要sysadmin权限,只需要ADMINISTER BULK OPERATIONS权限(这是服务器级别权限,但不是sysadmin)。

如果这不是一个选项,您可以尝试设置链接服务器连接并按照this post中的方法进行操作。