Имя: Пароль:
IT
Админ
Архивирование SQL на лету
0 ДенисЧ
 
14.10.09
15:56
Наш админ выдвинул идею: архивировать базу SQL акронисом на лету, не останавливая сервера.

Кто-нибудь делал такое? Есть подводные камни?

Мы попробовали, база спокойно подключилась, потерь данных, видных на первый взгляд, не обнаружено...
1 Sadovnikov
 
14.10.09
15:58
(0) Акроникс - это кто? Вообще-то сам скуль прекрасно бэкапит свои базы при работающих пользователях.
2 Vitello
 
14.10.09
15:58
А чем стандартный бэкап не устроил?
3 ДенисЧ
 
14.10.09
15:59
(2) Время архивирования...
4 Vitello
 
14.10.09
15:59
(1)Acronis True Image наверно
5 СуперМега Монстр
 
14.10.09
15:59
(0)на рельсах  данном случае он или ты? вот что главное )))
6 Vitello
 
14.10.09
15:59
(3)Ну это да, пару раз чайку выпить можно.
7 Aleksey_3
 
14.10.09
16:01
(3) Стандартный бекап средствами скуля?
8 Mikeware
 
14.10.09
16:01
(0) Вообще, то, что запишет акронис - еще не факт. Если он и запишет - не факт, что прочитается. Если и прочитается - не факт, что данные будут целостные.
9 also
 
14.10.09
16:02
Акронис ваще штука классная. Но я бы провел по-больше экспериментов :)
10 ДенисЧ
 
14.10.09
16:04
(6) Там ней чай получается, а литр пива, не меньше :-)

(8) Почему не факт?

(7) Да. Есть свои особенности тут. И мера предлагается как временная.
11 ДенисЧ
 
14.10.09
16:04
(5) На рельсах мы все, если что, вазелина нам не дадут :-)
12 Александр_
Тверь
 
14.10.09
16:07
(10) за счет чего будет акронис быстрее чем встроенные методы SQL?
Акронис будет снимать копию посекторно, а не пофайлово... и плевать ему на какие-то там транзакции, целостность данных и т.д.
Очень вероятно, что данные сохраненные им будут ошибочны. т.е. сама база будет, но вот данные в ней....
13 Mikeware
 
14.10.09
16:08
(10) Мелкомягкие используют для блокировки mdf какой-то исхитренный режим. поэтому не факт, что прочитает.
При "побитном" чтении в нагруженной базе файл данных изменяется. А т.к. записи располагаются внутри мдф, мягко говоря, неупорядоченно - то не факт, что транзакция будет отражена полностью.
вообще, честно говоря, не ожидал от тебя таких вопросов...
14 ОчкарикСлава
 
14.10.09
16:11
0, круто, а может проще настроить бэкам БД(целый редко) +  журнала транзакций(часто), летать будет...
15 ОчкарикСлава
 
14.10.09
16:13
3, как часто архивируете стандартными средствами?, чем этот процесс и кому мешает?
16 Serg_1960
 
14.10.09
16:13
ДенисЧ - "Боже, как низко я пала"(с). Админа - под растрел, иначе он под вышку тебя подставит.

PS: глянул на фотку - понял: для тебя это всё не актуально :)
17 DmitrO
 
14.10.09
16:15
ДенисЧ, акронис умеет эксклюзивно захваченные файлы бекапить?
Или под БД используется неразмеченный раздел диска и акронис бекапит раздел?
18 ink1981
 
14.10.09
16:15
(16) да не фото с счастливо семьёй и ласковым тюленем зачетнее
19 DmitrO
 
14.10.09
16:15
(17)+ как пробовали?
20 Demiurg
 
14.10.09
16:19
(0) главное, чтобы не как там OFF: Улыбнитесь :) трэш видео про базу 1С
получилось :)))
21 ДенисЧ
 
14.10.09
16:19
(15) Пока никак, ибо система переживает сильные изменения. Мешает тем, что тормозит круглосуточную работу.
(17) Вроде умеет.
22 DmitrO
 
14.10.09
16:22
(21) прикольно
23 Serg_1960
 
14.10.09
16:23
Акронис из "под винду" винду бэкапит - ему база 1С - как семячки - на раз плюнуть :)
24 Mikeware
 
14.10.09
16:25
(21) У меня система работает в режиме 24*7 в течение 364 дней в году. Перерыв - только на новогоднюю ночь. И ничего никому не мешает...
25 Serg_1960
 
