powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить возможность сжимать BackUP?
25 сообщений из 26, страница 1 из 2
Как определить возможность сжимать BackUP?
    #39760298
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Есть БД. Ее можно развернуть на любой версии MSSQL начиная с 2000. Так же может меняться версия поставки(Enterprise,Standart и т.д.).
Есть вариативная(зависит от передаваемых параметров) ХП по созданию бекапа(Сжимать/Не сжимать бекап).

Задача: выяснить, возможно ли на данной БД сжимать бекапы?

Идея:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare @can_compress int
set @can_compress=0 

if OBJECT_ID('sys.configurations') is not null
begin
  SET @can_compress =ISNULL(CAST((
      SELECT 1
      FROM sys.configurations
      WHERE [name] = 'backup compression default') AS int),0)
end

SELECT @can_compress


На сколько я понимаю более простого способа это понять нет? Может подскажите что нибудь...
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760305
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совместимость БД должна быть не ниже 2008.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760309
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo,
sys.configurations появилась с 2008, этой проверкой заодно и версию sql проверяю...
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760326
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoСовместимость БД должна быть не ниже 2008.
ахинея
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760330
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerНа сколько я понимаю более простого способа это понять нет?
это нерабочий способ.
даже если такая строка в конфиге есть,
это же не значит, что у вас не Экспресс, например.

Edition надо проверять.
ибо
BOLBackup compression is supported on SQL Server 2017 editions: Enterprise, Standard, and Developer .
Backup Compression (SQL Server)
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760333
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerL_argo,
sys.configurations появилась с 2008, этой проверкой заодно и версию sql проверяю...
sys.configurations относится ко всему серверу.
а товарищ предлагал проверять Compatibility Level конкретной базы.
что, разумеется, на уровне серверной конфигурации не может быто отражено в принципе.
---
ваше направление более верное,
ибо важна версия сервера, а никак не Compatibility Level базы
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760340
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

на сколько я понимаю
Код: sql
1.
2.
FROM sys.configurations
WHERE [name] = 'backup compression default'


встречается только у тех версий где поддерживается "compression"!
То есть у версии Express она просто отсутствует.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760345
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_Mer,

имо все версии серверов и редакции перечислены и возможности известны. Составить табличку и все дела. Пополнять список новыми редакциями, а не гадать.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760346
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerYasha123,

на сколько я понимаю
Код: sql
1.
2.
FROM sys.configurations
WHERE [name] = 'backup compression default'


встречается только у тех версий где поддерживается "compression"!
То есть у версии Express она просто отсутствует.
говорят что ent на express не поднимите, а вы про отсуствуют
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760360
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

ПО отдается клиенту и он ни каких пополнений делать не будет. Нужна какая то универсальная логика с заделом на будущее
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760362
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

бекап с ent на Express разворачивать ненужно! или не об этом речь?
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760368
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerТо есть у версии Express она просто отсутствует.
да.
у меня не было под рукой Экспресса, чтобы проверить.
ну и т.к. с Экспрессом устанавливается даже агент,
к-ый потом все равно нельзя использовать,
логично было предположить, что строка в конфиге Экспресса есть,
только и мин, и макс установлены в 0.
но раз нет, то тем лучше
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760377
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123ибо важна версия сервера, а никак не Compatibility Level базыПо своим наблюдениям скажу, что база тоже должна быть не ниже 2008.

Стоял склсервер 2008R2 этерпрайз.
Там была база с 2005 совместимостью. Она при бекапе не упаковывалась.
Когда я ей поставил совместимость 2008, то она начала паковаться.
Чисто эмпирическое наблюдение.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760379
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь. Есть еще какие нибудь идеи реализации?
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760390
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerВсем спасибо за помощь. Есть еще какие нибудь идеи реализации?
по мотивам стека:
Код: sql
1.
2.
exec('backup database model to disk = ''nul'' with compression' )
select @@error
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760412
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot L_argo]Yasha123Там была база с 2005 совместимостью. Она при бекапе не упаковывалась.
Когда я ей поставил совместимость 2008, то она начала паковаться.

вам выдавалась ошибка или бэкап что сжатый, что нет, имел один и тот же размер?
у ТС задача выбрать подходящую команду при бэкапе
и не вылететь с ошибкой, а не качество сжатия обеспечить.
и никакая совместимость базы не помешает выполнить команду со сжатием,
лишь бы редакция сервера позволяла
---
я ведь сейчас проверю на базе с черт знает какой совместимостью.
это не Экспресс по закоулкам искать...
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760420
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам выдавалась ошибка или бэкап что сжатый, что нет, имел один и тот же размер?Ошибок не было. Размер фулбекапа был примерно такой же как база.
После сжатия база усохла в 2,5 раза.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760591
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_Mer,

Enterprise, Developer: 2008+
Standard: 2008 R2+
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39760868
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_MerВладислав Колосов,

ПО отдается клиенту и он ни каких пополнений делать не будет. Нужна какая то универсальная логика с заделом на будущее

В смысле вы гарантируете, что ваше ПО будет работать на любой версии SQL server? Я бы назвал это авантюризмом.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39761007
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

В смысле, что после выхода новой версии sql и определенных тестов не переписывать заново, а заявить что и на этой версии работает.(в идеале...)
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39762836
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select
 case
  when a.ProducVersion >= '1050'/*2008 R2*/ and a.EngineEdition in (2/*Standard*/, 3/*Enterprise*/) then 1
  when a.ProducVersion >= '1000'/*2008*/ and a.EngineEdition = 3/*Enterprise*/ then 1
  else 0
 end
from
 (
  select
   serverproperty('EngineEdition'),
   right('00' + parsename(cast(serverproperty('ProductVersion') as varchar(30)), 4), 2) + 
   right('00' + parsename(cast(serverproperty('ProductVersion') as varchar(30)), 3), 2)
 ) a(EngineEdition, ProducVersion);



Вот решение предоставленное коллегой на соседнем форуме. Может кому пригодится.
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39762843
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запустите это на сервере ранее SQL 2008
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39762845
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
productversion для SQL2000 вернёт вам, например: 2248
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39763210
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,



Код: sql
1.
2.
3.
4.
5.
select
   serverproperty('EngineEdition'),
   right('00' + parsename(cast(serverproperty('ProductVersion') as varchar(30)), 4), 2),
   right('00' + parsename(cast(serverproperty('ProductVersion') as varchar(30)), 3), 2),
serverproperty('ProductVersion')



MSSQL 2000 выдает
Column1Column2Column3Column42NULL 088.00.2039

MSSQL 2005 выдает Express
Column1Column2Column3Column4409 009.00.5000.00

MSSQL 2008 выдает Express
Column1Column2Column3Column44100010.0.1600.22

2000 кривовато, а все остальные как нужно! И в целом алгоритм рабочий. Или я что то не понял...
...
Рейтинг: 0 / 0
Как определить возможность сжимать BackUP?
    #39763211
Vladimir_Mer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
2000 - Workgroup Edition
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить возможность сжимать BackUP?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]