此查询创建表适用于开发而不是活
问题描述:
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
它适用于开发环境,这是SQL Server 2005中但SQL Server 2012上不工作,给这个错误,此查询创建表适用于开发而不是活
消息170 ,级别15,状态1,行3行3:在 '最大'附近的语法不正确。
编辑
2012实际上是2000,但是网络管理员做了一件让我可以用2012的管理工具工作室
答
当用户特林尝试运行的原因错误是连接到它查询或过程或与先前版本的SQL Server不兼容的逻辑。当SQL Server 2000升级到SQL Server 2005或SQL Server 2008时,数据库对象兼容性也应该升级到下一个版本。当数据库兼容性设置为以前的版本,并且尝试使用较新版本的过程时,它们会引发上述错误。
修复/解决方法/解决方案:
更改使用下面的命令数据库兼容级别。
EXEC sp_dbcmptlevel 'DatabaseName', 90
您的数据库的兼容性级别是否大于80? –
这是什么意思,我正在阅读的一些帖子,它应该是90,但我不知道它会对实时数据库 – Developer
会造成什么影响,这意味着你有一个从SQL Server 2000恢复的数据库。(或创建兼容性级别80)。更改的影响在此处描述:http://msdn.microsoft.com/en-us/library/bb510680.aspx按照我的经验,影响通常很小。 –