<?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='\
Если SQL Server только на одной виртуальной машине (4 виртуальных ядра) vsphere, покупать придется на все виртуальные процессоры хоста (32 виртуальных ядра) или только на 4 задействованных субд?
(1)Только на 4 ядра, относящихся к этой виртуальной машине.
Это продолжение статьиВопросы и ответы по лицензированию Microsoft Windows Server
При все нарастающей конкуренции со стороны Postgres, решение об изменении политики лицензирования с процессора на ядро, сделавшее Enterprise версию MSSQL просто неподъемной, по моему мнению совсем не дальновидно.
Кстати PG и на Oracle давит, не плохо так. По крайней мере не малое число спецов переквалифицируются с MSSQL и Oracle на PG.
Отличная статья, спасибо!
Если у меня уже есть CAL-ы для пользователей и SQL сервер то нужно ли мне снова покупать CAL-ы если я покупаю еще один SQL сервер?
(5)
нет, не нужно, если CAL-ы той же версии, что и сервер (или более поздней версии).
это на каком языке написано ? ж))
(7) Перевод с английского. Можно было, конечно, написать по-простому — «ядерных лицензий».
(8) неа. нужно было написать «на процессор» 🙂
(9) Лицензируются ядра. В каждом процессоре должно быть лицензировано не менее 4-х ядер.
(10) ну да, а вы что написали ? == » 4 лицензии на ядро». Взрыв мозга.
PS надо как-то избегать подобных оборотов всё-таки
(11)Лицензия на ядро — название такое у лицензии. Их четыре штуки. Получается «Четыре лицензии на ядро».
(12) A minimum of four core licenses is required for each physical processor on the server.
Когда это читаешь и понимаешь, что нет никаких технических ограничений которые действительно приводили бы к такой сложности в лицензировании, и понимаешь что это чисто маркетинг, читать уже ничего не хочешь.
(0) Спасибо за полезную информацию!
А есть ли какая-либо информация по поводу переезда в Azure и как при этом можно «конвертировать» лицензии?
(15) Вы не сможете конвертировать лицензии, они останутся у вас. А за Azure будете платить арендную плату.
А доступна ли установить лицензию Runtime или Full-Use на виртуальной машине (в облаке)?
А доступна ли установка лицензий Runtime или Full-Use на виртуальной машине (в облаке)?
(18)Да, установка на виртуальной машине возможна. Но если это не ваше облако, то правильнее будет арендовать софт, а не покупать его.
(19)Да, мы собираемся арендовать azure в Microsoft. В аренду у них нет данной лицензии, можно либо Standard либо Enterprise.
Вообще у нас сложная ситуация с выбором версией лицензии SQL… Базу используем исключительно для 1С 8 версии, кол-во одновременных подключений до 30 (доступ только через RDP), кол-во выделенных виртуальных ядер 8. Оплата арендованного облака будет осуществляться за весь год 1 платежом. Вот и рассматриваем вариант каждый год оплачивать лицензию Standard по ядрам либо Standard по пользователям либо разово приобрести Runtime и не платить за её в последующем. Быть может есть возможность помочь советом?
Могу ли я установить на MS SQL Server 1C Runtime базу данных 1С версии 7.7 по этой лицензии?
(21)Нет, это все про 1С версии 8. У вас должна быть лицензия на сервер 1С:Предприятие 8.
Подскажите. Есть сервер 32 ядра. Хотим приобрести лицензию SQL Enterprise на 16 ядер.
1. После установки на сервере SQL по факту будет использовать 16 ядер?
(23)»Для лицензирования физического сервера – когда SQL Server запускается в физической операционной среде — все физические ядра должны быть лицензированы.»
Вы таким образом нарушите лицензионное соглашение.
Насчет защиты в техническом плане ничего не могу сказать. Насколько я знаю, ее нет. Это вам не 1С 😉
А если SQL Server версии Full-use только на одной виртуальной машине с 8 виртуальными ядрами vsphere, покупать придется на все 8 виртуальных ядер или будет достаточно минимальной лицензии на 4 ядра, задействованных СУБД? Все 8 ядер на данном сервере задействовать под нужды СУБД пока не планируется.
«Чтобы лицензировать отдельные виртуальные машины с использованием модели «По числу ядер», клиенты должны приобрести лицензию на ядро для каждого из виртуальных ядер (или виртуального процессора, виртуального ЦП, виртуального потока), выделенного данной виртуальной машине, при этом на одну виртуальную машину должно приобретаться не менее четырех лицензий на ядро. » — из инфописьма 1С. То есть нужно лицензировать все 8 ядер
(26) поясните, пожалуйста, в случае приобретения и установки лицензии на 4 ядра (на 8-ядерный виртуальный сервер), СУБД технически не будет работать?
(27)Скорее всего, будет, но юридически вы будете нарушать условия лицензии.
(28) Хорошо. Дополнительно хотелось бы уточнить вот что:
Если на самом физическом сервере 16 ядер, но под виртуальный сервер, на котором планируется развернуть СУБД MS SQL выделено только 8 ядер и больше не планируется, то лицензировать нужно только эти 8 ядер виртуального сервера? Или все 16 ядер физического сервера?
(29)Достаточно 8-ми.
1 Ноября 2019 года начнется продажа лицензий SQL Server 2019.
Принципы лицензирования останутся такими же, как SQL Server 2017. Примеры лицензий SQL Server 2019 без подписки Software Assurance:
228-11476 — SQLSvrStd 2019 SNGL OLV NL Each AP — лицензия SQL Server 2019 Standard на сервер
359-06863 — SQLCAL 2019 SNGL OLV NL Each AP DvcCAL — клиентская лицензия на устройство
359-06864 — SQLCAL 2019 SNGL OLV NL Each AP UsrCAL — клиентская лицензия на человека
7NQ-01562 — SQLSvrStdCore 2019 SNGL OLV 2Lic NL Each AP CoreLic — двухядерная лицензия SQL Server 2019 Standard
7JQ-01605 — SQLSvrEntCore 2019 SNGL OLV 2Lic NL Each AP CoreLic — двухядерная лицензия SQL Server 2019 Enterprise
Добрый день !
Требуются ли какие либо лицензии (девелоперские) для MSSQL Server 2016 Developer Edition?
На сервере бутут на 100% цинтетичецкие данные для тестирования.
Спасибо!