我正在尝试通过针对父 SQL Server 2000 实例运行以下 SQL 在链接的 MSDE 8.x 服务器上执行存储过程...
DECLARE @RC int
EXECUTE @RC = [LINKED_SERVER_NAME].[LINKED_SERVER_DATABASE].[dbo].[STORED_PROCEDURE_NAME]
GO
...但我收到此错误消息:
Msg 7411, Level 16, State 1, Line 2
Server 'LINKED_SERVER_NAME' is not configured for RPC.
答案1
您可以使用 get-credentials 将凭据存储在 powershell 会话中,但我猜这不是您想要的。
Powershell 在启动它的人的上下文中运行(就像所有 Windows 可执行文件一样),因此对于 SQL Server 操作,我只需使用集成的 Windows 安全性进行连接,然后将正确的 SQL 权限分配给您设置为运行脚本的用户/服务帐户。这样,您就可以使用 Windows 中的安全模型,而不必自己制作 :-)
答案2
在 SQL Server Management Studio 中:
- 右键单击 MSDE 链接服务器实例并选择 [属性]
- 选择[服务器选项]
- 确保 [RPC] 和 [RPC Out] 属性设置为 [TRUE]
(在我的情况下它们都设置为 FALSE)