【问题标题】:sp_reset_connection error in SQL Azure Linked Server RPCSQL Azure 链接服务器 RPC 中的 sp_reset_connection 错误
【发布时间】:2015-08-21 06:57:19
【问题描述】:

我在通过链接服务器(在 Sql Server 2008 R2 实例上构建:10.50.2550.0 - x64 - 企业版)调用 SQL Azure 上的远程存储过程 (RPC) 时遇到问题。

这个问题不难重现,和“调用”存储过程并没有真正的关系,而是它的内部执行(我认为)......

看看我的简单代码:

CREATE PROCEDURE [dbo].[myStoredProcedure]
    @AccountId INT = NULL
AS
BEGIN
    DELETE FROM [dbo].[myTable];

    INSERT INTO [dbo].[myTable] (Col1, Col2)
        SELECT DISTINCT
            Value1
            , Value2
        FROM [dbo].[myTableSource];
END
GO

GRANT EXECUTE ON [dbo].[myStoredProcedure] TO [myDbRole]
GO

当我通过我的链接服务器启动它时,使用此代码(在来自我的本地实例的连接上,其中已创建链接服务器)...

EXEC('[AZURE_LINKEDSERVER].[myDatabase].[dbo].[myStoredProcedure] @AccountId = NULL')

...我收到此错误(这似乎是一个警告!):

Message 2812, level 16, state 62, row 1
Could not find stored procedure 'sp_reset_connection'.

显然我到处检查,我没有调用那个存储过程......我认为它是由 Sql Server 内部使用的。

我也试过这段代码,结果一样:

EXEC sp_sqlexec '[AZURE_LINKEDSERVER].[myDatabase].[dbo].[myStoredProcedure] NULL'

链接服务器已“启用远程 RPC”(rpcrpc out 选项均设置为 True)并且与其他存储过程和我迄今为止使用的所有其他 OPENQUERY 代码配合得很好:权限也可以正常工作.

奇怪的是SP的第一部分被正确执行(我在SSMS的Messages窗口中看到查询结果计数),但第二部分根本没有调用。

你能告诉SPsp_reset_connection与什么有关吗? 您知道无错误地调用我的 SP 的解决方法吗? 我什么都试过了……

使用的 SQL Azure 版本为 11.0.9231

【问题讨论】:

    标签: sql-server sql-server-2008 azure-sql-database rpc linked-server


    【解决方案1】:

    sp_reset_connection 不是一个实际的存储过程,它是 TDS 流中的一个标志,上面写着“重置连接”,因此您可以使用连接池。它应该隐式存在于所有 SQL Server 上,但不能被您的代码调用。

    您设置了哪种类型的链接服务器?按照这个创建一个链接服务器到天蓝色:

    http://blogs.msdn.com/b/sqlcat/archive/2011/03/08/linked-servers-to-sql-azure.aspx

    【讨论】:

    • 感谢您的回答:链接服务器已正确创建...每个临时查询都可以正常工作,单行 SP 也可以工作!每个链接服务器选项都设置正确(我检查了你的链接)......你知道禁用 sp_reset_connection“标志”的方法吗?为什么Sql Server连接会这样调用?!
    • 不,它是在协议级别完成的 - 如果您通过 ssms 进行调用,它是否有效?听起来确实有人调用了 sp_reset_connection,因为我从未见过它像这样失败 - 请仔细检查所有代码,因为它已部署到 sql (实际上选择修改它而不是查看源代码)并确保它不存在于任何地方
    • 不,根本没有调用:您可以尝试使用我的代码...也来自 SSMS,它不工作!
    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多