14.10.09
16:25
Только цена этой копии - грош в базарный день.
26 Megas
 
14.10.09
16:26
(0) Всёже я бы это делал средствами SQL ...
а кстати копия то разворачивается потом ? =) И попробуй перепроведение за пару месяцев пустить получится ?
27 XMMS
 
14.10.09
16:27
А может админ вот об этом?
http://www.acronis.ru/enterprise/products/ARSQL/
Тогда может и не всё так плохо.
28 ОчкарикСлава
 
14.10.09
16:28
21, тормозить не должно, ищи причину в другом,
а что за железо, как устроена дисковая система в серваке?
29 DmitrO
 
14.10.09
16:28
тут дело вот в чем: если акронис сделает бекап базы в период времени между двумя чекпонтами, то копия получится целостной. Если во время бекапа mssql сделает чекпоинт, то разрушение данных очень вероятно.
Собственно mssql на время своего бекапа просто останавливает чекпоинты, пока бекап не кончится.

На первый взгляд эксперимент поставить просто..
30 ДенисЧ
 
14.10.09
16:31
(26) Читай последнее предложение :-)
31 ДенисЧ
 
14.10.09
16:32
(28) Причины знаем, они решаются. Но на их решение нужно некотрое время.
(29) Как можно руками остановить эти чекпойнты?
32 DmitrO
 
14.10.09
16:37
(31)Я не знаю способа, чета не приходилось как-то :)
Тут еще от версии сервера зависит, в 2000 и 2005 несколько по разному это дело происходит. Надо в БОЛе почитать про чекпоинт, рекавери_интервал.
33 ДенисЧ
 
14.10.09
16:38
(32) у нас 2005. Спасибо за наводку, посмотрю.
34 vde69
 
14.10.09
16:39
вроде в скуле есть понятие "снимок"
35 igork1966
 
14.10.09
16:41
(0) Еще держи копии на одном винте с базой, до полного счастья...
главное успеть уволиться....
36 МихаилМ
 
14.10.09
16:42
делайте спокойно, акронис работает через скл.
не завершённые транзакции не бэкапятся. ни 2000 ни 2005
так что версионность и в 2000 есть :)
37 ДенисЧ
 
14.10.09
16:42
(34) А можно поподробней? Чем он от простого бекапа отличается?
38 ДенисЧ
 
14.10.09
16:42
(35) До такого не доходит :-)
39 dk
 
14.10.09
16:43
раньше ночью делались копии скульного сервака - образы дисков
вроде нормально работало
хз как, но работало и восстанавливали копии нормально
40 DmitrO
 
14.10.09
16:44
(33)первое что приходит на ум это поставить заведомо большой рекавери_интервал, чтобы хватило на время бекапа.
Но если честно.. я бы не стал это промышленно применять, а вот Acronis Recovery для MS SQL Server похоже для пром применения может сгодиться.
41 dk
 
14.10.09
16:45
правда на этом скульном сервере никто ночью не работал
42 DmitrO
 
14.10.09
16:46
Есть и другие продукты ускоряющие бекап, я даже пробовал, реально быстрее бекапят, и копия объемом меньше (за счет не сильного сжатия непосредственно при бекапе), если вспомню напишу.
43 vde69
 
14.10.09
16:48
(37) это не бекап, это некая точка между транкзациями, с которой можно работать, тоесть бекапить на эту точку или делать запросы на эту точку.
и все это без опасения, что данные изменятся за время работы
44 DmitrO
 
14.10.09
16:51
(42)+ Во, я LiteSpeed пробовал.
http://www.quest.com/litespeed-for-sql-server/

Оно как-бы интегрится в сервер делает там свою "системную" базу (типа как msdb). Ничо вроде, все работало.
45 Oleg_Nik
 
14.10.09
16:56
(0)
Делаешь копию средствами Sql/ дальше ее хоть акринисом, хоть чем.
Сохранешь уверенность что копия будет целостная.
Зачем лишний раз рисковать - непанатна.
46 Rebelx
 
14.10.09
17:07
(0)если бекапер поддерживает "фоновое копирование тома" - то можно пользовать такую прогу, если нет - то лучше средства SQL
47 Serg_1960
 
