none
sql 2012 bug ??消息 11514,级别 16,状态 1,过程 sp_describe_first_result_set,第 25 行 无法确定元数据,因为过程“TestBug”中的语句“exec(@sql) RRS feed

  • 问题

  • http://support.microsoft.com/kb/291376/zh-cn

    这个bug是不是在 sql server 2012 以后又出现了????

    测试语句

    use testdb
    go
    
    CREATE PROC TestBug
    as
    
    
    declare @sql nvarchar(300)
    set @sql = 'select 1,2,3,4,5,6 '
    exec(@sql)
    
    --select 1,2,3,4,5,6
    
    go
    
    select * from openquery(DB_SHOP,'exec testdb.dbo.TestBug')
    

    以上语句在sql server 2012, sql server 2014 会出现如下错误,但是在sql2008则通过

    消息 11514,级别 16,状态 1,过程 sp_describe_first_result_set,第 25 行
    无法确定元数据,因为过程“TestBug”中的语句“exec(@sql)

    --select 1,12,3,4,5,6”包含动态 SQL。请考虑使用 WITH RESULT SETS 子句显式描述结果集。

    2014年5月22日 5:10

全部回复