<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
При скачивании пишется файл как «Установка»
з.ы. firefox
А зачем делать бэкап средствами 1с, если можно сделать средствами sql-сервера?
В чем подвох?
(2) Подвох в том, что .dt файл можно развернуть в любом другом сервере БД без проблем, хоть в файловом варианте. Архивы весят в 20 раз меньше, чем бэкап средствами SQL (хранить историю базы в SQL бэкапах никакого места не напасешься, темболее оно ценно на рэйд-массиве), также получается 100% гарантия целостности базы.
У нас бэкапы обоими средствами делаются одновременно (бекап средствами 1С и полный бэкап SQL выполняется примерно одинаковое количество времени), если на время SQL бэкапа база будет заблокирована, то SQL сервер будет только за 🙂
(3) Спасибо.
-Архивы весят в 20 раз меньше, чем бэкап средствами SQL …(2)
А вы не пробовали жать бэкап ? У меня жмется тем же раром и вес после этого сопоставим с .dt
(5) Понятно, что можно сжимать. Но когда рабочий сервер MS SQL, тестовый PostgreSQL и каждому разработчику нужна еще локальная файловая копия, то без .dt файлов никак не обойтись.
Спасибо! скачал, сформировал, создал задачу — седня в полночь сделается, утром проверю 🙂
Еще бы такое под 7.7 😥
(7) Проверьте, стоит ли COMConnection на сервере.
1.Файл скачивается с расширением chm. Пришлось переименовать.
2.Насчет «разрывает абсолютно все соединения» это Вы погрячились. А зависшие фоновые задания?
А это что еще за творчество :
Процедура ПутьАрхивовОчистка(Элемент, СтандартнаяОбработка)
ПутьАрхивов = «»;
КонецПроцедуры
Это к чему ????????
(10)
1. Это к Доржи лучше обратиться, выложено все нормально.
2. Все соединения на всех процессах, кроме COM гасятся, фоновые задания в том числе.
(11) Это чтобы кнопка очистки в элементе управления работала)
(12) «Это чтобы кнопка очистки в элементе управления работала»
Я не понял, это юмор такой , что-ли? Вы уберите эту фигню, а то кто-нибудь на 1с-говнокод запостит.
(13) Да, действительно без этого работает. А в Си++ и в Дельфи не работало без кода…)) Изначально было:
Процедура ПутьАрхивовОчистка(Элемент, СтандартнаяОбработка)
ПутьАрхивов = «C:»;
КонецПроцедуры
Нормально, только надо было предупредить что оно юзера создает
(15) Про «юзера» написано тутhttp://infostart.ru/public/19363/ 🙂
(16) то есть чтобы понять, что там еще может произойти нужно пройтись по всем ссылкам? Да тут каждая четвертая обработка — часть другой, взятой тоже где-то тут 🙂
(0) Алексей, вот видишь. Говорил я тебе: «Поработай над описанием»… 🙂
А не полетят ли сохраненные настройки пользователей, которые обычно слетают, когда 1Ска закрывается не по воле юзера?
Важно: скрипт работает только если на сервере установлен компонент COMСоединение (по умолчанию не ставится). Чтобы проверить, заходим на сервере 1С в панель управления Установка удаление программ Сервер 1С Предприятие Изменить… Если нужно, добавляем COMСоединение.
У меня нет такого пункта в изменить… как можно еще это настроить?
(8)
я чего-то в свое время снес её, сейчас опять положил, погляди.
(19) Большинство пользователей после установки блокировки успевают отключиться.
(20) Полностью переустановить сервер. Сперва снести, потом выбрать при установке этот компонент. Но что-то с трудом вериться, куда пункт изменить-то мог подеваться? Это помойму стандарт еще со всремен появления «Windows Installer».
Поддерживаю насчет отсутствия СОМ-соединения в установочном меню. У меня версия платформы 8.2.10.73, похожий скрипт прекрасно отрабатывает интерактивно, но почему-то виснет в момент создания СОМ-соединения под шедулером, даже если у пользователя права Доменного Администратора.
Сервер — 2008 R2 х64. Если кто-то сталкивался с этим, подскажите, плиз, куда копать?
(22) Бэкап и прочие «еженочные» процедуры проходят около 00:10. Много юзеров забывают отключать платформу(да, комп на ночь не выключают).
(24) Предлагаете локально на каждый комп заходить и корректно 1С-ку тушить?)) У них будет сообщение, что соединение разорвано администратором.
(23) Да надо пользователю, из-под которого бэкап стартует, дать право выполнения DCOM операций при невыполненном входе в систему в служебной программе «Управление службами компонентов»
(25) А где бы подробней почитать, в каком конкретно месте мне надо устанавливать права локальному пользователю в «Component Services», а то там можно такого наворотить по незнанию…
🙂
(26) В журнале событий Windows посмотрите ошибки по Distributed COM там конкретнее чуть пишется, илиhttp://ru.wikipedia.org/wiki/Component_Object_Model там ссылки на MSDN есть.
(27) Нет никаких ошибок в журнале событий, а скрипт упорно виснет в момент создания v82.COMConnector
Преимущество бэкапа средствами SQL — не надо выгонять пользователей. А если отключать всех пользователей, на хрена тогда парить сервер? обычным copy копируем файлы и архивируем если надо, развернуть будет тогда вооще быстро, т.к. разархивация несравнено быстрее архивации. А если база большая, можно на выходных делать полный бэкап а всю неделю(и даже в обед, если сильно надо) архивировать журнал транзакций. И вообще выгонять насильно(принудительно отключать) пользователей плохая идея, бывает потом глючит и нужно потом кэш на каждом компе очищать.
(29) При бекапе средствами SQL, во-первых нельзя разверноуть базу в файловом варианте либо на другом SQL сервере (IBM, Postgres). Во-вторых замечен глюк при развозворачивании базы из SQL бэкапа теряются пользователи ИБ, т.е. справочник «Пользователи» полный, а список пользователей ИБ наполовину пустой. Хз как лечить…
(28) Не знаю, на 82 не тестировал, но на 81 глюк лечится добавлением пользователя, из под которого запускается скрипт (Администратор) в группу «Пользователи DCOM» и установкой COM-соединения на сервер.
Я вот чего не пойму…
Почему публикация называется «кторый обязательно сделается (без перезапуска сервера)»?…
Если допустим поднять com-соединение к базе, и «забыть» его закрыть, разве бэкап сделается?
Или если места на диске не хватило… Такое тоже ведь возможно, верно?
Если честно, думал здесь какой-то механизм повторных попыток бэкапа реализован…
Но идея со Scripts Encryptor’ом весьма достойна. Хоть какая-никакая, а защита пароля…
(31) Да, чот переборщил чуток сназваньем… Если метеорит в сервер попадет тоже бэкап врядли сделается… Здесь рассчет на то, что пользователи могут конфигуратор открыть и оставить на ночь, или окно с вводом пароля (когда блокировкой не викидывает, а соединение есть), а если программист COM-соединение забыл закрыть или админ за свободным местом на сервере не следит то это уже проблеммы другого уровня и бороться с такими проблемами эффективнее административными мерами а не программными.
Спасибо большое 😀 Все прекрасно работает
(33) А плюсануть, када все прекрасно? 😎
еле + нашел 😉
еще бы раза три плюсанул, но не дает … придется другим порекомендовать 😀
Зачёт полный! 🙂 Реально отрубает всех. Я долго маялся с этим, а тут готовое решение.
Большое спасибо! А как можно реализовать такоеже но с двумя серверами 1С Предприятия? 8.1 ИмяСервера, 8.2 ИмяСервера:1641. Буду очень признателен.
(38) В каждой базе запустить обработку — для каждой базы будет свой скрипт vbs.
Нет не получается! Я думаю проблема в ИмяСервера:1641 (1641 — это порт!!!) это к томуже кластер 1С 8.2
для 8.2 не работает. Если галку не компилировать не ставить выдает ошибку записи файла. win2008 sql2008
гоню…все супер работает!!! огромное спасибо!!! +
Я делаю резервирование средствами MS SQL каждый день: полная копия — ночью, и в рабочее время сохраняю цепочки журнала каждые 15 минут. И это конкретно работает. DT-шник мне нужен, чтобы загрузить «свежие» данные в локальные копии баз команды разработчиков. Но даже ради этого я не готов жертвовать стабильностью. Я делаю восстановление полной копии в «тестовую» базу, а из неё выгружаю dt-шник. А также стоит отметить, что это есть и тестовая версия на сервере. DT-шник нужен не каждый день, и насильное отключение пользователей от БД — тоже не дело. Тогда уж выключайте сервера на ночь, и пользователи приучатся завершать все открытые окна… В старых типовых конфах есть «выгонялка» — после доработки очень даже хорошо работает (на случай, когда нужна реструктуризация БД). А копии SQL в лёгкую сжимаются любым архиватором. У меня всё автоматизировано, и архивы 7zip хранятся за последние 3 месяца — постепенно удаляются. Правда, для такой автоматизации скрипты типа js и vbs не помогли — писал прогу на С++ (хотя, больше склонялся к с++ из-за удаления старых резервов в корзину). И ещё раз повторюсь — это конкретно работает, и без ущерба психики пользователей.
(43) в MS SQL 2008, кстати, появлиась возможность сжатия резервной копии, поэтому можно не делать архив 7z из бэкапа, а настроить, чтобы бэкап сжимался
(44) А в постгрес давно есть возможность изменения формата бэкапа, сжатия, или вообще перенаправление потока=)
Но собственно автор говорит просто о возможности более быстрого «обмена» бэкапами между разными СУБД, и это действительно удобнее, в данном случае.
Спасибо. Использую уже более полугода на 8.1 — все замечательно. +500
Спасибо, очень помогла в работе!
Спасибо. Пригодилось.
Давно искал подобное решение, спасибо огромное!
(40) Сделал отдельную обработку для 8.2
Спасибо! Сейчас скачаю и проверю как отработает в ночное время) у нас в базе постоянно кто-то висит…
(51) А где эта обработка? Мне очень надо!!!
Извините, разобралась, не туда нажала…
Надеюсь она меня выручит …. Оооочень надо …
Скачала теперь для 8.2, но увы… выдается окно:
Ошибка: descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=542
file=ScrRemoteCreatorImpl.cpp
Код: 80004005
Источник: v82.COMConntctor.1
Помогите, прошу!
и ещё вопрос: а можно извлечь информацию из компилированного вашей обработкой файла .vbe, т.е. расшифровать её?
(56) Скорее всего проблема с доступом к серверу, если Windows сервер 2008 или 2008 R2 то там сетевым (да и местным тоже) пользователям, по-умолчанию, запрещено использовать COM-соединение с процессами на сервере. Т.е. необходимо пользователю, под которым запускается скрипт, настроить права на работу с DCOM. Если пользователь сетевой, то дать права на RPC(remote procedure call — удаленный вызов процедур).
(57) Извлечь информацию из зашифрованного .vbe файла можно. Точнее при шифровании используется обфускация текста, алгоритм впринципе обратимый. Но сделать это может очень продвинутый человек, который еще сотней других способов, кроме расшифровки, сможет узнать ваш пароль, или вычистить его напрямую в базе данных… Защита кодированием от простых юзеров, которым хочется побаловаться под полными правами в базе данных.
(58)Благодарю за ответы. Я не сказала, но под 8.1 у меня работала обработка, пользовалась, потом платформу обновили, я обработку сама исправила под 8.2 и у меня такая же ошибка выходила, как и при использовании Вашей обработки. Да и права на сервере у меня полные …
Я делаю резервирование средствами MS SQL каждый день: полная копия — ночью, и в рабочее время сохраняю цепочки журнала каждые 15 минут.
А не проще ли Snapshot делать? Поднимать базу будете дольше, чем частота инкрементов(не по самому времени выполнения подъема бакапа, а разобраться, что к чему и с чего начать)
(60) zzz_natali,
Snapshot, насколько я знаю, автоматически не удаляется и при архивации 30 баз (под 2-мя конфигурациями) это не выход.
спасибо, работает
Исправь ошибку в названии. А так статья хорошая, ставлю +
(63) Ахаха статье 2 года, ты первый ошибку заметил…
Некоторые пользователи уже писали, что для SQL версии не нужно ничего придумывать. SQL Server имеет возможность делать бекапы и эта возможность намного луччше чем средства бекапа 1с. Полный бекап, дифференцированный,бекап лога позволяет Вам в случае возникновения проблем откатиться на нужное время (если например сделать бекап лога транзаций каждые 15 минут), то есть возможность откатиться на время кратное 15 минутам). ИМХО это намного лучше. При этом выгонять из базы никого не нужно.
(65) Гениально! А свежую файловую копию для разработки / тестирования из .bak файла развернете? или в Oracle / Posgres / IBM DB2 ?
(65) Ни кто же не говорит, что средствами SQL бэкап делать не нужно. Даже наоборот, SQL бэкап необходимо делать в первую очередь, и как можно чаще diff и log…
(66) да запросто. имея копию в sql я согу создать тестовую базу sql и развернуть ее в бекап. Причем также за любое время (зависит от настроек бекапа).
или в Oracle / Posgres / IBM DB2 — вы это делаете постоянно в рабочее время по 10-20 раз в сутки? До сих пор считаю, что для SQL — лучше использовать бекапы средствами SQL. Если нужно сделать бекап средствами 1с, можете предупредить пользователей чтобы они вышли (можно почтой, можно используя обработки 1с), а можете отключить наглым образом все соединения через серверную консоль 1с. и все.
(67) Ну я также про это и говорю.
(68)http://infostart.ru/public/65955/ моя же статья, как мы делаем.
(71) Каждые 15 минут это конечно жестко, тем более когда работа интенсивная, блокировки будут жуткие… Но вот в последних двух конторах, где я работал, разностный бэкап каждый час делался, и все довольны были.
А если нужна копия базы которая на 15 минут отстает от рабочей базы, то тут конечно без второго Stand-By сервера не обойтись, который будет все транзакции с рабочей базы к себе тянуть… Но на 1С таких решений не встречалось (да и нет необходимости, т.к. при интенсивности работы 3-5 документов в час на пользователя, отставание на час вполне приемлемо), настраивал StandBy только на базах Oracle с 10 000 пользователей.
(72)
Простите, уважаемый, кто был доволен?
Генеральный, у которого железо/софт падало каждую среду/пятницу, а отдел айти бодро рапортовал, что после 555го падения всё было восстановлено за 14,5 мин, что на 3,5% быстрее, чем в после 554го урона.
Есть такое понятие, как стоимость восстановления данных относительно к реальным (прогнозируемым и моральным потерям).
Мы так привыкли в России корчить из себя распальцашек, хотя не понимаем и 10% впитывания в эту тему(хранения, суппорта и восстановления данных), наивно убаюкивая себя прочей бытовухой. Давайте, наконец, наберемся смелости (это я ща ко всем) расписаться в нашей АВОСЬносьтьночности.
(74) Да, и генеральный, и пользователи были довольны. Был такой случай: на предпоследнем месте работы купили новенький HP Blade, 6 серверов-лезвий 4х4 ядра (16 виртуальных), 32 ГБ памяти на каждом, и полка с двумя рейд массивами скоростным сас и обычным… Дак вот полка оказалась бракованной, и оборудование действительно валилось раз в 1-2 недели. Специалисты техподдержки HP полгода не могли разобраться в чем проблема, вызвали иностранного спеца, который определил, что полка битая (сказали что в россии это был единственный в своем роде случай). Но дело не в этом, собственно, а в том, что когда после первого падения (попробуйте на сервере SQL во время интенсивной работы жесткий диск выдернуть, увидите какие последствия будут — каждое 3е такое падение приводит к полной неработоспособности и невозможности никакими средствами восстановить базу, кроме поднятия из бэкапа), вобщем когда после первого падения база была восстановлена с потерей данных за сутки — начальство было очень не довольно, и не одна голова АйТишников тогда полетела, даже АйТи-директора уволили. А когда восстановление было с потерей данный за 30-60 минут максимум — все были довольны.
(75)
Ну, не знаю. Под моими словами тут любой бы подписался, что пол-года не надо ждать, когда приедет это $-голландский. Методом исключения этот массив мона было вычислить.
Впрочем, это уже риторика. Спасибо за дискуссию.
(71) zzz_natali, Научитесь изъяснять свои мысли вежливо. Это будет правильно при общении как в глаза, так и за глаза. Особенно при общении с незнакомыми Вам людьми. Мой пример (если например сделать бекап лога транзаций каждые 15 минут) — ЭТО ПРИМЕР! Это не руководство к действию. В связи с чем все то, что вы написали оставьте при себе и читайте внимательнее, то что написано и не делайте вывод по фразам, которые вы выдернули из контекста.
OFF
1000 Скачиваний и я 1000-ый
(78) Гет засчитан))
(77) lexeika, Ничего не ответила золотая рыбка…
(прекрасно знаю упёртость сисадминов/айтишников и мужчин в частности)
Считаю, что продолжать дискуссировать с Вами по данной концепции явно нецелесообразным.
Если Ваше самолюбие чем-то задето, то можете безвоздмездно (то есть, даром) принять мои извинения.
ЗЫ: остаюсь при своем мнении!
(80) zzz_natali, Разговор глухого с немым.
(81) lexeika,
преамбула:
Вот раз пошли слепой и одноглазый к девочкам. Дорога лесом, сквозь густой ельник. Одноглазый слепого на себе тащит. Вдруг одноглазый натыкается единственным глазом на сучок, громко восклицает: — Всё приехали! — Здравствуйте, девочки!
фабула:
постеснялись бы себе набирать кредитный статус сообщениями, не несущих смысловую нагрузку
Для администрации форума. Прошу удалить мои сообщения, адресованные zzz_natali с соответствующим удалением кредитного рейтинга. Это сообщение также можете удалить. Заранее благодарен.
p.s. Неспроста говорят, что «человек видит соринку в глазу у собеседника и не замечает бревна у себя»
а с Posgris SQL обработка работает?
(84) *PostgreSQL правильно)
Да работает, с любым клиент-серверным вариантом работы, от типа СУБД не зависит.
Кусок кода:
Показать
«dump_log.txt» найти не может. Создай файл с таким именем в папке, в которой скрипт выполняется(лежит).
(3) Мало весят это от того что они сжаты, никто не мешает тебе также сживмать SQL бакап, даже хоть и средствами Сервера
(100) Все равно сжатый SQL-бэкап будет б’ольшим по объему, т.к. SQL кладет в бэкап также индексы таблиц, 1С в .dt индексы не кладет, а пересоздает их при разворачивании базы.
Не удалось создать пользователя Робот для выгрузки информационной базы. {ВнешняяОбработка.ФормированиеCкриптаVBSДляSQL.МодульОбъекта(54)}: Значение не является значением объектного типа (Пустая)
Вот что выдает при попытке сформировать скрипт?! Чтобы это значило?
(117) (118) Спасибо, поправил.
(119) Скрипт необходимо запускать на том же сервере, где расположен сервер 1С с установленной компонентой «COM-соединение», при запуске с других машин вряд ли получится корректно настроить права пользователей Windows.
Не удалось создать пользователя Робот для выгрузки информационной базы. {ВнешняяОбработка.ФормированиеCкриптаVBSДляSQL.МодульОбъекта(56)}: Поле объекта недоступно для записи (Код)
(151) kozlovvp, 56-ю строку в модуле объекта закомментируйте.
(0) 1. Не проверки что длина кода для пользователя не «0».
2. Запись файлов происходит на сервере, у пользователя от имени которого работает сервер может не быть прав на каталог с бекапами и валятся ошибки.
Переписал обработку для сохранения файлов на клиенте, но платить 3sm за обработку, которую нужно допиливать напильником как-то не весело.
(6)
DT-файлы — не надежный контейнер, база может и не восстановиться.
Да и сама 1С давно признала — DT-архивирование не может применяться в качестве основного бэкапирования.
(160) Новая для меня информация. В чем ненадежность? Где они такое признали, можно ссылочку?
(161)
Если размер одной из таблиц превышает 4 ГБ (например хранилище файлов какое-нибудь), то вы не сможете сделать выгрузку в DT файл из-за ограничений внутреннего формата хранения файлов 1С. Так же при работе с очень большими таблицами наблюдаются падения платформы 1С при восстановлении с ошибкой «Недостаточно памяти».
(160)
Да, бэкап средствами SQL нужно настраивать в первую очередь. Средствами 1С только как дополнительный механизм. К счастью, оба бэкапа могут выполняться одновременно.
(3) Боюсь огорчить, но .dt не 100% гарантия. Был у меня случай, когда она отказалась разворачиваться из-за ошибки в платформе, она не переваривала некоторую последовательность символов в двоичных данных справочника «Вложения электронной почты». Тогда спас только SQL-бэкап. Потом эту конкретную ошибку поправили, но где гарантия, что новых не наделают? Банальность скажу, но надо бэкапы делать всеми возможными способами.
(161),https://its.1c.ru/db/metod8dev/content/2922/hdoc
(3) SQL-серверу глубоко пофиг, заблокирована ли база. Он бэкапит снапшот.
А dt — не бэкап, а транспортный формат. В общем случае гарантий его восстановимости 1С не дает, и это русским по белому написано в руководстве администратора.
(6)Соглашусь с предшественниками:
1. dt не гарантирует восстановление базы в другом месте
2. Размер практически одинаковый, если пользоваться сжатием
3. Скорость несравнима — в dt долговастенько
4. Базу в 150-200 гб вы будете бекапить в dt ооооочень долго, да с ограничениями по размеру файлов, да с ограничениями по размеру таблиц,д а с ограничениями по длине индексов.
Хотя по самой генерации скрипта вопросов нет.