【发布时间】:2015-01-14 17:22:10
【问题描述】:
在 Visual Studio 2013 中,我创建了一个数据库项目并导入了一个现有数据库。一开始一切都很好,项目构建并生成了创建脚本。
但是,现在 Visual Studio 似乎认为有 SQL 语法错误,返回几个 SQL46010: Incorrect syntax near: 错误。这些都是VS生成的代码——我没有写过。
示例 1:
ALTER ROLE [db_owner] ADD MEMBER [SomeUser];
SQL46010: Incorrect syntax near ADD.
示例 2:
DECLARE @Foo NVARCHAR(7) = 'abcdefg';
SQL46010: Incorrect syntax near =.
如果我将代码复制/粘贴到 SSMS 中,一切正常。
不幸的是,这些阻止了项目的构建,这意味着我无法发布。由于它们是错误而不是警告,因此我无法在项目设置中将它们设置为忽略。
存在一种解决方法,我可以将问题文件的构建操作设置为无,但我需要在发布时包含这些文件。
我试过了:
- 删除并重新添加相同的代码
- 复制/粘贴代码到新的 SQL 文件
- 关闭并重新打开解决方案
- 关闭和重新打开 Visual Studio
- 更新 Microsoft SQL Server Data Tools (SSDT)
- 更新 Visual Studio
我能找到的最接近的问题是 2012 年的 this MSDN thread,指出 SSDT SQL 解析器存在错误(促使我尝试更新 SSDT)。
【问题讨论】:
标签: tsql visual-studio-2013 syntax-error database-project