我知道要查询数据库的当前兼容级别
declare @dbname sysname
select @dbname = db_name(0)
exec sp_dbcmptlevel @dbname
Run Code Online (Sandbox Code Playgroud)
但这似乎通过打印返回其结果,我发现无法将值分配给变量并使用它来控制 if ... else ... 构造以根据当前设置执行不同的代码。
从 2005 年到 2012 年,我在多台机器上运行各种 SQL Server。我有许多这样的数据库在 SQL Server 2000 兼容模式下运行。
在较新版本的 SQL Server 中使用较旧的兼容性会导致任何性能问题吗?
除了旧版本的 SQL Server 能够访问它们之外,这些数据库之间有什么不同?
我正在使用 SQL Server 2016,我想将我创建的数据库部署到 Sql Server 2012 SP1。
我发现我无法在 v2016 中创建备份并恢复到 v2012。因此,在 v2016 版本中,我:
这有点工作......但我必须手动添加很多对象。该数据库具有表/视图/tvps/sps/标量函数。有没有办法编写向后兼容旧 SQL Server 版本的 create 语句?
我正在寻求有关 SQL Azure 版本和升级的一些说明。在尝试使用某些特定功能时,我注意到数据库的兼容性级别是 100(我需要 130)。进一步查看后,我发现引擎版本被报告为12.0.2000.8(相当于 SQL Server 2014),但我需要最低引擎版本为 13.x才能使用兼容性级别 130。
我需要做什么来升级此 SQL Azure 实例的引擎版本?在 Azure SQL 数据库中热修补 SQL Server 引擎一文具体指出:
Azure SQL 数据库是常青树,这意味着它始终拥有最新版本的 SQL 引擎
此外,像这样的答案意味着引擎将始终是最新版本,但报告的版本将不正确。
这是否意味着我可以忽略报告的引擎版本并继续设置兼容性级别,或者我需要采取其他步骤来升级引擎?
sql-server database-engine azure-sql-database compatibility-level