【问题标题】:Error on running database script运行数据库脚本时出错
【发布时间】:2013-07-03 04:16:23
【问题描述】:

我从 SQL Server 2008 R2 生成我的数据库脚本(脚本的数据类型 = 架构和数据)并在 SQL Server 2005 中运行此脚本,它向我显示了这些错误:

消息 102,第 15 级,状态 1,第 1 行
'100' 附近的语法不正确。

消息 102,第 15 级,状态 6,第 1 行
'HONOR_BROKER_PRIORITY' 附近的语法不正确。

消息 2812,第 16 级,状态 62,第 1 行
找不到存储过程 'sys.sp_db_vardecimal_storage_format'。

在状态 1,第 1 行

ALTER DATABASE [MYDATABASE] SET COMPATIBILITY_LEVEL = 100

在状态 6,第 1 行

ALTER DATABASE [MYDATABASE] SET HONOR_BROKER_PRIORITY OFF

在州 62 号线 1

EXEC sys.sp_db_vardecimal_storage_format N'MYDATABASE', N'ON' 

我该如何解决这个问题?

【问题讨论】:

  • 我也将 COMPATIBILITY_LEVEL = 100 (version 2008) 更改为 COMPATIBILITY_LEVEL = 90 (version 2005) ,但它也不起作用。

标签: sql-server-2005 sql-server-2008-r2


【解决方案1】:
ALTER DATABASE [MYDATABASE] SET COMPATIBILITY_LEVEL = 100

SQL Server 2005 还没有此命令 - SQL Server 2008 的新功能。

你需要改用这个:

EXEC sp_dbcmptlevel AdventureWorks, 90;

级别 90 = SQL Server 2005 - 可以;级别 100 是 SQL Server 2008,它将在 SQL Server 2005 中工作显然.....

ALTER DATABASE [MYDATABASE] SET HONOR_BROKER_PRIORITY OFF
EXEC sys.sp_db_vardecimal_storage_format N'MYDATABASE', N'ON' 

这些都是 SQL Server 2008 或更高版本中的新功能,在 SQL Server 2005 中没有任何等效功能。SQL Server 不支持(也不需要)vardecimal 存储格式2005.

【讨论】:

  • @zey:好吧,因为这些功能在 SQL Server 2005 中不存在 - 是的,没有其他方法,真的。您应该查看Generate script 向导 - 它有一个设置,允许您定义要为其生成脚本的 SQL Server 版本。尝试将其设置为 2005 并查看结果会是什么
  • 幸运的是 marc_s ,它有 Script for Server Version 选项可以将脚本版本更改为 2005 :)
猜你喜欢
  • 2020-09-23
  • 2017-12-01
  • 2015-01-31
  • 1970-01-01
  • 2017-02-05
  • 2013-10-07
  • 2018-01-30
  • 2018-01-27
相关资源
最近更新 更多