当我尝试在脚本中设置SQL Server的兼容级别时,SQL Server 2008会出错。我希望此脚本与我们目前支持的所有服务器(2008年,2012年或2014年)相同。< / p>
"1 2 1"
以下是错误:
-- Set database compatibility --
IF SUBSTRING(CAST(SERVERPROPERTY('ProductVersion') AS VARCHAR),1 ,2) >= 11
BEGIN
RAISERROR ('sql server 12 and above', 10, 1)
ALTER DATABASE JJAI_TESTDB SET COMPATIBILITY_LEVEL = 110
END
ELSE
BEGIN
RAISERROR ('sql server 2008',10, 1)
ALTER DATABASE JJAI_TESTDB SET COMPATIBILITY_LEVEL = 100
END
GO
答案 0 :(得分:0)
好的,我可以通过在下面的执行语句中执行alter语句来实现。
/* Set database compatibility */
IF SUBSTRING(CAST(SERVERPROPERTY('ProductVersion') AS VARCHAR),1 ,2) >= 11
EXECUTE ('ALTER DATABASE $(DATABASENAME) SET COMPATIBILITY_LEVEL = 110')
ELSE
EXECUTE ('ALTER DATABASE $(DATABASENAME) SET COMPATIBILITY_LEVEL = 100')
GO