Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 无法使用sa帐户运行链接服务器查询,但可以使用windows身份验证用户运行_Sql Server 2005 - Fatal编程技术网

Sql server 2005 无法使用sa帐户运行链接服务器查询,但可以使用windows身份验证用户运行

Sql server 2005 无法使用sa帐户运行链接服务器查询,但可以使用windows身份验证用户运行,sql-server-2005,Sql Server 2005,我已经创建了一个链接服务器(用于excel),当我运行下面的查询时 当我将SQLServerManagementStudio与windows身份验证连接并运行下面的查询时,它就会工作 select * from linkserver...sheet1$ 如果我使用sa帐户登录,同样的查询会出现以下错误 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "exportlink" reported an error

我已经创建了一个链接服务器(用于excel),当我运行下面的查询时

当我将SQLServerManagementStudio与windows身份验证连接并运行下面的查询时,它就会工作

select * from linkserver...sheet1$
如果我使用sa帐户登录,同样的查询会出现以下错误

 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "exportlink"
 reported an error. The provider did not give any information about the error.
 Msg 7303, Level 16, State 1, Line 1
 Cannot initialize the data source object of OLE DB provider   
 "Microsoft.ACE.OLEDB.12.0" for     linked server "linkedserver

虽然这似乎是一个安全问题,但我不知道如何解决它

默认情况下,链接服务器将当前用户凭据传递给链接服务器

映射由创建,默认值在该位中提到

通过执行sp_addlinkedserver自动创建本地服务器上的所有登录名与链接服务器上的远程登录名之间的默认映射。默认映射表示SQL Server在代表登录名连接到链接服务器时使用本地登录名的用户凭据。这相当于对链接服务器执行sp_addlinkedsrvlogin,并将@useself设置为true,而不指定本地用户名。使用sp_addlinkedsrvlogin仅可更改默认映射或为特定本地登录添加新映射

当您使用“sa”时,它(我不确定也无法测试)将使用SQL Server服务帐户。你应该允许这样做

如果不使用SQL Server服务帐户,则需要为“sa”设置映射:


我得到一个错误,函数有太多的参数。但我在代码末尾添加了“'”。否则它会显示错误的语法。另外,请注意,我将“域\某个用户”替换为我的计算机\用户名谢谢。您的命令已成功执行,但仍然出现相同的错误。@user1449596:然后使用sysinternals进程监视器查看文件是否实际被访问。或者检查windows安全日志我正在查看您的链接…但我想告诉您,事实上现在它显示错误“无效的帐户名和密码”…然后错误继续…我不知道要检查哪个文件
EXEC sp_addlinkedsrvlogin
        'linkserver', 'FALSE', 'sa', 'Domain\SomeUser', 'Somepassword';