Sql 此用于创建表的查询在dev上有效,但在live上无效
它在SQL Server 2005开发环境下工作,但在SQL Server 2012上不工作,并给出此错误 Msg 170,级别15,状态1,第3行第3行:附近语法不正确 “马克斯” 编辑Sql 此用于创建表的查询在dev上有效,但在live上无效,sql,sql-server-2005,windows-server-2003,sql-server-2012,Sql,Sql Server 2005,Windows Server 2003,Sql Server 2012,它在SQL Server 2005开发环境下工作,但在SQL Server 2012上不工作,并给出此错误 Msg 170,级别15,状态1,第3行第3行:附近语法不正确 “马克斯” 编辑 2012年实际上是2000年,但Network admin做了一些事情,以便我可以使用2012管理工具studio连接到它。出现此错误的原因是当用户尝试运行与以前版本的SQL Server不兼容的查询、过程或逻辑时。当SQL Server 2000升级到SQL Server 2005或SQL Server 2
2012年实际上是2000年,但Network admin做了一些事情,以便我可以使用2012管理工具studio连接到它。出现此错误的原因是当用户尝试运行与以前版本的SQL Server不兼容的查询、过程或逻辑时。当SQL Server 2000升级到SQL Server 2005或SQL Server 2008时,数据库对象兼容性也应升级到下一版本。当数据库兼容性设置为以前的版本,并且尝试使用较新版本的过程时,它们将抛出上述错误 修复/解决方法/解决方案: 使用以下命令更改数据库兼容性级别
USE [DatabaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TableName](
[ID] [int] IDENTITY(1,1) NOT NULL,
[URL] [varchar](max) NOT NULL,
[User] [varchar](1000) NOT NULL,
[Time] [datetime] NOT NULL,
CONSTRAINT [PK_TableName] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
您的数据库的兼容性级别是否大于80?这意味着什么?我在一些帖子中读到,它应该是90,但我不确定它会对实时数据库产生什么影响。这意味着您有一个从SQL Server 2000恢复的数据库。(或使用兼容级别80创建)。这里描述了变化的影响:根据我的经验,变化的影响通常很小甚至没有。
EXEC sp_dbcmptlevel 'DatabaseName', 90