这个用于创建表的查询适用于dev,但不适用于live

时间:2012-12-18 13:31:13

标签: sql sql-server-2005 windows-server-2003 sql-server-2012

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管理工具工作室连接到它

1 个答案:

答案 0 :(得分:0)

此错误的原因是用户尝试运行与先前版本的SQL Server不兼容的查询或过程或逻辑。当SQL Server 2000升级到SQL Server 2005或SQL Server 2008时,数据库对象兼容性也应升级到下一版本。当数据库兼容性设置为先前版本并且尝试使用较新版本的过程时,它们将抛出上述错误。

<强>修复/解决方法/解决方案:

使用以下命令更改数据库兼容级别。

EXEC sp_dbcmptlevel 'DatabaseName', 90