SQL语句在TEST中运行正常,在PROD上中断

时间:2014-10-28 13:11:44

标签: sql sql-server-2008-r2

我在我的测试数据库上执行以下查询,一切正常:

SELECT TABLE_NAME                    AS Name,
       (SELECT TOP 1 value
        FROM   Fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', [TABLE_NAME], DEFAULT, NULL)
        WHERE  name = 'Description') AS [Description]
FROM   information_schema.tables tb
       INNER JOIN Fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', DEFAULT, NULL, NULL) prop
               ON prop.objname COLLATE DATABASE_DEFAULT = tb.TABLE_NAME COLLATE DATABASE_DEFAULT
                  AND prop.name = 'SettingTable'
                  AND prop.value = '1'
ORDER  BY TABLE_NAME ASC 

在我的生产数据库上执行时,出现以下错误:

Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'TABLE_NAME'.

测试数据库版本:10.50.1617.0

Prod DB版本:10.50.2550.0

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

原来PROD DB在SQL server 2000兼容模式下运行。 将此设置为2008解决了问题和我的理智。谢谢你的回复!