14.10.09
17:11
С инфостарта в своё время скачал:
/**************************************************************************************************
Скрипт осуществляет резервное копирование всех баз данных текущего сервера в указанную папку.
Путь к папке указывается в разделе "НАСТРОЙКИ". Резервные копии запаковываются в cab-файлы.
Cab-файл получает имя, состоящее из имени базы данных и текущей даты.
Примечание: Вы можете ограничить перечень баз данных для резервного копирования, отредактировав конструкцию
"WHERE" в определении курсора.
**************************************************************************************************/
DECLARE
@DataBaseName SYSNAME, -- имя текущей базы данных (в процессе перебора)
@BackUpPath SYSNAME, -- полный путь к bak-файлу резервной копии текущей базы данных
@CabPath SYSNAME, -- полный путь к cab-файлу резервной копии текущей базы данных
@DirPath SYSNAME, -- полный путь к каталогу резервных копий баз данных
@FSO INT, -- ссылка на OLE-объект "Scripting.FileSystemObject"
@BackUpSuffix SYSNAME, -- автоматически добавляемый к именам bak-файла и cab-файла суффикс, содержащий текущую дату
@year varchar (4), @month varchar (2), @day varchar (2) -- год, месяц и день текущей даты для формирования суффикса

-->>НАСТРОЙКИ**************************************************************************************
-- Путь к каталогу резервных копий баз данных:
SET @DirPath = 'X:\MyBackups\'
--<<НАСТРОЙКИ**************************************************************************************

-- Создание объекта "Scripting.FileSystemObject" для удаления bak-файлов после их упаковки:
EXEC sp_OACreate "Scripting.FileSystemObject", @FSO OUT

-- Формирование суффикса для имён файлов, содержащего текущую дату:
SET @year = CAST(DATEPART(Year, GetDate()) AS varchar)
SET @month = CAST(DATEPART(Month, GetDate()) AS varchar)
SET @day = CAST(DATEPART(Day, GetDate()) AS varchar)
EXEC xp_sprintf @BackUpSuffix OUTPUT, '%04s%02s%02s', @year, @month, @day

-- Открытие курсора и перебор всех существующих баз данных:
DECLARE Step_cursor CURSOR FOR SELECT [Name] FROM master..sysdatabases WHERE [Name]<>'tempdb'
OPEN Step_cursor
FETCH NEXT FROM Step_cursor INTO @DataBaseName
WHILE @@FETCH_STATUS = 0 BEGIN
   -- Получение полных имён bak-файла и cab-файла:
   SET @BackUpPath = @DirPath + @DataBaseName + @BackUpSuffix + '.bak'
   SET @CabPath = @DirPath + @DataBaseName + @BackUpSuffix + '.cab'
   -- Резервное копирование базы данных (получение bak-файла):
   BACKUP DATABASE @DataBaseName TO DISK = @BackUpPath WITH INIT
   -- Упаковка bak-файла (получение cab-файла):
   EXEC master..xp_makecab @CabPath, 'mszip', 0, @BackUpPath
   -- Удаление bak-файла после его упаковки:
   EXEC sp_OAMethod @FSO, 'DeleteFile', NULL, @BackUpPath

   FETCH NEXT FROM Step_cursor INTO @DataBaseName
END
CLOSE Step_cursor
DEALLOCATE Step_cursor
-- Удаление объекта "Scripting.FileSystemObject":
EXEC sp_OADestroy @FSO
48 Жан Пердежон
 
14.10.09
17:51
(0) а какой размер базы?
и сколько времени бекап занимает средствами-sql?
49 Шляпентох
 
16.10.09
09:12
(43) Не совсем так. Это как бы полная копия базы. Только фактически она не содержит страниц данных. Как только данные изменяются, страница, на которой производились изменения, копируется в snapshot. Т.е. на момент создания - snapshot пуст, за счет чего достигается "моментальность" снимка. Плюс, возможность создания моментальных снимков присутствует только в Enterprise Edition (для 2005-й версии, как там с другими - не знаю)
50 ДенисЧ
 
16.10.09
09:16
(49) То есть туда попадают только те данные, что изменились? А если докУмент 2хлетней давности? Его там не будет?
51 Mikeware
 
16.10.09
09:17
(50) Он возьмется из основной базы
52 Шляпентох
 
16.10.09
09:37
Точно так же, если вы будете делать бэкап со snapshot'a - все данные которые не менялись с момента создания будут взяты с основной базы
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан