我正在协助我的一位同事无法让我们的应用程序正常工作。我发现他使用的是 SQL Server 2012,错误归结为应用程序运行以下 SQL 查询:
SELECT
SMS_INSTITUTIONS.SMS_INSTITUTION_NR,
SMS_INSTITUTIONS.ID,
SMS_INSTITUTIONS.NAME,
SMS_INSTITUTIONS.EXTERNAL
FROM
SMS_INSTITUTIONS
所以我通过使用 Management Studio 在 SQL Server 2008 中运行此查询来测试它,它运行良好。但是,在使用 Management Studio 2012 在 SQL Server 2012 中运行相同数据库测试这个完全相同的查询时,我得到了
消息 156,级别 15,状态 1,第 2 行
关键字“EXTERNAL”附近的语法不正确。
当我们将 [] 放在保留字周围时,我们发现它可以工作,EXTERNAL
然后查询可以与 SQL Server 2012 数据库一起工作。
SELECT
SMS_INSTITUTIONS.SMS_INSTITUTION_NR,
SMS_INSTITUTIONS.ID,
SMS_INSTITUTIONS.NAME,
SMS_INSTITUTIONS.[EXTERNAL]
FROM
SMS_INSTITUTIONS
您知道这是对 SQL Server 2012 的新限制还是我需要启用的设置?我用谷歌搜索,但到目前为止没有任何直接的解释。