用于检查SQL Server EDITION的T-sql可以压缩备份

时间:2014-08-06 11:52:51

标签: sql sql-server tsql sql-server-2008-r2 backup

如果您的SQL服务器版本(不是版本)支持通过

压缩备份,如何检查通过t-sql
WITH COMPRESSION

此外,如果只能通过某种方式检查您的版本(例如:https://stackoverflow.com/a/1658724/1655580)来实现这一点,那么如果针对SQL Server 2008 R2进行开发然后与更高版本进行比较,这种方法的可重用性如何? / p>

我最感兴趣的是,如果有直接的'通过检查版本来间接了解这一点,而不是间接地了解这一点。

由于

PS:

USE my_database;
GO
SELECT value 
FROM sys.configurations 
WHERE name = 'backup compression default' ;

不是我想要的,但是我在搜索自己时唯一能得到的。

2 个答案:

答案 0 :(得分:3)

我发现此查询很棒(来自H2

  

SELECT ISNULL((SELECT值FROM sys.configurations WHERE name =' backup compression default'), - 1)

"如果SQL服务器支持备份压缩,则上述查询将返回0或1,如果不支持,则返回-1。"

答案 1 :(得分:0)

您可以尝试使用它并查看它是否会产生错误:

exec(N'set noexec on; backup database master
to disk=''c:\backup''
WITH COMPRESSION')
print @@ERROR

如果它有效,@@ERROR将为0。如果它无效,则为155。当然,NOEXEC表示它实际上并没有尝试运行备份操作。您可以使用类似的技术来发现是否存在可能产生解析时错误的任何功能。