0

从 开始server1,我使用 Linked Server 工具创建了到远程服务器 (server2) 的连接。两台服务器都在同一个域上。当我登录时,server1我可以从 SQL Server Management Studio 成功执行我的存储过程,但是当我从浏览器应用程序执行我的存储过程时,我收到以下错误server 2

错误:18456,严重性:14,状态:58
。用户“sa”登录失败。尝试使用 SQL 身份验证登录失败。
服务器配置为仅用于 Windows 身份验证。

我在 Internet 和 Stackoverflow 上搜索了解决方案,但我不确定解决此问题的最佳方法是什么。我确定它涉及添加/更改数据库安全设置,但我不确定在哪里进行这些更改。

提前致谢。

4

1 回答 1

0

在企业管理器中右键单击服务器,选择属性,转到安全,然后更改为 SQL Server 和 Windows 身份验证模式。

截屏

如果要使用 sa 或任何其他 sql-account 进行身份验证,则需要混合模式。但是我认为推荐的方法是将服务器保持在 Windows 身份验证模式,并使用域帐户进行身份验证。sa-account 是快速而肮脏的方式。

如果您在两台服务器上都有完全相同的安全设置,那么如果您在链接服务器属性中选择“使用登录名的当前安全上下文进行创建”,那么它们之间的链接应该可以工作。这样,该帐户将在与链接服务器的连接中“继承”。

截屏

检查安全性 - 在每台服务器上登录,以便将相同的帐户添加到两台服务器。还要检查两个条目的属性,在服务器角色下,您可以尝试添加 sysadmin-role 以确保帐户可以访问服务器上的所有数据库。但是,您应该在实时环境中限制这种访问:)

截屏

于 2013-06-04T19:57:04.123 回答