我从SQL Server 2008 R2生成我的数据库脚本(脚本=架构和数据的数据类型)并在SQL Server 2005中运行此脚本,它向我显示了这些错误:
Msg 102,Level 15,State 1,Line 1
'100'附近的语法不正确。Msg 102,Level 15,State 6,Line 1
'HONOR_BROKER_PRIORITY'附近的语法不正确。Msg 2812,Level 16,State 62,Line 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'
我该如何解决这个问题?
答案 0 :(得分:2)
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中没有任何等效项。不支持(也不需要)vardecimal
存储格式SQL Server 2005。