Rusguard ошибка авторизации карты

Просмотров 7.2к. Опубликовано 08.04.2021
Обновлено 21.01.2022

Так сложилось исторически, что мы стали дилером компании RusGuard чуть ли не сразу после её образования. Причиной тому было то, что компания была основана бывшими сотрудниками другой компании – Legos, с которой мы довольно плотно работали. Дилерами стали, но сотрудничество как-то не задалось – инсталляций не было, только продавали оборудование несколько раз. Позже решил посерьёзнее познакомиться с тем, что же у ребят получилось. Первый критерий оценки очень простой – беспроблемная установка софта. Скачал дистрибутив, попробовал поставить – не вышло. Отложил до лучших времён.

Справедливости ради скажу, что та же история произошла и с CARDDEX – попробовал, словил кучу проблем, отложил. Логика такая – разобраться можно со всем, но зачем лишние проблемы на объекте, если есть гораздо более стабильные решения.

Содержание

  1. Первое знакомство
  2. Установка
  3. Проблемы с NFC и BLE
  4. Настройка
  5. Опытная эксплуатация

Первое знакомство

Недавно обратился клиент с просьбой установить ему СКУД со считывателями, работающими по технологии BLE и NFC. И сам же клиент нашёл такой считыватель R15-Multi у RusGuard, поскольку первоначально предложенный мной считыватель SIGUR MR1 BLE был заметно дороже. К тому же софт у SIGUR стоит денег, а у RusGuard предоставляется бесплатно.

Решено – RusGuard-у на объекте быть! Будет интересно поразбираться с новым оборудованием. Связался с поставщиком, обсудили возникшие вопросы об автономной и сетевой работе, сформировали комплект оборудования и сделали заказ.

Установка

Сроки поджимали, поэтому пощупать оборудование в офисе не удалось – сразу приступили к монтажу. Решил потренироваться в установке на своём ноутбуке. Недавно менял диск и ставил заново ОС, поэтому компьютер, практически, девственно чист. Не ожидая подвоха скачал дистрибутив (3,7 Гб вместе с SQL Server) и запустил установку. При запуске было сказано, что .NET Framework 4.6 в системе присутствует, а IIS отсутствует, поэтому будет установлен автоматически. Далее выбрал вариант с установкой SQL ServerExpress 2014, задал имена и пароли, какие попросили, но чуда не случилось – установка завершилась с ошибкой. Попробовал ещё раз – то же самое.

Когда ничего не получается, самое время читать инструкцию или смотреть видеоролик, поэтому полез смотреть ролик про установку. Первое требование – компьютер должен быть “чистым”. Почти так и есть. Следующая возможная проблема – имя компьютера. Почему-то дефолтные виндовые имена – это не есть “хорошо”. Имя действительно было дефолтное – поменял, не помогло. Включил вручную ISS, хотя об этом в ролике и не было, и повторил попытку – не помогло. Посмотрел ролик дальше и увидел там, что необходимо установить ещё и .NET Framework 3.5, а иначе SQL Server не установится. Установил фреймворк, запустил снова инсталлятор и SQL Server таки встал! Но рано радовался, т.к. установка опять завершилась с ошибкой – что-то там с правами. Запустил инсталлятор снова и выбрал вариант с уже установленным SQL Server. На следующем шаге инсталлятор выдал ошибку авторизации и предложил ввести правильный пароль пользователя sa. Ввёл. Инсталлятор его принял и на следующем шаге попросил ввести пароль пользователя user для сервера отчётов. Не понял, что за пользователь такой, но нашёл в документации, что на сервер отчётов вход производится под пользователем ОС и ввёл свои логин и пароль. Инсталлятор ещё пошуршал и, о чудо – установка завершилась успешно!

Что хочется сказать? Не надо так! Почему установка происходит с такими сложностями? Почему нельзя всё автоматизировать? Чем плохи дефолтные виндовые имена? Почему наличие в системе .NET Framework 4.6 проверяется, а .NET Framework 3.5 нет, хотя он необходим?

Взять те же SIGUR или PERCo – в них установка происходит на порядок проще. Ну и фраза “ПО может не установиться”, часто звучащая в ролике, несколько настораживает. Сделайте так, чтобы устанавливалось! Хороший и правильный дистрибутив должен содержать в себе все необходимые компоненты, проверять соблюдение всех требований и не допускать возникновения ошибок в процессе установки.

На объекте пришлось устанавливать на Windows Server 2019. В принципе всё прошло гладко, кроме того, что сначала пытался запускать инсталлятор из папки с Рабочего стола, но из-за длинных путей SQL Server устанавливаться не хотел. Опять же, без объяснения причин. По совету тех.поддержки попробовал установить его отдельно и только тогда увидел причину ошибки установки.

Проблемы с NFC и BLE

Проблемы эти проявились в процессе настройки, но чтобы не отвлекаться от темы настройки в следующей части, расскажу про них сразу. Так вот, оказалось, что несмотря на информацию в описании считывателя R15-Multi, приложения под iOS нет в принципе. Оно, как-бы в разработке, но сроки выхода неизвестны. Из этого следует то, что технология BLE для iPhone пока недоступна. Использовать можно только NFC, но, поскольку прямой доступ к чипу NFC в iOS закрыт, то приходится делать это через ApplePay, используя в качестве идентификатора ID какой-нибудь банковской карты. Это несколько смущает пользователей. т.к. при поднесении смартфона к считывателю они видят тот же интерфейс, что и при оплате через терминал на кассе. Многие опасаются, а не снимут ли у них со счёта деньги.

На смартфонах с Android тоже можно пользоваться Google Pay, но есть и приложение, называется RusGuard Key. В нём настраивается тип идентификатора (3 варианта) и каким образом должна происходить идентификация – через NFC или BLE или и так и так и если через BLE, то автоматически или вручную. Автоматический режим работы BLE подразумевает разблокировку двери сразу, как только смартфон попадает в зону действия считывателя. И вот это второй EPIC FAIL – в отличие, например, от считывателя SIGUR MR1 BLE, дальность действия считывателя R15-Multi не настраивается! То есть дверь открывается с расстояния 5-6 метров. А может и больше – это уже зависит от модуля Bluetooth смартфона. Ручной режим подразумевает отправку идентификатора не постоянно, а только после сработки акселерометра, то есть смартфон надо потрясти или покрутить. Это уже лучше, но всё равно не очень хорошо, потому что эти настройки делаются в приложении на смартфоне пользователя, а такие вещи лучше делать на стороне сервера.

Ну и финальный аккорд – не на всех Android-смартфонах приложение работает корректно. Это понятно – производителей таких смартфонов много, версий систем в них установленных, учитывая кастомные прошивки, ещё больше, ну и различные настройки безопасности и энергосбережения тоже вносят свой вклад. Винить разработчиков RusGuard тут не стоит – об этом честно упомянуто в описании продукта.

Настройка

Честно говоря, сначала софт не порадовал. Хотя и у аналогичных продуктов конкурентов интерфейс, прямо скажем, оригинальный. Так что придираться не буду. Хорошо то, что не глючит. Настроек много – чувствуется, что система масштабная и гибкая. После нескольких часов работы и к интерфейсу привыкаешь.

Автопоиском нашёл контроллер, добавил в систему, выбрал нужный тип точки доступа – Две двери и поменял схему индикации. Что SIGUR, что RusGuard используют по умолчанию каки-то странные настройки, а нужно то самое простое – чтобы в закрытом состоянии на считывателе горел красный индикатор, а при отпирании замка – зелёный. В SIGUR-е с индикацией всё сложно. Здесь же – из выпадающего списка значений параметра Схема индикации выбираем пункт Дежурный красный и всё работает, как надо.

На вкладке Дверь 1 и Дверь 2 нужно поменять протокол считывателя на RBus, чтобы настраивать его параметры из ПО.

Нужно было настроить систему на работу с NFC и BLE и c брелками форматов Mifare и EM-Marine, благо считыватель R15-Multi всеформатный. Для настройки нужно зайти в раздел Конфигурация системы, найти в дереве пункт Настройки Mifare и добавить профили для идентификаторов Mifare, приложения RusGuard Key и Apple/Google Pay. Профили для приложения и платёжных систем не настраиваются, а профиль для идентификаторов нужно чуть подправить. Усиленная защита не требуется, к тому же настольного считывателя нет, поэтому эмиссию идентификаторов Mifare производить не нужно, да и не получится. В параметре Режим аутентификации нужно выбрать вариант Защищённые данные или UID.

Теперь нужно в настройках контроллера добавить эти профили в список, причём в правильной последовательности: идентификатор, приложение, платёжная система. В нашем случае: Key, App, Pay. Далее, на вкладке RBus нужно сменить режим аутентификации на вариант Настройки профиля и там же ниже выбрать Разрешённые типы карт.

Настройка RusGuard

Следующий этап – импорт сотрудников из предоставленного XLS-файла. В основном ПО такой функции нет, но есть специальная утилита UniversalImport. Файл был специальным образом подготовлен – каждое поле в отдельном столбце и успешно импортирован в БД. После импорта сотрудников нужно было дать им право доступа. Это делается либо персонально, либо наследуется из настроек отдела. Хотел завести один родительский отдел и перенести все остальные в него, чтобы сделать назначение прав доступа парой кликов, но не вышло – в ПО нельзя редактировать структуру компании. Отделы можно только удалять и добавлять. Пришлось задавать права доступа для каждого отдела.

Опытная эксплуатация

Через пару дней после запуска в работу один из считывателей странным образом заглючил – перестал читать Mifare и NFC c BLE. С EM-Marine проблем не было. Нормальная работа восстановилась после перезапуска контроллера и считывателей путём сброса питания. Тех.поддержка посоветовала прошить считыватели свежей прошивкой и понаблюдать дальше, а если сбои повторятся, то отправлять к ним в ремонт или для замены. Продолжаем наблюдение.

Содержание

  1. Видеоинструкции
  2. Работа считывателей карт за рамками СКУД
  3. Считыватели в СКУД
  4. Как можно использовать настольный считыватель
  5. Как можно использовать настенный считыватель
  6. СКУД RusGuard. Первый запуск.
  7. Первое знакомство
  8. Установка
  9. Проблемы с NFC и BLE
  10. Настройка
  11. Опытная эксплуатация

Видеоинструкции

Установка ПО RusGuard Soft | Как установить СКУД РусГард

Как настроить RusGuard Soft? | Инструкция по настройке СКУД РусГард

Как настроить учет рабочего времени в СКУД

Как создать и настроить карту Mifare в СКУД RusGuard

Эмиссия карт Mifare Classic, Mifare ID и Mifare Plus в RusGuard Reader Config

Обзор функционала и настройка мобильного приложения RusGuard Mobile

Как сделать правильное фото для терминала распознавания лиц

Настройка автономного контроллера и считывателя от RusGuard и его возможности

Как настроить считыватель пластиковых карт? RusGuard Reader Config

Пропуск в телефоне | Использование NFC в смартфоне для контроля доступа

Настройка алкотестеров Динго и Алкорамки в СКУД RusGuard

Как настроить терминал распознавания лиц R20 Face от RusGuard

Интеграция 1С и СКУД RusGuard | Подключаем считыватель бесконтактных карт к 1С

Как узнать IP адрес контроллера RusGuard? | Настройка СКУД Русгард

Источник

Работа считывателей карт за рамками СКУД

Считыватели RFID-карт могут использоваться не только в составе СКУД. Благодаря бесконтактной идентификации можно решить множество задач: от выдачи обедов в столовой до запуска производственных станков.

Считыватели в СКУД

Задача считывателей в СКУД всем понятна. Если это настенный считыватель (например, R15-Multi), то он считывает данные RFID-карты, которые передаются в контроллер СКУД, где и принимается решение о доступе пользователя на охраняемую территорию.

Если речь идет о настольном считывателе, то как правило он необходим для передачи данных карты в программное обеспечение СКУД. Это намного быстрее, чем переписывать данные карты вручную для каждого сотрудника.

И настенные, и настольные считыватели RusGuard могут использоваться не только в составе СКУД RusGuard, но и с любыми другими системами контроля доступа.

Однако сфера применения считывателей не ограничивается только лишь задачами контроля доступа. Идентификация пользователей и фиксирование различных процессов посредством бесконтактных карт активно используется в логистике, в сфере услуг, на промышленных предприятиях и т.д. При этом специфика использования настольных и настенных считывателей будет отличаться. Разберемся, как и где можно использовать устройства RusGuard.

Как можно использовать настольный считыватель

К настольным считывателям относятся R5-USB и R5-USB (Prof). Оба считывателя мультиформатные, то есть поддерживают работу с картами 125 KHz (Em-Marine, HID Prox II) и 13.56 MHz (Mifare). Версия Prof также умеет работать с картами Indala и Cotag, а также со смартфонами и другими умными устройствами по протоколу NFC.

1. Эмуляция клавиатуры.

Настольные считыватели RusGuard могут работать в качестве эмулятора клавиатуры. Это самый простой способ получения данных из карты для использования их в сторонних приложениях: открываем любую программу, активируем поле для ввода символов, подносим карту к считывателю – и туда автоматически прописываются данные с карты. Такой программой может быть 1С, другой специализированный софт и даже обычная таблица Excel.

Этот функционал работает как в операционной системе Windows, так и в Linux. Более того, можно подключить настольный считыватель и к устройству на базе Android через OTG-переходник. И в этом случае он будет передавать в приложение данные с карты.

Как настроить?
Необходимо скачать утилиту RusGuard Reader Config. В списке виртуальных интерфейсов выбираем пункт «Эмуляция клавиатуры». Далее выбираем, в какой кодировке считыватель будет передавать данные. Для решения базовых задач достаточно предоставления кода в десятичном формате (Dec) или в шестнадцатеричном (Hex). После настройки не забываем нажать кнопку «Записать конфиг».

2. Эмуляция COM-порта

По функционалу этот способ очень похож на эмуляцию клавиатуры. Дело в том, что некоторые приложения работают только с устройствами, подключенными через COM-порт. Например, та же 1C попросту не будет знать о том, что к компьютеру через USB подключен настольный считыватель. Но это можно исправить. У считывателя есть возможность эмулировать COM-порт. В этом режиме он определяется как устройство, подключенное к COM-порту. Дальше остается указать в приложении, с каким COM-портом ему нужно работать, и можно получать данные с устройства.

Как настроить?
Скачиваем утилиту RusGuard Reader Config. В списке виртуальных интерфейсов выбираем пункт «Эмуляция COM-порта». Далее необходимо установить формат кода. Вы можете выбрать любую из трех кодировок (Dec, Hex или ASCII) – все зависит от желаемого результата . После настройки не забываем нажать кнопку «Записать конфиг». Операционная система (Windows или Linux) обнаружит новый COM-порт. Его и нужно указать в вашем приложении.

3. Работа через API.

Это способ наиболее сложный, однако, он предполагает наиболее широкие возможности при использовании наших настольных считывателей. У нас есть готовый кроссплатформенный API, который можно использовать в любых приложениях для Windows или Linux. API позволяет гибко настраивать считыватель (например, можно ограничить форматы карт, с которыми работает считыватель, изменить тип световой индикации, указать, какую именно информацию будет передавать считыватель). Само собой, для этого вам потребуется разработчик, который сможет внедрить API RusGuard в вашей системе.

Для удобства использования API уже имеет набор готовых примеров, которые можно внедрять в ваше решение.

Просто скачайте API RusGuard и передайте его вашему разработчику вместе с пожеланиями по работе считывателей.

4. Native API для 1C

Для решений на базе 1C у нас также есть внешняя компонента, написанная по технологии Native API. Она позволяет встроить считыватели R5-USB в экосистему 1С и тонко настроить их работу. В состав API также входят готовые примеры реализации – вам останется лишь вставить этот код в свое решение на базе 1С.

Необходимо скачать внешнюю компоненту Native API и передать ее вашему разработчику 1С, который решит поставленную задачу.

Как можно использовать настенный считыватель

К настенным считывателям относятся R10-EHT, R10-MF, R10-MF (QR), R15-Multi, а также устройства линейки RDR-204. Разные модели устройств работают с идентификаторами разных форматов (или RFID-карты с частотой 125 KHz, или карты 13,56 MHZ). Мультиформатный считыватель R15-Multi может работать одновременно со всеми типами карт, в том числе со смартфонами.

Настенный считыватель можно использовать для решения совершенно разных задач. Например, на одном из промышленных предприятий реализована следующая схема работы.

На производстве работает несколько десятков станков и других агрегатов. Есть некоторые ограничения на их использование: только определенные сотрудники и в определенное время имеют право их включать и работать на них. На каждый агрегат устанавливается считыватель RusGuard с внешним карманом для фиксации карты. Сотрудник опускает персональную карту-пропуск в карман считывателя, после этого считыватель замыкает внутреннее реле – тем самым дается разрешение на включение станка штатными средствами. Без идентификации сотрудника запуск агрегата невозможен.

Также невозможен запуск агрегата вне рабочего времени – оно регулируется правилами, установленными в корпоративной системе. Здесь же сохраняется информация о времени, когда карта сотрудника находилась в кармане считывателя, чтобы можно было сформировать учет рабочего времени сотрудников.

Подобным образом может быть организован доступ сотрудников к персональным шкафчикам, работа сельскохозяйственной техники и другие решения, где требуется подтверждение личности посредством идентификации RFID-картой.

Одно из главных преимуществ таких решений – это возможность получения кодов с бесконтактных карт на большом удалении от компьютера или любого другого устройства, которое будет получать данные с карт. Следует помнить, что USB-соединение имеет небольшую дальность работы – не более 5 метров. На бОльших расстояниях соединение становится неустойчивым и возникают частые потери данных, что приводит к ошибкам.

Настенные считыватели используют другой тип соединения – RS-485. Такой интерфейс позволяет передавать данные без потерь на расстояние до одного километра. При этом сигнал может быть конвертирован соответствующими переходниками в USB или LAN-интерфейс для удобства приема.

Также надо отметить, что принимающим устройством не обязательно должен быть классический «большой» компьютер под управлением Windows или Linux. Таким устройством может быть:

  • мини-компьютер (Raspberry или подобный);
  • контроллер на базе Linux;
  • смартфоны или планшеты на базе Android.

Главные требования к таким устройствам – наличие интерфейсов USB или LAN на борту, а также способность принимать и должным образом интерпретировать входящие данные от считывателей.

Рассмотрим два основных способа реализации такого решения.

1. Простая передача кода из считывателя

Считыватели RusGuard можно последовательно подключить в линию к шине RS-485. Количество устройств на одной линии может достигать 32 штук (но можно подключить и всего один считыватель). Далее на линию устанавливается конвертер для интерфейса RS-485: он будет преобразовывать сигнал либо для интерфейса USB, либо для интерфейса LAN – все зависит от типа принимающего устройства. При прикладывании карты считыватель будет передавать на принимающее устройство пакет с данными, куда входит адрес считывателя и UID карты. Таким образом, принимающее устройство будет понимать, к какому считывателю какая карта была приложена.

Скачиваем утилиту RusGuard Reader Config. Устанавливаем формат кода «Код в пакете AddrCod». Для каждого считывателя устанавливаем уникальный адрес. После настройки не забываем нажать кнопку «Записать конфиг».

2. Передача кода посредством API

Более сложный, но и более функциональный вариант. Он позволяет не только получать коды бесконтактных карт, но и гибко настраивать работу считывателей. Можно определять, какие форматы карт будет читать устройство, можно управлять световой индикацией, а также состоянием встроенного реле в считывателе. Главное преимущество такого решения – управлять работой считывателей можно из внешнего приложения. Фактически можно организовать мини-СКУД с базовым набором возможностей.

Принцип построения такого решения во многом схож с предыдущим. Подключаем считыватели в линию к шине RS-485. Однако стоит помнить: в этом случае количество считывателей на одной линии не должно превышать 4 штук. Далее к линии подключаем конвертер RS-485/USB или RS-485/LAN. Кабель от конвертера подключаем к принимающему устройству.

Скачиваем утилиту RusGuard Reader Config. Устанавливаем для каждого считывателя уникальный адрес от 0 до 3. Далее вся настройка происходит через API.

Источник

Так сложилось исторически, что мы стали дилером компании RusGuard чуть ли не сразу после её образования. Причиной тому было то, что компания была основана бывшими сотрудниками другой компании – Legos, с которой мы довольно плотно работали. Дилерами стали, но сотрудничество как-то не задалось – инсталляций не было, только продавали оборудование несколько раз. Позже решил посерьёзнее познакомиться с тем, что же у ребят получилось. Первый критерий оценки очень простой – беспроблемная установка софта. Скачал дистрибутив, попробовал поставить – не вышло. Отложил до лучших времён.

Справедливости ради скажу, что та же история произошла и с CARDDEX – попробовал, словил кучу проблем, отложил. Логика такая – разобраться можно со всем, но зачем лишние проблемы на объекте, если есть гораздо более стабильные решения.

Первое знакомство

Недавно обратился клиент с просьбой установить ему СКУД со считывателями, работающими по технологии BLE и NFC. И сам же клиент нашёл такой считыватель R15-Multi у RusGuard, поскольку первоначально предложенный мной считыватель SIGUR MR1 BLE был заметно дороже. К тому же софт у SIGUR стоит денег, а у RusGuard предоставляется бесплатно.

Решено – RusGuard-у на объекте быть! Будет интересно поразбираться с новым оборудованием. Связался с поставщиком, обсудили возникшие вопросы об автономной и сетевой работе, сформировали комплект оборудования и сделали заказ.

Установка

Сроки поджимали, поэтому пощупать оборудование в офисе не удалось – сразу приступили к монтажу. Решил потренироваться в установке на своём ноутбуке. Недавно менял диск и ставил заново ОС, поэтому компьютер, практически, девственно чист. Не ожидая подвоха скачал дистрибутив (3,7 Гб вместе с SQL Server) и запустил установку. При запуске было сказано, что .NET Framework 4.6 в системе присутствует, а IIS отсутствует, поэтому будет установлен автоматически. Далее выбрал вариант с установкой SQL ServerExpress 2014, задал имена и пароли, какие попросили, но чуда не случилось – установка завершилась с ошибкой. Попробовал ещё раз – то же самое.

Когда ничего не получается, самое время читать инструкцию или смотреть видеоролик, поэтому полез смотреть ролик про установку. Первое требование – компьютер должен быть “чистым”. Почти так и есть. Следующая возможная проблема – имя компьютера. Почему-то дефолтные виндовые имена – это не есть “хорошо”. Имя действительно было дефолтное – поменял, не помогло. Включил вручную ISS, хотя об этом в ролике и не было, и повторил попытку – не помогло. Посмотрел ролик дальше и увидел там, что необходимо установить ещё и .NET Framework 3.5, а иначе SQL Server не установится. Установил фреймворк, запустил снова инсталлятор и SQL Server таки встал! Но рано радовался, т.к. установка опять завершилась с ошибкой – что-то там с правами. Запустил инсталлятор снова и выбрал вариант с уже установленным SQL Server. На следующем шаге инсталлятор выдал ошибку авторизации и предложил ввести правильный пароль пользователя sa. Ввёл. Инсталлятор его принял и на следующем шаге попросил ввести пароль пользователя user для сервера отчётов. Не понял, что за пользователь такой, но нашёл в документации, что на сервер отчётов вход производится под пользователем ОС и ввёл свои логин и пароль. Инсталлятор ещё пошуршал и, о чудо – установка завершилась успешно!

Что хочется сказать? Не надо так! Почему установка происходит с такими сложностями? Почему нельзя всё автоматизировать? Чем плохи дефолтные виндовые имена? Почему наличие в системе .NET Framework 4.6 проверяется, а .NET Framework 3.5 нет, хотя он необходим?

Взять те же SIGUR или PERCo – в них установка происходит на порядок проще. Ну и фраза “ПО может не установиться”, часто звучащая в ролике, несколько настораживает. Сделайте так, чтобы устанавливалось! Хороший и правильный дистрибутив должен содержать в себе все необходимые компоненты, проверять соблюдение всех требований и не допускать возникновения ошибок в процессе установки.

На объекте пришлось устанавливать на Windows Server 2019. В принципе всё прошло гладко, кроме того, что сначала пытался запускать инсталлятор из папки с Рабочего стола, но из-за длинных путей SQL Server устанавливаться не хотел. Опять же, без объяснения причин. По совету тех.поддержки попробовал установить его отдельно и только тогда увидел причину ошибки установки.

Проблемы с NFC и BLE

Проблемы эти проявились в процессе настройки, но чтобы не отвлекаться от темы настройки в следующей части, расскажу про них сразу. Так вот, оказалось, что несмотря на информацию в описании считывателя R15-Multi, приложения под iOS нет в принципе. Оно, как-бы в разработке, но сроки выхода неизвестны. Из этого следует то, что технология BLE для iPhone пока недоступна. Использовать можно только NFC, но, поскольку прямой доступ к чипу NFC в iOS закрыт, то приходится делать это через ApplePay, используя в качестве идентификатора ID какой-нибудь банковской карты. Это несколько смущает пользователей. т.к. при поднесении смартфона к считывателю они видят тот же интерфейс, что и при оплате через терминал на кассе. Многие опасаются, а не снимут ли у них со счёта деньги.

На смартфонах с Android тоже можно пользоваться Google Pay, но есть и приложение, называется RusGuard Key. В нём настраивается тип идентификатора (3 варианта) и каким образом должна происходить идентификация – через NFC или BLE или и так и так и если через BLE, то автоматически или вручную. Автоматический режим работы BLE подразумевает разблокировку двери сразу, как только смартфон попадает в зону действия считывателя. И вот это второй EPIC FAIL – в отличие, например, от считывателя SIGUR MR1 BLE, дальность действия считывателя R15-Multi не настраивается! То есть дверь открывается с расстояния 5-6 метров. А может и больше – это уже зависит от модуля Bluetooth смартфона. Ручной режим подразумевает отправку идентификатора не постоянно, а только после сработки акселерометра, то есть смартфон надо потрясти или покрутить. Это уже лучше, но всё равно не очень хорошо, потому что эти настройки делаются в приложении на смартфоне пользователя, а такие вещи лучше делать на стороне сервера.

Ну и финальный аккорд – не на всех Android-смартфонах приложение работает корректно. Это понятно – производителей таких смартфонов много, версий систем в них установленных, учитывая кастомные прошивки, ещё больше, ну и различные настройки безопасности и энергосбережения тоже вносят свой вклад. Винить разработчиков RusGuard тут не стоит – об этом честно упомянуто в описании продукта.

Настройка

Честно говоря, сначала софт не порадовал. Хотя и у аналогичных продуктов конкурентов интерфейс, прямо скажем, оригинальный. Так что придираться не буду. Хорошо то, что не глючит. Настроек много – чувствуется, что система масштабная и гибкая. После нескольких часов работы и к интерфейсу привыкаешь.

Автопоиском нашёл контроллер, добавил в систему, выбрал нужный тип точки доступа – Две двери и поменял схему индикации. Что SIGUR, что RusGuard используют по умолчанию каки-то странные настройки, а нужно то самое простое – чтобы в закрытом состоянии на считывателе горел красный индикатор, а при отпирании замка – зелёный. В SIGUR-е с индикацией всё сложно. Здесь же – из выпадающего списка значений параметра Схема индикации выбираем пункт Дежурный красный и всё работает, как надо.

На вкладке Дверь 1 и Дверь 2 нужно поменять протокол считывателя на RBus, чтобы настраивать его параметры из ПО.

Нужно было настроить систему на работу с NFC и BLE и c брелками форматов Mifare и EM-Marine, благо считыватель R15-Multi всеформатный. Для настройки нужно зайти в раздел Конфигурация системы, найти в дереве пункт Настройки Mifare и добавить профили для идентификаторов Mifare, приложения RusGuard Key и Apple/Google Pay. Профили для приложения и платёжных систем не настраиваются, а профиль для идентификаторов нужно чуть подправить. Усиленная защита не требуется, к тому же настольного считывателя нет, поэтому эмиссию идентификаторов Mifare производить не нужно, да и не получится. В параметре Режим аутентификации нужно выбрать вариант Защищённые данные или UID.

Теперь нужно в настройках контроллера добавить эти профили в список, причём в правильной последовательности: идентификатор, приложение, платёжная система. В нашем случае: Key, App, Pay. Далее, на вкладке RBus нужно сменить режим аутентификации на вариант Настройки профиля и там же ниже выбрать Разрешённые типы карт.

Настройка RusGuard

Следующий этап – импорт сотрудников из предоставленного XLS-файла. В основном ПО такой функции нет, но есть специальная утилита UniversalImport. Файл был специальным образом подготовлен – каждое поле в отдельном столбце и успешно импортирован в БД. После импорта сотрудников нужно было дать им право доступа. Это делается либо персонально, либо наследуется из настроек отдела. Хотел завести один родительский отдел и перенести все остальные в него, чтобы сделать назначение прав доступа парой кликов, но не вышло – в ПО нельзя редактировать структуру компании. Отделы можно только удалять и добавлять. Пришлось задавать права доступа для каждого отдела.

Опытная эксплуатация

Через пару дней после запуска в работу один из считывателей странным образом заглючил – перестал читать Mifare и NFC c BLE. С EM-Marine проблем не было. Нормальная работа восстановилась после перезапуска контроллера и считывателей путём сброса питания. Тех.поддержка посоветовала прошить считыватели свежей прошивкой и понаблюдать дальше, а если сбои повторятся, то отправлять к ним в ремонт или для замены. Продолжаем наблюдение.

Источник

Обновлено: 09.04.2023

Проблема: Установлен флажок AutoSwath, но разбрасыватель не включается.

1. Убедитесь, что регистрируется скорость хода, и ее значение больше нуля на дисплее.
2. Убедитесь, что подающее устройство находится внутри границы поля.

Проблема: Конвейер выключается в середине прохода.

Решение: Проверьте, что версии микропрограмм дисплея и модуля являются

1. Убедитесь, что в настройках контроллера частота вращения вала (имп./оборот)

2. Убедитесь, что управляемый продукт установлен на правильные единицы измерения.

Проблема: Норма не отвечает

1. Убедитесь, что на дисплее регистрируется скорость хода.
2. Убедитесь, что в настройках контроллера частота вращения вала (имп./оборот)

(Удостоверьтесь, что учтены отношения зубчатых колес, если приводится в движение

3. Проверьте определенное пользователем значение в окне настройки контроллера для

4. Может потребоваться регулировка значения CFR.

Проблема: Норма внесения изменяется на дисплее, но не на пульте управления.

1. Проверьте, что текущая микропрограмма работает на дисплее и в модуле нормы

2. Проверьте конкретные настройки вашего пульта управления. (Для получения

3. Проверьте кабельную проводку и все соединения.
4. Отсоедините подключение через последовательный порт и определите, работает ли

контроллер должным образом без дисплея.

Проблема: Норма внесения на дисплее и последовательно регулируемая норма не

совпадают
Решение:

1. Проверьте, что работает текущая микропрограмма на дисплее и в модуле нормы

Х импульсы датчика внесения = настоящие импульсы

Оиск, Устранение, Неисправностей

Настройки удобрения по умолчанию, Астройки, Удобрения

версия программы 5.2

2. Проверьте, что номинальная норма внесения в дисплее совпадает с номинальной

нормой внесения в последовательном пульте управления.

Процентное соотношение (в единицах

Настройки удобрения по умолчанию, Астройки, Удобрения

Мониторинг урожайности/картографиров ание, Подготовка дисплея, Технический осмотр транспортного средства

Создание конфигурации, Настройка конфигурации, Последовательность калибровки, Уборка, Мониторинг урожайности/картографирование, Онитори

• Создайте резервную копию своей информации о весенних работах. Перейдите в меню

• Убедитесь, что ПО дисплея и все подключенные модули обновлены.
• Если вы приобрели новый комбайн или новые жатки, создайте новые конфигурации для любых

настроек, отличающихся от прошлой осени. Удалите все старые конфигурации.

• Проверьте, чтобы убедиться в правильности подключения всех проводов и их хорошем состоянии.
• Снимите датчик потока и проверьте на наличие повреждений.
• Проверьте дефлектор элеватора и ударную планку на износ. Убедитесь в надлежащем зазоре в

верхней части элеватора очищенного зерна. Зазор должен составлять от 3/8” до 5/8” (0,95 см –
1,59 см).

Мастер проведет вас по процессу выбора или создания конфигурации, содержащей настройки
комбайна, жатки и культур.

Примечание. Для создания или правки конкретных ТС и навесного оборудования используйте кнопку
Управление оборудованием.

Проведите калибровку урожая в следующем порядке:

Мониторинг урожайности/картографиров ание, Подготовка дисплея, Технический осмотр транспортного средства

Калибровать расстояние, Калибровать датчик жатки, Алибровать

версия программы 5.2

1. Калибровка расстояния (датчика скорости)

Калибрует датчик скорости хода, подключенный к дисплею (проведите калибровку резервного
датчика, даже в случае использования скорости GPS в качестве основного датчика скорости). Для
получения дополнительной информации см.

2. Калибровать датчик хедера

Задает высоту, когда дисплей перестает регистрировать площадь при поднятии жатки в конце
прохода. Калибровка высоты требуется для каждого типа зерновых.

3. Ввод смещения жатки

В комбайнах со смещенными жатками это позволяет компенсировать расстояние между
центром транспортного средства и центром полосы жатки.

4. Выполните калибровку вибрации

Калибровка вибрации используется для компенсации усилия, измеренного датчиком расхода при
отсутствии потока зерна. Для получения дополнительной информации см.

5. Калибровка температуры

Устанавливает колебания температуры для обеспечения правильности показаний влажности. Для
получения дополнительной информации см.

6. Калибровка влажности

Задает колебания влажности для получения правильных показаний влажности и урожайности. Для
получения дополнительной информации см.

7. Калибровка веса зерновых

Правильная калибровка веса зерновых обеспечивает точные показания во всех диапазонах расхода
зерновых. Калибровку необходимо проводить ежегодно для каждого типа зерновых. Для получения
дополнительной информации см.

Если для замера скорости хода не используется GPS, то после создания конфигурации
необходимо откалибровать данные скорости хода с целью получения точных значений скорости и
площади. При использовании GPS рекомендуется проводить калибровку расстояния в случае
потери сигнала GPS. Для калибровки расстояния воспользуйтесь следующей процедурой:

Следуйте указаниям, появляющимся на экране.

Калибровать датчик жатки

Перед регистрацией данных по уборке урожая нужно откалибровать датчик жатки. Для
продолжения процедуры калибровки зерновые культуры в системе должны быть настроены.

Калибровать расстояние, Калибровать датчик жатки, Алибровать

Ввод смещения жатки, Калибровка вибрации, Калибровка вибрации» на

Следуйте указаниям, появляющимся на экране.

Ввод смещения жатки

Если жатка транспортного средства установлена со смещением от центра транспортного
средства, это может повлиять на точность приема данных GPS. Ввод смещения жатки позволяет
компенсировать расстояние между центром транспортного средства и центром полосы жатки.

1. Измерьте расстояние
Сначала измерьте расстояние между антенной GPS (2) и центром
полосы жатки (1).

• (А) Центр транспортного средства
• (В) Центр полосы захвата
• (С) Антенна GPS

2. Введите значение расстояния

Из раскрывающегося меню выберите расстояние влево или вправо.

По окончании нажмите

Калибровку вибрации необходимо выполнить при установленной на комбайне нужной жатки, и
повторить для каждой убираемой культуры.

Ввод смещения жатки, Калибровка вибрации, Калибровка вибрации" на

Калибровка температуры, Калибровка температуры» на странице 272, Алибровка

версия программы 5.2

Примечание. На это имеется подсказка в домашнем окне при первом уборке урожая культуры.

1. Запустить сепаратор

Запустите разделитель и корпус подающего механизма с установленной надлежащей жаткой.
Включите полные обороты.

ВНИМАНИЕ! Не убирайте культуру во время процесса калибровки вибрации.

3. Отображается значение калибровки

Калибровку температуры нужно выполнить один раз за сезон. Изменение этой калибровки
повлияет на собранные данные об уборке урожая после калибровки.

ВНИМАНИЕ! Проводите калибровку температуры только перед началом уборки урожая.

1. Поместите комбайн в тенистое место

Оставьте комбайн в затененном месте или под навесом на несколько часов. Калибровку
температуры не следует выполнять, если датчик находился под воздействием прямых солнечных
лучей или размещен рядом с зерновыми.

2. Получение показаний температуры воздуха

Снимите точные показания температуры воздуха, используя термометр в том же самом затененном
месте.

Калибровка температуры, Калибровка температуры" на странице 272, Алибровка

Калибровка влажности, Настройка влажности вручную, Калибровка веса зерновых

Калибровка влажности» на странице 273, Калибровка веса зерновых» на странице 273, Алибровка, Влажности, Веса, Зерновых

3. Укажите температура окружающего воздуха.

для ввода известной температуры окружающего воздуха. Выполняйте

надлежащую регулировку до тех пор, пока значение откалиброванной температуры в верхней части
окна, не будет отражать точную температуру воздуха.

По окончании нажмите

Калибровку влажности требуется выполнить для каждой культуры только один раз за сезон.
Изменение этой калибровки повлияет на собранные данные об уборке урожая после калибровки.

1. Измерьте влажность в пробах зерновых

Возьмите пробы зерновых наугад с активного участка, затем замерьте уровень влажности с
использованием точного гигрометра.

2. Отрегулируйте значение влажности

для регулировки значения влажности,

чтобы оно совпадало с известным значением влажности пробы.

По окончании нажмите

Настройка влажности вручную

для регулировки нужного значения влажности вручную.

3. По окончании нажмите

Перед тем, как дисплей сможет точно измерить урожайность, следует откалибровать дисплей
посредством ввода значений фактического веса груза в дисплей для каждого вида зерновых. Вы
должны получить эти значения фактического веса груза при помощи взвешивания партии груза
зерна на точных весах. Для получения точных результатов следует получить от четырех до

Калибровка влажности, Настройка влажности вручную, Калибровка веса зерновых

шести калибровочных значений веса. Можно выполнить калибров.

версия программы 5.2

шести калибровочных значений веса. Можно выполнить калибровку веса в любое время в
течение сезона, однако, рекомендуется откалибровать вес зерновых в начале сезона.

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

1. Начните новую калибровку

2. Предупреждение о калибровочном грузе

Прочтите предупреждение, по окончании нажмите

3. Калибровочный груз урожая

Уборка груза — идеальный вес груза в пределах 3000 — 6000 фунтов (от 1361 до 2721 килограммов).

4. Закончить груз

5. Предупреждение о калибровочном грузе

Прочтите предупреждение, по окончании нажмите

6. Имя груза

Дисплей присвоит грузу имя по умолчанию в виде времени и даты. Используйте

изменения имени груза.

7. Опорожните бак для зерновых и взвесьте груз

Полностью опорожните бункер для зерна в грузовик или фургон и взвесьте его на точных весах.
Запишите вес каждого отдельного груза для ввода в дисплей. (Зерно из какого-либо другого
комбайна не должно выгружаться в это перевозящее транспортное средство.)

8. Взвесьте и зарегистрируйте вес груза

Взвесьте зерно на перевозящем транспортном средстве и зарегистрируйте фактический вес груза

• При использовании автофургона для взвешивания зерна, удостоверьтесь, что автофургон был

откалиброван должным образом.

• Во время калибровки используйте только одни весы.
• Для всех калибровочных грузов используйте одно и то же транспортное средство.
• Не используйте сочлененный грузовик, поскольку емкость транспортного средства будет слишком

большой для калибровочного груза.

шести калибровочных значений веса. Можно выполнить калибров.

Включить/выключить автоматическую калибровку, Настройки чувствительности autoswath, Ключить

Выключить, Автоматическую, Калибровку, Астройки, Чувствительности, Wath

Любой отмеченный груз автоматически
включается в калибровку.

Функция AutoSwath регулирует ширину полосы захвата при пересечении границ полей и уже
убранных площадей. В дисплее изменяется ширина убираемых полос захвата, даже если не
происходит никаких механических изменений. Функция AutoSwath полезна при уборке урожая в
углах рядов и других местах, где уборка в полную ширину жатки невозможна.

При выполнении уборки урожая функция AutoSwath включает уровни чувствительности, которые
компенсируют изменяющиеся уровни точности GPS.

Если регулировка полос захвата выполняется неточно, соответственно отрегулируйте
чувствительность. Чувствительность 3 является значением по умолчанию. Другие настройки:

• Чувствительность 5
Используется с RTK или с субметрической DGPS (дифференциальная глобальная спутниковая
система определения местоположения), GPS с компенсацией рельефа.

Контроль доступа

Первое знакомство

Недавно обратился клиент с просьбой установить ему СКУД со считывателями, работающими по технологии BLE и NFC. И сам же клиент нашёл такой считыватель R15-Multi у RusGuard, поскольку первоначально предложенный мной считыватель SIGUR MR1 BLE был заметно дороже. К тому же софт у SIGUR стоит денег, а у RusGuard предоставляется бесплатно.

Установка

На объекте пришлось устанавливать на Windows Server 2019. В принципе всё прошло гладко, кроме того, что сначала пытался запускать инсталлятор из папки с Рабочего стола, но из-за длинных путей SQL Server устанавливаться не хотел. Опять же, без объяснения причин. По совету тех.поддержки попробовал установить его отдельно и только тогда увидел причину ошибки установки.

Проблемы с NFC и BLE

Проблемы эти проявились в процессе настройки, но чтобы не отвлекаться от темы настройки в следующей части, расскажу про них сразу. Так вот, оказалось, что несмотря на информацию в описании считывателя R15-Multi, приложения под iOS нет в принципе. Оно, как-бы в разработке, но сроки выхода неизвестны. Из этого следует то, что технология BLE для iPhone пока недоступна. Использовать можно только NFC, но, поскольку прямой доступ к чипу NFC в iOS закрыт, то приходится делать это через ApplePay, используя в качестве идентификатора ID какой-нибудь банковской карты. Это несколько смущает пользователей. т.к. при поднесении смартфона к считывателю они видят тот же интерфейс, что и при оплате через терминал на кассе. Многие опасаются, а не снимут ли у них со счёта деньги.

Настройка

На вкладке Дверь 1 и Дверь 2 нужно поменять протокол считывателя на RBus, чтобы настраивать его параметры из ПО.

Теперь нужно в настройках контроллера добавить эти профили в список, причём в правильной последовательности: идентификатор, приложение, платёжная система. В нашем случае: Key, App, Pay. Далее, на вкладке RBus нужно сменить режим аутентификации на вариант Настройки профиля и там же ниже выбрать Разрешённые типы карт.

Опытная эксплуатация

Ждём комментариев, замечаний и т.д. в этой теме.

Новые функции
Добавлена возможность управлять отключением и включением контроля состояния для охранно-пожарных объектов (вход, выход, раздел, прибор). С отключенного объекта блокируются все события. События не заносятся в журнал событий и не изменяют состояния объекта. Кроме того, после отключения сбрасываются все предыдущие состояния, и объект переводится в одно единственное состояние «Отключен».
К событиям системы возможно добавлять комментарии.
Осуществлена поддержка GSM модема в АРМ «Орион Про».
Через модем Cinterion MC52i можно ретранслировать события от АРМ «Орион Про» на приборы УО-4СС2000-ИТС2000-PGE и на АРМ «Эгида-3».
Также возможно получать события от удаленных объектов с приборов УО-4СС2000-ИТС2000-PGE и АРМ «Эгида-3»
Возможно управление взятием/снятием удалённых объектов со стороны АРМ «Орион Про» через приборы УО-4СС2000-PGE и АРМ «Эгида-3».
Новые возможности функционала регистрации и учёта посетителей:
автоматическая установка даты и времени текущим днем при восстановлении из архива и при установки правила «Срок действия ключа ограничить визитом»;
функция сохранения по умолчанию правил прохода при добавлении посетителя;
возможность автоматического удаления посетителя при истечении времени хранения в базе данных;
доработан шаблон пропуска, добавлены поля для посетителя.

Исправления и доработки
Орион Видео
Исправлена ошибка распознавания видеодрайвером лицензии во временном ключе.
Добавлена функция цифрового увеличения видеокадра (масштабирование).
Монитор системы
Актуализирована локализация Монитора и Компонента отображения пеналов.
Администратор базы данных
«Обезличенные» переименованы в «Шаблоны посетителей».
Исправлена ошибка, возникавшая при редактировании уровня доступа: если в уровне доступа несколько дверей, в прибор заносилась только одна дверь.
Исправлена ошибка удаления пенала из уровня доступа. Ранее удалялись все объекты, кроме самого пенала.
Исправлена ошибка, из-за которой при сохранённых настройках доступа при попытке добавления шаблона возникала ошибка «Не задан шаблон».
Исправлена возможность редактирования комментария к шаблону посетителя.
Исправлена ошибка при сохранении сотрудников: «Неправильный синтаксис около конструкции «)»».
Исправлено некорректное отображение информации о сотрудниках при смене фильтров подразделений.
Исправлены ошибки, связанные с невозможностью редактирования некоторых полей с информацией.
Исправлена ошибка при перемещении по скроллингу в выпадающих списках.
Исправлены ошибки, возникавшие при редактировании шаблонов посетителей и посетителей (при выставлении срока визита не менялся срок действия ключей; при удалении посетителя из базы, пароли не списывались шаблону).
Исправлена ошибка, возникающая при редактировании шаблонов посетителей, если были сохранены параметры по умолчанию для ускорения ввода данных.
Исправлена ошибка, при которой при контроле уникальности табельного номера нельзя было добавить посетителя и шаблон посетителя.
Исправлена ошибка перехода на страницы «Пароли» по кнопке «Перейти» на вкладке «Шаблоны посетителей» при запрете показа этой страницы.
Исправлена ошибка профилей отображения при переходе на страницу «Уровни доступа» и обратно на страницу «Сотрудники» (настройки профиля слетали и отображались все поля).
Исправлена ошибка невозможности распознавания документов.
Исправлена ошибка при добавлении нового посетителя. Если был осуществлён переход по правой кнопке мыши на существующего посетителя с таким же ФИО, посетитель дублировался.
Доработано заполнение списка выбора шаблонов посетителей. В список добавляются только те шаблоны, которым задан идентификатор.
Доработана возможность добавления полей в нестандартный пропуск. Реализована возможность добавления полей из двух наборов данных: сотрудники, посетители и гости. А также поля «оператор» (тот, кто печатал пропуск). Появилась возможность добавлять любое количество полей с фотографией.
Доработана возможность при восстановлении посетителя из архива в сроке визита проставлять текущую дату (в АБД настройка «Выставлять текущую дату при восстановлении из архива»). Работает для посетителей с установленной галкой «Срок действия ключа ограничить визитом».
Доработана функция сохранения времени выхода для визита посетителя (работает при сохранении настроек из контекстного меню при редактировании посетителя).
Доработана фильтрация сотрудников. Фильтрация начинается не сразу после нажатия на какую-либо клавишу, а по таймауту 500 мс, что ускоряет фильтрацию при больших количествах сотрудников.
Доработана фильтрация паролей. Фильтрация начинается по таймеру через 500 мс после окончания ввода текста. Исправлен поиск по коду ключа.
Доработан экспорт БД в ПКУ С2000. Исправлен экспорт групп разделов.
Актуализирована локализация АБД, касающаяся ключниц и пеналов.
Ядро опроса
Исправлена ошибка синхронизации окон времени при их удалении из базы. Синхронизация происходила только после перезагрузки базы данных.
Исправлена ошибка, при которой ядро «не видело» изменений срока действия ключа, если изменения коснулись только времени.
Исправлена ошибка запроса состояний зон при обнаружении устройств после потери по протоколу «Орион Про» (ранее зоны так и оставались в потерянном состоянии).
Исправлена ошибка восстановления связи с приборами по протоколу «Орион Про». Ранее связь могла не восстанавливаться, если события об обнаружении устройств приходили как «старые».
Исправлена ошибка перезаписи ключей. При количестве ключей свыше 150 не все ключи перезаписывались.
Исправлена ошибка передачи ContactID на УО-4С при передаче события взятия/снятия для раздела по протоколу Орион Про.
Исправлена ошибка при чтении ключа на позициях, кратных 256. Ключ не прочитывался, что в итоге приводило к «мнимым» лишним ключам в приборах и появлению дубликатов.
Исправлены ошибки связанные с приоритетностью событий («Потеря контакта» была ниже приоритетом для раздела, чем «Взлом корпуса»).
Исправлена ошибка, связанная с затиранием памяти. Возникала в случае, если максимальный номер порта превышает количество портов в системе. Чаще всего затиралась переменная, отвечающая за посылку квитанции. Проявлялось как остановка обменов по порту, причем не по тому порту, по которому шло управление.
Исправлена ошибка, при которой ядро опроса работает в демонстрационном режиме при настройке в режиме видеосервера.
Badriver
Исправлена ошибка обновления ключей и отпечатков в био-контроллерах (идентификаторы записывались всего один раз).
Доработана возможность переподключения при инициализации контроллеров.
Доработана возможность передачи событий после обрыва связи.
Учёт рабочего времени
Исправлены ошибки пропадания некоторых элементов интерфейса.
Исправлена ошибка при исключении отчёта «О сотруднике (подробно)» праздничных и выходных
Исправлена ошибка записи в файл автогенерации.
Исправлена ошибка порядка столбцов при экспорте.
Доработана возможность автогенерации отчётов по фирмам.
Исправлена ошибка дублирования списка подразделений при выборе «Всех фирм».
Исправлена ошибка при выборе из сформированного отчета сотрудника. Если у сотрудников пробел в фамилии, то он помещался выше, чем все сотрудники.
Исправлена ошибка исключения праздничных и выходных дней из «Отчета о сотруднике (подробно)» (дни не исключались).
Исправлена ошибка » Invalid pointer operation» при формировании отчета «О сотруднике подробно (общий)».
Электронные сейфы (ключницы)
Исправлена ошибка отображения пеналов и секций в списке добавленияудаления пеналов на вкладке «Уровни доступа», если секций у ключницы больше, чем 1.
Исправлена ошибка, не позволяющая корректно определить ключницы, работающие по Ethernet.
Исправлена ошибка при работе с ключницами по Ethernet. Неверно определялись номера пеналов, если секций больше, чем 1.
Ошибка отображения сетевого адреса ключниц в отчёте о прошедших событиях.
Исправлена ошибка, возникавшая при разрыве соединения с ключницей, работающей по Ethernet, соединение с прибором не восстанавливалось повторно через 5 минут.
Исправлена ошибка запуска драйвера ключниц. Драйвер ключниц не запускается при старте, так как объекты ключницы не загружаются из-за смены механизма чтения данных о лицензировании ключниц из ключа защиты ОЗ. Информация о лицензии появляется позже, чем загружаются объекты ключниц.

Многие пользователи ноутбуков при открытии диспетчера устройств обнаруживают некорректную работу видеоадаптера, об этом говорит желтый треугольник с восклицательным знаком внутри. В данной статье рассмотрим конкретную ошибку:

Это устройство работает неправильно, т.к. Windows не удается загрузить для него нужные драйверы. (Код 31)

Запускаемый драйвер не совпадает с драйвером видеоадаптера, прошедшего проверку POST.

Запускаемый драйвер не совпадает с драйвером видеоадаптера, прошедшего проверку POST.

При этом установка драйверов не решает проблему. Ошибка возникает из-за одной из четырех причин:

  • Отвал видеочипа. Пожалуй, самая распространенная причина. Решается заменой видеочипа, такие работы проводят только в сервисных центрах.
  • В вашей модели ноутбука установлена родная плата определенной модели с конкретной видеокартой (видеочипом). BIOS был прошит через программатор не родной прошивкой, то есть версия прошивки выпускалась производителем для другой модели, у которого, возможно, материнская плата идентичная, но отличается видеочип.
  • В вашем ноутбуке заменили материнскую плату на аналогичную, возможно с той же ревизией, но с отличающейся видеокартой. По умолчанию все должно работать как часы, пока в какой-то момент не прошили биос через программатор. Дело в том, что специалисты скачивают версию BIOS с официального сайта разработчика ориентируясь на модель ноутбука, но так как плата внутри не родная, соответственно и прошивка от модели ноутбука не подходит данной плате для корректной работы.
  • На вашей плате в свое время вышла из строя видеокарта, вам заменили видеочип, но он отличается от родного. Чаще всего это происходит из-за перемаркировки (часто практикуется в Китае), то есть на кристалле указана модель вашего чипа, но на самом деле чип другой, а маркировка на кристалле просто нанесена лазерной гравировкой. Обычно такие чипы взаимозаменяемые, но, к сожалению, это проходит не на всех платах. Решение: заменить на родной видеочип или вручну редактировать id чипа в микропрограмме BIOS.

Обычное обновление биос через интерфейс микропрограммы или утилиту не приводит к данной проблеме, это происходит только после работы с программатором. Вернуть родную версию биос после таких манипуляций обычными средствами (через BIOS или утилиту) не возможно.

Лучшее «Спасибо» — ваш репост

Вячеслав. Специалист по ремонту ноутбуков и компьютеров, настройке сетей и оргтехники, установке программного обеспечения и его наладке. Опыт работы в профессиональной сфере 9 лет.

Вам также может понравиться

Видеокарта

Как разогнать видеокарту через MSI Afterburner

Сжатие изображений без потери качества

Сжатие изображений без потери качества

Как сделать скриншот на компьютере

Как сделать скриншот на компьютере

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также:

  • Project bones fl studio что это
  • Как установить дискорд на компьютер
  • Как сделать пояснительную записку в ворде
  • Проверить сертификат 1с эдо
  • Как удалить адрес почты из памяти mail

12 типичных ошибок при бэкапе баз данных


Изначально эта статья задумывалась только для разработчиков и администраторов СУБД Firebird, но после общения с администраторами других БД выяснилось, что большинство ошибок общие, и на очень похожие грабли наступают буквально все. Если Вы можете что-то добавить к этому списку (пусть даже специфическое для конкретной СУБД), пишите в личную почту или в комментариях.
In English: 12 Common Mistakes while Backing Up Databases

Наша компания занимается инструментами восстановления, резервного копирования, оптимизации и поддержкой СУБД (в основном Firebird, но есть и MSSQL, PostgreSQL, InterBase и др.) и, как результат многочисленных аудитов и ремонтов, накопила коллекцию ошибок, связанных с резервным копированием. Все пункты ниже изложены по мотивам реальных случаев с повреждением баз, потерей и повреждением бэкапов, дисков, сбоями серверов, и прочих «радостей» администраторов БД.

Хотелось бы о них рассказать, чтобы администраторы и разработчики могли поменять свои подходы к управлению бэкапами и предупредить возможные проблемы.

Итак, приступим.

1. Удаление предыдущей копии бэкапа до того, как будет создана новая копия бэкапа
Чаще всего эту ошибку совершают новички, которые не понимают, что основная цель существования резервной копии БД – обеспечить минимальный простой информационной системы (важной частью которой является БД), а не просто создание копии БД.
В результате, с момента удаления последнего бэкапа до создания нового, система находится в незащищенном состоянии, потому что в этот период у базы данных нет ни одной резервной копии. Так как бэкап может создаваться достаточно долго, то это идеальное время для срабатывания закона Мерфи. Особенно хорошо этот подход работает в связке с пунктом 7 (см. ниже).
Рекомендация: не удаляйте предыдущий бэкап до того момента, как создан новый! (и не делайте новый бэкап в уже существующий файл)

2. Перезапись существующей базы данных при восстановлении из бэкапа
Эту ошибку совершают реже, но вот результаты могут быть гораздо печальнее. Если бэкап не проверялся и был поврежден (см. пункт 6), то в результате перезаписи у вас не будет ни предыдущей копии базы, ни валидного бэкапа.
Обычно это безобразие случается в пятницу вечером, в момент дерготни, неразберихи и противоречивых указаний со стороны начальства. Немного отрицательного везения и томные выходные в серверной обеспечены.
У Firebird есть некая защита от этой ошибки – создание рестора из бэкапа с помощью утилиты gbak с дефолтным ключом –create не сработает в случае, если указанное имя файла указывает на существующую БД. К сожалению, есть и обход этой защиты – переключатель –rep, который позволяет-таки переписать существующий файл.
Рекомендации: никогда не перезаписывайте файл боевой БД, не получив письменного указания руководства и, желательно, не получив предложения о новой работе.

3. Использование одношагового бэкапа-рестора, без создания промежуточного файла бэкапа
Стандартные потоки ввода-вывода позволяют провернуть с многими СУБД (с Firebird в том числе) интересный трюк: выполнять потоковый бэкап с немедленным восстановлением БД из него. В результате не создается промежуточный файл бэкапа. Это удобно для проведения регламентных работ и запуска проверочного восстановления (при наличии другой резервной копии), но ни в коем случае не надо использовать это для автоматического бэкапа!
Если в процессе такого бэкап-рестора произойдет серьёзный сбой диска, например, то может повредиться исходная база данных, а новая еще не будет создана. Конечно, если п.1 соблюдается, и есть копия БД от предыдущей попытки, то произойдет только потеря данных, которые были созданы или изменены в БД с момента создания ее копии.
Рекомендации: не используйте одношаговый бэкап-рестор в автоматическом режиме, а в ручном всегда проверяйте наличие достаточно свежей копии.

4. Хранение бэкапа и базы данных на одном и том же физическом устройстве
Тут многие могут посмеяться, что советы мы какие-то детские даем – это же азбука системного администрирования. Так-то оно так, но в связи с распространением виртуальных сред и БД, и диск могут находиться на одной СХД. А она обязательно сломается в самый неподходящий для бизнеса момент. Плюс, все еще существуют люди, которые верят в то, что если они используют RAID (от 1 и выше), то с их данными вообще ничего не может случиться. Еще есть люди, которые верят в сверхнадежность «брендового» железа, но это особый случай.
Рекомендации: не храните бэкап и БД на одном и том же физическом устройстве, каким бы надежным оно не казалась.

5. Отсутствие проверки успешного окончания бэкапа
Вот это довольно частая ошибка и администраторов, и руководителей ИТ подразделений. Если результат бэкапа не проверять, то можно бэкап не делать вообще — результат в общем тот же. Обязательно нужны нотификации по email об успешном бэкапе, а еще лучше и по СМС. Причем, отсутствие нотификации это признак проблемы!
А причем тут руководители, спросит внимательный читатель, дочитавший до этого места? А притом, что администратор обычно бэкап настроит, но вот нотификации ему проверять лень, тем более что лежат они у него в отдельной папочке, и поэтому руководителю ИТ-отдела надо периодически запрашивать дополнительный отчет о состоянии всех бэкапов. Это к вопросу, кого наказывать, если бэкапы вроде есть, но в нужный момент их не оказалось 🙂
! А при комбинировании с пунктом 2 получаем отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты автоматизации бэкапов, которые умеют отслеживать успешные и неуспешные бэкапы, сообщать пользователям о проблемах, и имеют обзорные средства контроля (особенно актуально, когда нужно контролировать десятки и сотни бэкапов на разных серверах).

6. Отсутствие валидации бэкапов
То, что бэкапы куда-то кладутся, не означает, что они оттуда могут быть прочитаны.
Поэтому обязательна периодическая верификация создаваемых бэкапов, чтобы быть уверенным, что создаваемые бэкапы не повреждены, не были скопированы в /dev/null
Рекомендации: никому не доверять, даже себе. Всех надо проверять.

7. Отсутствие health check базы данных при использовании неверифицированных бэкапов
Обычно СУБД имеют несколько видов бэкапа – дампы, просто бэкапы и т.д. Не вдаваясь в конкретику, можно выделить 2 категории – верифицированные и неверифицированные бэкапы. У Firebird это gbak и nbackup.
Gbak читает всю БД на уровне записей для создания файла бэкапа, и создает БД путем вставки записей в новую БД, и таким образом верифицирует и бэкап (есть варианты, как ошибки могут просочиться в отресторенную копию, но это уже другой вид факапа администратора БД, связанный с неверной миграцией), и саму базы данных (если она может быть прочитана от начала до конца, то с большой долей вероятности она не повреждена).
Nbackup (он же инкрементальный бэкап) – временно блокирует основной файл БД на запись (в консистентном состоянии), и позволяет быстро скопировать файл базы данных (полностью или частично/инкрементально).
Для больших БД Firebird (более 500Гб), предпочтительно делать nbackup, чтобы не тормозить работу пользователей, но при этом нужно проверять БД, ведь созданные неверифицированные бэкапы – это страничные копии БД, и если ошибка гнездится на уровне записей (такое случается из-за сбоя RAM) или на логическом уровне, то неверифицированный бэкап будет ее содержать так же, как и оригинальная БД.
Для этого нужно использовать онлайн-валидацию исходной базы данных (в Firebird начиная с версии 2.5.4 доступна онлайн-валидация при помощи gfix, а наш инструмент FBDataGuard поддерживает онлайн-проверку БД для версий 1.5-2.5).
Также, в дополнение к неверифицированному бэкапу желательно периодически (раз в неделю, например) делать верифицированный бэкап.
Для других СУБД необходимо использовать соответствующие средства и комбинации проверок.

8. Отсутствие контроля за свободным местом для бэкапа
В общем-то, это классическая ошибка — при недостатке места бэкап занимает все свободное место и аварийно завершается. При размещении бэкапа на одном диске вместе с БД может привести к остановке работы с БД, при размещении на системном диске – к поломке системы.
В комбинации с пунктом 4 в лучшем случае получим остановку работы системы, потому что базе данных тоже нужно свободное место, а оно кончилось из-за бэкапа.
А в комбинации с пунктами 5 и 2 опять получаем в результате отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты для бэкапа, которые делают прогноз размера бэкапа и предупреждают о возможной нехватке места.

9. Отсутствие контроля времени продолжительности бэкапа
Буквально полгода назад бэкап длился 40 минут, и вдруг стал 3 часа – почему? Возможно, вырос размер БД, а может быть, выпал диск из RAID-массива, отчего скорость записи резко деградировала, и все ваши бэкапы вот-вот покинут этот бренный мир. А может быть, добрый коллега одновременно включил еще одну систему резервного копирования (кстати, в Firebird можно запустить несколько бэкапов сразу, только не очень понятно, зачем это может быть нужно).
Если не контролировать время исполнения бэкапа, то можно проглядеть возникшую проблему и упустить шанс исправить ее до того, как она станет большой.
Также, в случае, если система резервного копирования не отслеживает состояния заданий, а запускает их просто по графику, легко можно попасть на «утренний троллейбус» — это когда новый бэкап может начаться в момент, пока предыдущий еще не закончился.
Рекомендации: использовать средства контроля продолжительности процесса бэкапа.

10. Исполнение бэкапа БД во время применения апдейтов ОС
Очень частая проблема, особенно в комбинации с п.9 и включенными автоматическими апдейтами Windows (которые по умолчанию происходят в 3 ночи). В лучшем случае приводит к замедлению процесса, а если ОС перегружается для применения апдейтов, то бэкап будет испорчен. Хорошо еще, что апдейты ОС не каждый день случаются.
Рекомендации: Если нельзя отключить, то назначьте апдейты ОС на такое время, когда они не смогут помешать бэкапам.

11. Бэкап базы данных средствами файлового бэкапа или средствами бэкапа виртуальной машины целиком, при включенном сервере БД
Многие администраторы забывают о том факте, что любая СУБД имеет активный и сложный кэш, в котором содержатся читаемые и записываемые данные, а сами файлы БД открываются в режиме случайного доступа.
Именно поэтому необходимо использовать специальные виды бэкапа, а не простой файловый бэкап (включая простое копирование файлов БД) или бэкап виртуальной машины. Файловые средства бэкапа читают БД последовательно и, особенно для больших БД, могут идти продолжительное время, поэтому нельзя гарантировать целостность созданной копии.
Для желающих осуществлять бэкап БД с помощью файловых средств или средств бэкапа виртуальных машин можно предложить 2 способа:

  1. полностью выключать сервисы и процессы СУБД, чтобы ничего не находилось в кэше,
  2. использовать агенты и/или скрипты, переводящие базы данных в специальный режим, когда копирование файла БД последовательным образом является безопасным.

Для Firebird необходимо блокировать основной файл БД с помощью nbackup до начала резервного копирования и разблокировать после окончания, для других СУБД есть аналогичные средства включения/выключение соответствующих режимов.

Кое-кто из администраторов БД убежден, что если в СУБД есть лог транзакций, то такую БД можно безопасно бэкапить стандартными файловыми средствами, в крайнем случае будет повреждение только этого лога. Это опасное заблуждение, которое не поддерживается производителями СУБД.

Корни этого заблуждения понятны: агрессивная реклама от производителей виртуальных машин и от производителей средств бэкапа обычно умалчивает о том, что для БД и других активно изменяемых файлов необходимы дополнительные настройки. Не доверяйте рекламе — не все йогурты одинаково полезны.
Рекомендации: не используйте файловые средства бэкапа и средства бэкапа VM без соответствующих средств автоматизации.

12. Подмена бэкапа репликацией
Бэкап и репликация данных служат повышению надежности и предотвращению потери данных, но все же существенно отличаются.
Все любят репликацию за способность синхронизировать данные на другом сервере с минимальном задержкой, однако и у бэкапа есть ряд неоспоримых преимуществ. Например, в случае случайного (или намеренного) удаления данных репликация быстро и невозмутимо оттранслирует изменения на реплику, а бэкап, особенно на read-only носителе, к таким операциям невосприимчив. Настроить правильную репликацию, как и правильный бэкап, стоит определенных усилий, и вероятность ошибок там также существует.
Рекомендации: Если у вас настроена репликация, не пренебрегайте бэкапами, используйте их совместно.

Выводы
Правильно организовать резервное копирование для вашей любимой СУБД не так-то и просто, поэтому обычно администраторы БД из организаций, где ценят данные, обычно используют профессиональные инструменты для бэкапов, которые позволяют учесть и предотвратить описанные выше ошибки. Для Firebird (уж простите за рекламу) есть наш FBDataGuard, для других СУБД можно использовать DBArtisan или другие средства.

Ну, и конечно – не забывайте холить и лелеять свою админскую паранойю, например, возьмите и проверьте свои бэкапы… вот прямо сейчас!

Господа, просьба откликнуться в личку тех, кто использует CBT на VMWare для ВМ с БД.

Как исправить ошибки MS SQL и восстановить базу данных

Приглашаем разобраться в важных темах – устранения ошибок MS SQL и восстановления базы данных. Получите представление о разных способах устранения проблемы, которые следует использовать при различных обстоятельствах.

Восстановление баз данных

Специалисты пользуются несколькими способами восстановления баз данных (БД). Наиболее простой и удобный ­– воспользоваться программой (SSMS) SQL Server Management Studio.

Как восстановить

Узнать, где находится SQL Server Management Studio, довольно легко. Microsoft Windows Server 2012 R2 располагается в стандартном перечне программных продуктов. В Microsoft Windows Server 2008 R2 следует зайти в меню Пуск и отыскать Microsoft Windows Server 2012. Там смотреть Microsoft SQL Server Management Studio.

Далее следует ввести тип сервера с именем, а чтобы подтвердить подлинность – информацию, требуемую для прохождения авторизации. Нажать Соединить (Connect).

В левом углу из обозревателя (Object Explorer) раскрыть Базы данных (Server Objects). Из представленного перечня отобрать базу, подлежащую восстановлению либо ту, данные которой будут восстанавливаться. На выбранном файле кликнуть мышкой и в выпавшем перечне выбрать Задачи (Tasks), затем Восстановить (Restore), потом База данных… (Databases …).

Проделанные шаги дадут старт процессу Restore Database, а значит требуемая база данных начнет восстанавливаться. Следует сделать выбор источника для Restore Database.

Чтобы возобновить базу данных, при запуске мастер восстановления сделает попытку автоматом определить очередность файлов резервных копий. В том случае, когда базу данных нужно загружать из определенной папки либо устройства, понадобится:

  1. Переключить соответствующую кнопку на Устройство (From device).
  2. Прописать, откуда восстановится БД.
  3. Выбрать инфобазу, в которую произведется загрузка данных (Destination for restore). Ею может выступать любая БД, которая регистрировалась на SQL Server (в том числе и база, с которой создавалась резервная копия).

В программе реализована возможность указания времени, необходимого для восстановления БД. Для этого необходимо просто кликнуть по кнопке Временная шкала… (Timeline). Если существует скопированный журнал транзакций или checkpoint в нем, то требуемый промежуток времени может быть указан с высокой точностью (вплоть до секунды).

Если требуется провести копирование БД, то во вкладке Файлы (Files) нужно будет прописать путь к файлам выбранной инфобазы.

Настройка дополнительных параметров

Также в программе реализована возможность настройки дополнительных параметров. Выставляя тот или иной флажок, можно регулировать необходимые действия. Следует выбрать соответствующий флажок, чтобы в процессе восстановления БД:

  • Которая опубликована не на сервере, где она создавалась, сохранились настройки репликации, поможет отметка «Сохранить параметры репликации). Он важен, если при резервном копировании была реплицирована БД;
  • была проведена перезапись файлов БД с именем, которое указывалось в качестве базы назначения – нужно поставить отметку «Перезаписать существующую базу данных»;
  • сузить доступность к базе всем, кто не sysadmin, db_owner, dbcreator – нужно поставить флажок «Ограничение доступа к восстановленной базе данных»;
  • старту должен предшествовать перевод БД в режим одного пользователя, а по его завершению вернуть в пользование для множества пользователей – поставить отметку «Закрыть существующие соединения»;
  • чтобы провести требуемое резервное копирование завершающего фрагмента журнала транзакций, следует поставить отметку «Создание резервной копии заключительного фрагмента журнала перед восстановлением». Если в окошке Временная шкала резервного копирования (Backup Timeline) для временной точки требуется эта резервная копия, то отметка будет поставлена системой, без возможности снятия;
  • чтобы после завершения восстановления каждой резервной копии уточнялась необходимость продолжения процесса – следует поставить отметку «Выдавать приглашение перед восстановлением каждой резервной копии» (Prompt before restoring each backup). Достаточно полезен, т.к. после того, как восстановлено определенное количество резервных копий можно остановить дальнейшую цепочку восстановительных процессов.

Настроив все важные параметры следует нажать ОК. Тем самым запустится процесс. Соответствующее уведомление сообщит об его окончании.

Восстановление базы в новое место

Чтобы перенести базу данных MSSQL Server по другому пути каталога либо сделать ее копию, следует знать, как восстановить БД в новую папку. Полезно знать как ее переименовывать. Для этого можно воспользоваться вышеупомянутой программой SSMS и T-SQL.

Подготовка к восстановлению базы данных

Перед стартом процесса восстановления нужно соблюдать ряд требований:

  1. Когда осуществляется процесс восстановления базы, доступ к ней может быть только у системного администратора. Для остальных пользователей доступ должен быть ограничен.
  2. Перед восстановлением нужно сделать резервную копию активного журнала транзакций.
  3. Чтобы восстановить зашифрованную базу необходим доступ к сертификату либо ассиметричному ключу, который применялся в качестве ее шифратора. Не имея доступа к ним, восстановление зашифрованной БД становится невозможным. Потому, такой сертификат следует хранить, пока может понадобиться резервное копирование.

После того, как база данных версии SQL Server 2005 (9.x) либо более поздней, восстановится, произойдет автоматическое обновление, и она станет доступной.

Если присутствуют полнотекстовые индексы

В том случае, когда в БД SQL Server 2005 (9.x) присутствуют полнотекстовые индексы, в момент ее обновления произойдет импорт, сброс либо перестроение. Результат зависит от того, какое значение проставлено в свойствах сервера upgrade_option.

При обновлении такие индексы станут недоступны, если upgrade_option имеет значения:

  • 2 в режиме импорта;
  • 0 в режиме перестроения.

Продолжительность поцессов импорта и перестроения зависит от того, какой объем занимают данные. Импорт может длиться пару часов, а процесс перестроения – гораздо дольше (может продолжаться в 10 раз дольше).

В том случае, когда выбран процесс Импорт, а доступ к полнотекстовому каталогу отсутствует, то произойдет перестроение одноименных индексов, которые связаны с ним. Для изменения свойств upgrade_option необходимо воспользоваться процедурой sp_fulltext_service.

Соблюдение правил безопасности

Чтобы обезопасить себя, крайне не рекомендуется проводить присоединение либо восстановление БД, которые были получены из ненадежных или вовсе неизвестных источников. Они могут содержать вредоносные коды, способные:

  • запускать выполнение инструкций T-SQL, не предусмотренных системой;
  • вызывать ошибки в результате изменения схемы либо самой структуры БД

Если БД получена из источников, не внушающих доверия, то перед началом ее использования необходимо:

  • протестировать по инструкции DBCC CHECKDB;
  • исследовать исходный и иные коды БД, изучить процедуры.

Инструкции RESTORE

На ход реализации этих инструкций влияет факт существования восстанавливаемой базы. Если база:

  • присутствует, то разрешения получают пользователи sysadmin, dbcreator, dbo (владелец БД) по умолчанию;
  • отсутствует, то пользователям потребуются разрешения CREATE DATABASE.

Разрешения на реализацию таких инструкций выдаются в соответствии с ролями. В соответствии с ними сервер всегда имеет доступ к данным о членстве. Разрешение RESTORE отсутствует у пользователей с ролями db_owner. Причина в том, что членство может быть проверено лишь в тех случаях, когда к базе данных всегда есть доступ и она не повреждена. А это иногда не соблюдается в процессе выполнения инструкций RESTORES.

Пошаговая инструкция восстановления БД в новую папку в SSMS

  1. Открыть SSMS и произвести подключение к SQL Server Database Engine.
  2. Щелкнуть мышкой по имени сервера, чтобы развернулось его дерево.
  3. Кликнуть мышкой на Базы данных, потом – по Восстановить базу данных.
  4. В разделе Источник выбрать Общие, чтобы определить соответственное расположение и источник копий, подлежащих восстановлению. Пользователю предлагается выбрать нужный вариант (Базы данных либо Устройства). Особенности:
  5. При выборе Базы данных открывается перечень БД, где можно выбрать нужную. В нем представлены лишь те базы, у которых резервные копии создавались по журналу msdb. Стоит отметить, что для БД на целевом сервере, резервные копии которых поступили с иных серверов, подобный журнал будет отсутствовать. В таких ситуациях следует выбирать вариант Устройство. Это позволит руками прописать файл, а в случае необходимости – обозначить устройство для выполнения восстановления.
  6. Устройство можно выбрать, воспользовавшись кнопкой обзора (…). В результате появится окошко Выбор устройств резервного копирования. Перейти в окошко Тип носителя резервной копии, в котором из списка выбрать необходимый тип устройства. Если требуется добавить ряд устройств, это можно сделать с помощью кнопки Добавить в окошке Носитель резервной копии. Когда все необходимые устройства добавлены, необходимо вновь перейти на страницу Общие. Для этого следует нажать ОК в списке Носитель резервной копии. Обратившись к списку Источник: Устройство: База данных обозначить название БД, куда будет производиться восстановление. Пользователь может воспользоваться данным списком только при выборе Устройства. Можно выбирать лишь те БД, у которых на отобранном устройстве имеются резервные копии.
  7. Название новой базы для проведения восстановления автоматом сформируется в поле База данных в разделе Назначение. При желании оно может быть изменено. Для этого желаемое название вводится в окошке База данных.
  8. Далее перейти к Восстановить до. Пользователь может оставить значение До последней выбранной резервной копии (по умолчанию) либо кликнуть по Временной шкале. При выбре второго варианта всплывет соответствующее окошко Временная шкала …. В нем нужно указывать точное время.
  9. Необходимые резервные копии для восстановления можно выбрать в соответствующей сетке. В ней отражены все наборы, доступные в выбранном месте. Система сама предложит план восстановления отобранных копий, который будет использован по умолчанию. Он может быть переопределен, если в сетке изменить отобранные элементы.
  10. Для указания другого места расположения файлов базы, необходимо выбрать страницу Файлы после чего нажать на Переместить все файлы в папку. Следует указать вновь выбранное место расположения папок файлов данных и журнала.
  11. Если возникла необходимость – провести настройку параметров, как было рассказано выше.

Чтобы начать процесс, в котором будет восстанавливаться БД в новую папку с возможностью переименовывать ее, можно воспользоваться инструкциями Transact-SQL.

Как просмотреть отчет

Стандартный отчет «События резервного копирования и восстановления» позволяет получить сведения о том, когда проводилось:

  • Резервное копирование определенной БД;
  • операции восстановления базы MS SQL из них.

Данный отчет включает данные, касающиеся создания резервных копий:

  • время, затраченное на это в среднем (Average Time Taken For Backup Operations);
  • операции, которые прошли успешно (Successful Backup Operations);
  • ошибки, которые были допущены (Backup Operation Errors);
  • удачно прошедших восстановлений баз (Successful Restore Operations).

Чтобы он начал формироваться, следует в Обозревателе объектов выбрать нужную БД и щелкнуть по ней мышкой. Выбрать в меню Отчеты, а затем – Стандартный отчет. После этого кликнуть на События резервного копирования и восстановления.

Чтобы просмотреть информацию из сформированного отчета следует выбрать нужную группировку и раскрыть данные по ней.

Для восстановления поврежденной БД можно воспользоваться еще одним инструментом.

Как исправить ошибки в MS SQL с помощью Recovery Toolbox for SQL Server

Для восстановления поврежденной базы данных можно обратиться к помощи Recovery Toolbox for SQL Server. Для исправления ошибки (Error), следует воспользоваться пошаговой инструкцией восстановления данных из файла *.mdf, который был поврежден. Для этого необходимо:

  1. Скачать Recovery Toolbox for SQL Server.
  2. Установить программу следуя инструкциям и запустить ее.
  3. Из списка файлов выбрать файл *.mdf, который был поврежден.
  4. Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
  5. Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
  6. сохранением на диск в качестве SQL-скрипта;
  7. выполнением SQL-скрипта в самой БД.
  8. Произвести выборку информации, требующей восстановления и сохранения.
  9. Начать восстановление нажатием Start recovery.

Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.

Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.

Инструкция по созданию/восстановлению резервных копий баз данных

Эта информация была полезна? 0 m n 0

Резервные копии рабочих баз данных, т.н. backup (бэкап), рекомендуется делать регулярно (на случай аппаратных и/или программных сбоев на сервере) с использованием планировщиков заданий, процесс настройки которых подробно описан в инструкциях по установке сетевых версий программ Альта-Софт (включая «Альта-ГТД»). Кроме того, в самой программе «Альта-ГТД» имеется функция, позволяющая создать резервную копию рабочей базы – см. меню Сервис/Бэкап БД SQL.

В процессе создания резервной копии «живая» база данных выгружается в файл на диск компьютера (на котором установлен SQL Server). В результате получается целостный файл, из которого в любой момент можно гарантированно восстановить базу данных до состояния, в котором она находилась на момент создания резервной копии. Причем по заверениям корпорации Microsoft резервную копию можно создавать даже во время активной работы пользователей с базой, однако «при прочих равных» мы рекомендуем делать копии, когда с базой никто не работает (хотя бы чтобы понимать в каком состоянии она находилась на момент копирования).

Перенос базы данных с одного SQL-сервера на другой также необходимо делать с помощью операций:

Создание резервной копии базы данных (backup)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» копируемой базы):
  3. Нажать правой кнопкой мыши на имени копируемой БД (в разделе «Базы данных») и выбрать меню «Задачи/Создать резервную копию»:
  4. В разделе «Назначение» указать путь и имя файла (путь всегда задается для компьютера, где установлен сам SQL Server!), в который будет выгружена база данных, для чего использовать кнопки «Удалить» и «Добавить» до тех пор, пока в поле «Создать резервную копию на» не будет отображен ровно один желаемый путь:
  5. На странице «Параметры» установить переключатель «Создать резервную копию в новом наборе носителей…» и галочку «Проверить резервную копию после завершения»:
  6. Нажать кнопку «ОК».

Примечание. Резервные копии баз данных SQL Server обычно хорошо сжимаются архиваторами (WinRAR, WinZIP и т.п.), поэтому размер полученного файла (*.bak) можно сильно уменьшить с их помощью.

Восстановление базы данных из резервной копии (restore)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» восстанавливаемой базы при наличии таковой или серверную роль «dbcreator»):
  3. Нажать правой кнопкой мыши на разделе «Базы данных» и выбрать меню «Восстановить базу данных»:
  4. На странице «Общие» выполнить следующие действия:
    • В поле «В базу данных» ввести имя для восстанавливаемой базы (если будет указано имя существующей базы, то это эквивалентно тому, что сначала полностью удалить существующую базу и затем восстановить из резервной копии новую базу, т.е. все данные существующей базы будут утеряны!);
    • Установить переключатель «С устройства» и указать путь к файлу резервной копии, нажав кнопку «…»;
    • Установить галочку «Восстановить» в нужной строке (которых может быть несколько, если один файл *.bak содержит несколько резервных копий базы):
  5. На странице «Параметры» установить галочку «Перезаписать существующую базу данных» и проверить пути в списке «Восстановить файлы базы данных как» (должны указывать на существующую папку на SQL-сервере, к которой предоставлены права на запись – пути по умолчанию обычно должны заканчиваться папкой DATA, а не просто MSSQL):
  6. Нажать кнопку «ОК».

Примечание. После восстановления базы данных на другой версии SQL Server (например, при переносе с SQL2005 на SQL2008) рекомендуется в свойствах базы данных переключить параметр «Уровень совместимости» на последнюю версию (см. страницу «Параметры» в свойствах БД).

Кроме того, после переноса базы на любой новый SQL-сервер придется заново настроить авторизацию и регулярное резервное копирование в соответствии с инструкцией по установке сетевой версии соответствующей программы.

Для переноса большого количества «имен входа» (логинов) с их паролями на новый сервер можно воспользоваться способом, описанным в статье базы знаний Microsoft. Однако, следует иметь в виду, что данный способ не переносит серверные права логинов (принадлежность «серверным ролям», право на «просмотр состояния сервера» и т.п.), а также не подходит для переноса с SQL 2012 на более ранние версии SQL Server.

источники:

http://otus.ru/journal/kak-ispravit-oshibki-ms-sql-i-vosstanovit-bazu-dannyh/

http://www.alta.ru/support/27/

Локализация ошибки. Компоненты

АРМ (распределенный вариант установки) и сервер RusGuard. Все версии ПО.

Описание причин и устранение ошибки

Если время и дата настроены некорректно, возможно возникновение ошибки при запуске ПО (см. рис. 7). Для исправления ошибки необходимо привести локальные настройки времени и даты в соответствие с сервером. Допустимое расхождение: +/- 5 минут.

Рисунок 7 - Ошибка при запуске ПО. Некорректно выставлено время и дата на локальном ПК

Рисунок 7 — Ошибка при запуске ПО. Некорректно выставлено время и дата на локальном ПК

Пример

Корректная настройка

В таблице ниже приведены примеры корректной настройки времени/даты (см. табл. 1).

Таблица 1 — Пример правильной настройки времени/даты

Сервер

АРМ

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 15.50 (часовой пояс +3)

Время 16.50 (часовой пояс +4)

Время 17.50 (часовой пояс +5)

Некорректная настройка

В таблице ниже (см. табл. 2) приведены примеры некорректной настройки времени/даты:

одинаковое время при разных часовых поясах;

разное время в одном часовом поясе.

Таблица 2 — Пример неправильной настройки времени/даты

Сервер

АРМ

Время 16.50 (часовой пояс +4)

Время 16.40 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +3)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +5)

Да, конечно. (Перемычка между 1-5 и зажимал две кнопки(open, set)Сейчас на кнопки реагирует (на приводе), закрывает, открывает.

MobyDick

Эксперт

Андрей Черепанов

Представитель АО «КАВ»

А между 3 и 4 контактом блока управления не поставили перемычку, это вход Стоп. Без Стопа нет движенья и про вход фото не забудьте. И не забудьте снять перемычку 3-1. Короче перемычки 1-5, и 3-4, а 1-2 управление с КД.

bbm1978

Гость

А между 3 и 4 контактом блока управления не поставили перемычку, это вход Стоп. Без Стопа нет движенья и про вход фото не забудьте. И не забудьте снять перемычку 3-1. Короче перемычки 1-5, и 3-4, а 1-2 управление с КД.

Андрей Черепанов

Представитель АО «КАВ»

Boroda365

Эксперт

Перемычку на контактах 3 и 4 (Stop) можно не ставить. Главное, если Вы проводили распознавание длины створки без этой перемычки, блок управления определил что перемычки нет, и если ее (перемычку) потом поставить, привод не будет работать. Ещё раз объясню, в момент определения длины створки блок так же определяет подсоединение устройства и статус входа Stop (наличие, отсутствие перемычки, или устройства с постояным сопротивлением).
Сделайте все ещё раз и порядку. Обучите блок установив перемычку 1 и 5 (обязательно), 3 и 4 (можете ставить, можете не ставить). Затем проверте как ворота работают с кнопок блока, как работают при замыкании контактов 1 и 2. Затем как советовал MobyDick проверте импульс от проводов контролёра.

bbm1978

Гость

Перемычку на контактах 3 и 4 (Stop) можно не ставить. Главное, если Вы проводили распознавание длины створки без этой перемычки, блок управления определил что перемычки нет, и если ее (перемычку) потом поставить, привод не будет работать. Ещё раз объясню, в момент определения длины створки блок так же определяет подсоединение устройства и статус входа Stop (наличие, отсутствие перемычки, или устройства с постояным сопротивлением).
Сделайте все ещё раз и порядку. Обучите блок установив перемычку 1 и 5 (обязательно), 3 и 4 (можете ставить, можете не ставить). Затем проверте как ворота работают с кнопок блока, как работают при замыкании контактов 1 и 2. Затем как советовал MobyDick проверте импульс от проводов контролёра.

Все так и делал. Установил перемычку 1-5 на приводе, обучил ворота. Перемычку 3-4 не ставил. От кнопок на приводе ворота работают — открываются, закрываются, останавливаются. Контакты 1-2 на приводе замыкал перемычкой — ворота начинают открываться и потом автоматически закрываются. Импульс от проводов Русгарда проверял — проходит. После подключения проводов по схеме MobyDick и Андрей Черепанов привод по команде контроллера Русгарда не открывает и не закрывает, никак не реагирует.

Рисунок 15 - АРМ RusGuard. Модуль Конфигурация оборудования.

Рисунок 15 — АРМ RusGuard. Модуль Конфигурация оборудования.

Модуль Конфигурация оборудования (см. рис. 15) предназначен для настройки и управления аппаратными средствами СКУД, а также другим интегрированным оборудованием и системами (см. раздел «Установка стороннего ПО»).

В левой навигационной панели отображается иерархический список от сервера к контроллерам.

Контроллеры в списке делятся на две группы:

Подключенные через LAN-CAN конвертеры

В левой навигационной панели также отображается текущий статус конвертеров (см. табл. 1) и контроллеров (см. табл. 2).

Таблица 1 — Статусы конвертера

Конвертер подключен и функционирует нормально

Не совпадают настройки контроллера и сервера

Соединение с конвертером отсутствует («конвертер не подключен»)

Нет сигналов от точки доступа

Конвертер удален из БД

Потеряно соединение с сервером, через который подключен конвертер

Таблица 2 — Статусы контроллера

Устройство подключено и функционирует нормально

Соединение с контроллером отсутствует

Статус устройства не определен, запуск процесса опроса

Контроллер удален из БД

Сервер оборудования недоступен

Обобщенный статус тревоги. Взлом, тревога охранного входа, разряд АКБ, отсутствие доступа к сети и т.д.

Не совпадают настройки драйвера из базы данных и контроллера (необходимо выполнить синхронизацию)

В верхней панели управления расположены кнопки для выполнения операций по настройке оборудования (прежде всего, контроллеров). Если кнопка неактивна, это означает, что операция невозможна в настоящий момент, либо неприменима к выбранному в иерархическом списке элементу.

Рисунок 4 - АРМ RusGuard. Модуль Конфигурация оборудования.

Рисунок 4 — АРМ RusGuard. Модуль Конфигурация оборудования.

Модуль Конфигурация оборудования (см. рис. 4) предназначен для настройки аппаратной инфраструктуры СКУД, а также другим интегрированным оборудованием и системами (см. раздел «Интеграция и установка стороннего ПО»).

В левой навигационной панели отображается иерархический список от сервера к контроллерам.

Контроллеры в списке делятся на две группы:

• Подключенные через CAN-USB конвертеры

Подробнее о подключении CAN-USB конвертера см. в Руководстве по установке .

• Подключенные через LAN-CAN конвертеры

В левой навигационной панели также отображается текущий статус конвертеров (см. табл. 1) и контроллеров (см. табл. 2).

Таблица 1 — Статусы конвертера

Конвертер подключен и функционирует нормально

Не совпадают настройки контроллера и сервера

Соединение с конвертером отсутствует («конвертер не подключен»)

Статус устройства не определен, запуск процесса опроса

Конвертер удален из БД

Потеряно соединение с сервером, через который подключен конвертер

Таблица 2 — Статусы контроллера

Устройство подключено и функционирует нормально

Соединение с контроллером отсутствует

Статус устройства не определен, запуск процесса опроса

Контроллер удален из БД

Сервер оборудования недоступен

Обобщенный статус тревоги. Взлом, тревога охранного входа, разряд АКБ, отсутствие доступа к сети и т.д.

Не совпадают настройки драйвера из базы данных и контроллера (необходимо выполнить синхронизацию)

В верхней панели управления расположены кнопки для выполнения операций по настройке оборудования (прежде всего, контроллеров). Если кнопка неактивна, это означает, что операция невозможна в настоящий момент, либо неприменима к выбранному в иерархическом списке элементу.

Используя модуль, пользователь может:

• Редактировать настройки контроллеров

• Управлять функциями и режимами работы точек доступа, оборудованных контроллерами (дверей, турникетов, двухсторонних дверей и т.д.)

Контроль доступа

Так сложилось исторически, что мы стали дилером компании RusGuard чуть ли не сразу после её образования. Причиной тому было то, что компания была основана бывшими сотрудниками другой компании — Legos, с которой мы довольно плотно работали. Дилерами стали, но сотрудничество как-то не задалось — инсталляций не было, только продавали оборудование несколько раз. Позже решил посерьёзнее познакомиться с тем, что же у ребят получилось. Первый критерий оценки очень простой — беспроблемная установка софта. Скачал дистрибутив, попробовал поставить — не вышло. Отложил до лучших времён.

Справедливости ради скажу, что та же история произошла и с CARDDEX — попробовал, словил кучу проблем, отложил. Логика такая — разобраться можно со всем, но зачем лишние проблемы на объекте, если есть гораздо более стабильные решения.

Первое знакомство

Недавно обратился клиент с просьбой установить ему СКУД со считывателями, работающими по технологии BLE и NFC. И сам же клиент нашёл такой считыватель R15-Multi у RusGuard, поскольку первоначально предложенный мной считыватель SIGUR MR1 BLE был заметно дороже. К тому же софт у SIGUR стоит денег, а у RusGuard предоставляется бесплатно.

Решено — RusGuard-у на объекте быть! Будет интересно поразбираться с новым оборудованием. Связался с поставщиком, обсудили возникшие вопросы об автономной и сетевой работе, сформировали комплект оборудования и сделали заказ.

Установка

Взять те же SIGUR или PERCo — в них установка происходит на порядок проще. Ну и фраза «ПО может не установиться», часто звучащая в ролике, несколько настораживает. Сделайте так, чтобы устанавливалось! Хороший и правильный дистрибутив должен содержать в себе все необходимые компоненты, проверять соблюдение всех требований и не допускать возникновения ошибок в процессе установки.

На объекте пришлось устанавливать на Windows Server 2019. В принципе всё прошло гладко, кроме того, что сначала пытался запускать инсталлятор из папки с Рабочего стола, но из-за длинных путей SQL Server устанавливаться не хотел. Опять же, без объяснения причин. По совету тех.поддержки попробовал установить его отдельно и только тогда увидел причину ошибки установки.

Проблемы с NFC и BLE

Проблемы эти проявились в процессе настройки, но чтобы не отвлекаться от темы настройки в следующей части, расскажу про них сразу. Так вот, оказалось, что несмотря на информацию в описании считывателя R15-Multi, приложения под iOS нет в принципе. Оно, как-бы в разработке, но сроки выхода неизвестны. Из этого следует то, что технология BLE для iPhone пока недоступна. Использовать можно только NFC, но, поскольку прямой доступ к чипу NFC в iOS закрыт, то приходится делать это через ApplePay, используя в качестве идентификатора ID какой-нибудь банковской карты. Это несколько смущает пользователей. т.к. при поднесении смартфона к считывателю они видят тот же интерфейс, что и при оплате через терминал на кассе. Многие опасаются, а не снимут ли у них со счёта деньги.

На смартфонах с Android тоже можно пользоваться Google Pay, но есть и приложение, называется RusGuard Key. В нём настраивается тип идентификатора (3 варианта) и каким образом должна происходить идентификация — через NFC или BLE или и так и так и если через BLE, то автоматически или вручную. Автоматический режим работы BLE подразумевает разблокировку двери сразу, как только смартфон попадает в зону действия считывателя. И вот это второй EPIC FAIL — в отличие, например, от считывателя SIGUR MR1 BLE, дальность действия считывателя R15-Multi не настраивается! То есть дверь открывается с расстояния 5-6 метров. А может и больше — это уже зависит от модуля Bluetooth смартфона. Ручной режим подразумевает отправку идентификатора не постоянно, а только после сработки акселерометра, то есть смартфон надо потрясти или покрутить. Это уже лучше, но всё равно не очень хорошо, потому что эти настройки делаются в приложении на смартфоне пользователя, а такие вещи лучше делать на стороне сервера.

Ну и финальный аккорд — не на всех Android-смартфонах приложение работает корректно. Это понятно — производителей таких смартфонов много, версий систем в них установленных, учитывая кастомные прошивки, ещё больше, ну и различные настройки безопасности и энергосбережения тоже вносят свой вклад. Винить разработчиков RusGuard тут не стоит — об этом честно упомянуто в описании продукта.

Настройка

Честно говоря, сначала софт не порадовал. Хотя и у аналогичных продуктов конкурентов интерфейс, прямо скажем, оригинальный. Так что придираться не буду. Хорошо то, что не глючит. Настроек много — чувствуется, что система масштабная и гибкая. После нескольких часов работы и к интерфейсу привыкаешь.

Автопоиском нашёл контроллер, добавил в систему, выбрал нужный тип точки доступа — Две двери и поменял схему индикации. Что SIGUR, что RusGuard используют по умолчанию каки-то странные настройки, а нужно то самое простое — чтобы в закрытом состоянии на считывателе горел красный индикатор, а при отпирании замка — зелёный. В SIGUR-е с индикацией всё сложно. Здесь же — из выпадающего списка значений параметра Схема индикации выбираем пункт Дежурный красный и всё работает, как надо.

На вкладке Дверь 1 и Дверь 2 нужно поменять протокол считывателя на RBus, чтобы настраивать его параметры из ПО.

Теперь нужно в настройках контроллера добавить эти профили в список, причём в правильной последовательности: идентификатор, приложение, платёжная система. В нашем случае: Key, App, Pay. Далее, на вкладке RBus нужно сменить режим аутентификации на вариант Настройки профиля и там же ниже выбрать Разрешённые типы карт.

Следующий этап — импорт сотрудников из предоставленного XLS-файла. В основном ПО такой функции нет, но есть специальная утилита UniversalImport. Файл был специальным образом подготовлен — каждое поле в отдельном столбце и успешно импортирован в БД. После импорта сотрудников нужно было дать им право доступа. Это делается либо персонально, либо наследуется из настроек отдела. Хотел завести один родительский отдел и перенести все остальные в него, чтобы сделать назначение прав доступа парой кликов, но не вышло — в ПО нельзя редактировать структуру компании. Отделы можно только удалять и добавлять. Пришлось задавать права доступа для каждого отдела.

Опытная эксплуатация

Через пару дней после запуска в работу один из считывателей странным образом заглючил — перестал читать Mifare и NFC c BLE. С EM-Marine проблем не было. Нормальная работа восстановилась после перезапуска контроллера и считывателей путём сброса питания. Тех.поддержка посоветовала прошить считыватели свежей прошивкой и понаблюдать дальше, а если сбои повторятся, то отправлять к ним в ремонт или для замены. Продолжаем наблюдение.

image

В рамках разработки продукта Docs Security Suit мы столкнулись с задачей хранения множества разнотипных настроек приложения как в БД, так и в конфигах. Да и еще так, чтобы их можно было удобно читать-писать. Здесь нам поможет интерфейс IConfiguration, тем более, что он универсальный и удобный для использования, что позволит хранить всевозможные настройки в одном месте

Определяем задачи

Архитектура приложения построена у нас по DDD в сцепке с CQRS. К тому же, мы знаем, что объект интерфейса IConfiguration хранит все настройки в виде пары “ключ-значение”. Поэтому, мы вначале описали некую сущность настроек на домене в таком виде:

В качестве ORM в проекте используется EF Core. А за миграции отвечает FluentMigrator.
Добавляем новую сущность в наш контекст:

Далее для нашей новой сущности нужно описать конфигурацию EF:

И написать миграцию для этой сущности:

А где же тут упомянутый IConfiguration?

Применяем интерфейс IConfigurationRoot

Эти настройки хранятся по умолчанию в переменных среды окружения:

И по идеи, мы можем использовать этот объект для хранения задуманных настроек, но тогда они будут пересекаться с общими настройками самого приложения (как упоминалось выше — подключения к БД)

Для того чтобы отделить подключенные объекты в DI, решили использовать дочерний интерфейс IConfigurationRoot:

При подключении его к контейнеру нашего сервиса мы может спокойно работать с отдельно настроенным объектом настроек, никак не пересекаясь с настройками самого приложения.

Однако, наш объект в контейнере ничего не знает про нашу сущность в домене и как работать с БД.

image

Описываем нового провайдера конфигурации

Напомним, что наша задача — хранить настройки в БД. А для этого нужно описать нового провайдера конфигурации IConfigurationRoot, унаследованного от ConfigurationProvider. Для корректной работы нового провайдера, мы должны описать метод чтения из БД — Load() и метод записи в БД — Set():

Далее, необходимо описать новый source для нашей конфигурации, который реализует IConfigurationSource:

И для простоты, добавляем расширение к IConfigurationBuilder:

Теперь, мы можем указать описанного нами провайдера в месте, где мы подключаем объект к DI:

Что же нам дали наши манипуляции с новым провайдером?

Примеры использования IConfigurationRoot

Для начала определим некую модель Dto, которая будет транслироваться клиенту нашего приложения, например для хранения настроек подключения к ldap:

Из “коробки” IConfiguration хорошо умеет записывать и читать один экземпляр объекта. А для работы с коллекцией нужны небольшие доработки.

Для хранения нескольких однотипных объектов, мы написали расширение для IConfigurationRoot:

Таким образом, мы можем работать с несколькими экземплярами наших настроек.

Пример записи настроек в БД

Как было упомянуто выше, в нашем проекте используется подход CQRS. Для записи настроек опишем простую команду:

А затем и обработчик нашей команды:

В итоге мы одной строчкой можем записывать данные наших настроек ldap в БД в соответствии с описанной логикой.

В БД же наши настройки выглядят так:

image

Пример чтения настроек из БД

Для чтения настроек ldap мы напишем простой запрос:

А затем и обработчик нашего запроса:

Как видим из примера, с помощью метода Bind, мы наполняем наш объект ldapSettings данными из БД — по названию LdapSettingsDto мы определяем ключ (секцию) по которому нужно получить данные и далее происходит вызов метода Load, описанного в нашем провайдере.

А что далее?

А дальше мы планируем добавлять всевозможные настройки в приложении в наше общее хранилище.

Мы надеемся, что наше решение вам будет полезно и вы поделитесь с нами вашими вопросами и замечаниями.

Читайте также:

  • 1с зависает при печати пдф 417
  • Как сделать несколько строк в одной ячейке ворд
  • Как использовать word fillin
  • Mi mix 2s прошивка модема
  • Как смотреть аниме в 60 фпс в браузере

Обновлено: 03.06.2023

Проблема: Установлен флажок AutoSwath, но разбрасыватель не включается.

1. Убедитесь, что регистрируется скорость хода, и ее значение больше нуля на дисплее.
2. Убедитесь, что подающее устройство находится внутри границы поля.

Проблема: Конвейер выключается в середине прохода.

Решение: Проверьте, что версии микропрограмм дисплея и модуля являются

1. Убедитесь, что в настройках контроллера частота вращения вала (имп./оборот)

2. Убедитесь, что управляемый продукт установлен на правильные единицы измерения.

Проблема: Норма не отвечает

1. Убедитесь, что на дисплее регистрируется скорость хода.
2. Убедитесь, что в настройках контроллера частота вращения вала (имп./оборот)

(Удостоверьтесь, что учтены отношения зубчатых колес, если приводится в движение

3. Проверьте определенное пользователем значение в окне настройки контроллера для

4. Может потребоваться регулировка значения CFR.

Проблема: Норма внесения изменяется на дисплее, но не на пульте управления.

1. Проверьте, что текущая микропрограмма работает на дисплее и в модуле нормы

2. Проверьте конкретные настройки вашего пульта управления. (Для получения

3. Проверьте кабельную проводку и все соединения.
4. Отсоедините подключение через последовательный порт и определите, работает ли

контроллер должным образом без дисплея.

Проблема: Норма внесения на дисплее и последовательно регулируемая норма не

совпадают
Решение:

1. Проверьте, что работает текущая микропрограмма на дисплее и в модуле нормы

Х импульсы датчика внесения = настоящие импульсы

Оиск, Устранение, Неисправностей

Настройки удобрения по умолчанию, Астройки, Удобрения

версия программы 5.2

2. Проверьте, что номинальная норма внесения в дисплее совпадает с номинальной

нормой внесения в последовательном пульте управления.

Процентное соотношение (в единицах

Настройки удобрения по умолчанию, Астройки, Удобрения

Мониторинг урожайности/картографиров ание, Подготовка дисплея, Технический осмотр транспортного средства

Создание конфигурации, Настройка конфигурации, Последовательность калибровки, Уборка, Мониторинг урожайности/картографирование, Онитори

• Создайте резервную копию своей информации о весенних работах. Перейдите в меню

• Убедитесь, что ПО дисплея и все подключенные модули обновлены.
• Если вы приобрели новый комбайн или новые жатки, создайте новые конфигурации для любых

настроек, отличающихся от прошлой осени. Удалите все старые конфигурации.

• Проверьте, чтобы убедиться в правильности подключения всех проводов и их хорошем состоянии.
• Снимите датчик потока и проверьте на наличие повреждений.
• Проверьте дефлектор элеватора и ударную планку на износ. Убедитесь в надлежащем зазоре в

верхней части элеватора очищенного зерна. Зазор должен составлять от 3/8” до 5/8” (0,95 см –
1,59 см).

Мастер проведет вас по процессу выбора или создания конфигурации, содержащей настройки
комбайна, жатки и культур.

Примечание. Для создания или правки конкретных ТС и навесного оборудования используйте кнопку
Управление оборудованием.

Проведите калибровку урожая в следующем порядке:

Мониторинг урожайности/картографиров ание, Подготовка дисплея, Технический осмотр транспортного средства

Калибровать расстояние, Калибровать датчик жатки, Алибровать

версия программы 5.2

1. Калибровка расстояния (датчика скорости)

Калибрует датчик скорости хода, подключенный к дисплею (проведите калибровку резервного
датчика, даже в случае использования скорости GPS в качестве основного датчика скорости). Для
получения дополнительной информации см.

2. Калибровать датчик хедера

Задает высоту, когда дисплей перестает регистрировать площадь при поднятии жатки в конце
прохода. Калибровка высоты требуется для каждого типа зерновых.

3. Ввод смещения жатки

В комбайнах со смещенными жатками это позволяет компенсировать расстояние между
центром транспортного средства и центром полосы жатки.

4. Выполните калибровку вибрации

Калибровка вибрации используется для компенсации усилия, измеренного датчиком расхода при
отсутствии потока зерна. Для получения дополнительной информации см.

5. Калибровка температуры

Устанавливает колебания температуры для обеспечения правильности показаний влажности. Для
получения дополнительной информации см.

6. Калибровка влажности

Задает колебания влажности для получения правильных показаний влажности и урожайности. Для
получения дополнительной информации см.

7. Калибровка веса зерновых

Правильная калибровка веса зерновых обеспечивает точные показания во всех диапазонах расхода
зерновых. Калибровку необходимо проводить ежегодно для каждого типа зерновых. Для получения
дополнительной информации см.

Если для замера скорости хода не используется GPS, то после создания конфигурации
необходимо откалибровать данные скорости хода с целью получения точных значений скорости и
площади. При использовании GPS рекомендуется проводить калибровку расстояния в случае
потери сигнала GPS. Для калибровки расстояния воспользуйтесь следующей процедурой:

Следуйте указаниям, появляющимся на экране.

Калибровать датчик жатки

Перед регистрацией данных по уборке урожая нужно откалибровать датчик жатки. Для
продолжения процедуры калибровки зерновые культуры в системе должны быть настроены.

Калибровать расстояние, Калибровать датчик жатки, Алибровать

Ввод смещения жатки, Калибровка вибрации, Калибровка вибрации» на

Следуйте указаниям, появляющимся на экране.

Ввод смещения жатки

Если жатка транспортного средства установлена со смещением от центра транспортного
средства, это может повлиять на точность приема данных GPS. Ввод смещения жатки позволяет
компенсировать расстояние между центром транспортного средства и центром полосы жатки.

1. Измерьте расстояние
Сначала измерьте расстояние между антенной GPS (2) и центром
полосы жатки (1).

• (А) Центр транспортного средства
• (В) Центр полосы захвата
• (С) Антенна GPS

2. Введите значение расстояния

Из раскрывающегося меню выберите расстояние влево или вправо.

По окончании нажмите

Калибровку вибрации необходимо выполнить при установленной на комбайне нужной жатки, и
повторить для каждой убираемой культуры.

Ввод смещения жатки, Калибровка вибрации, Калибровка вибрации" на

Калибровка температуры, Калибровка температуры» на странице 272, Алибровка

версия программы 5.2

Примечание. На это имеется подсказка в домашнем окне при первом уборке урожая культуры.

1. Запустить сепаратор

Запустите разделитель и корпус подающего механизма с установленной надлежащей жаткой.
Включите полные обороты.

ВНИМАНИЕ! Не убирайте культуру во время процесса калибровки вибрации.

3. Отображается значение калибровки

Калибровку температуры нужно выполнить один раз за сезон. Изменение этой калибровки
повлияет на собранные данные об уборке урожая после калибровки.

ВНИМАНИЕ! Проводите калибровку температуры только перед началом уборки урожая.

1. Поместите комбайн в тенистое место

Оставьте комбайн в затененном месте или под навесом на несколько часов. Калибровку
температуры не следует выполнять, если датчик находился под воздействием прямых солнечных
лучей или размещен рядом с зерновыми.

2. Получение показаний температуры воздуха

Снимите точные показания температуры воздуха, используя термометр в том же самом затененном
месте.

Калибровка температуры, Калибровка температуры" на странице 272, Алибровка

Калибровка влажности, Настройка влажности вручную, Калибровка веса зерновых

Калибровка влажности» на странице 273, Калибровка веса зерновых» на странице 273, Алибровка, Влажности, Веса, Зерновых

3. Укажите температура окружающего воздуха.

для ввода известной температуры окружающего воздуха. Выполняйте

надлежащую регулировку до тех пор, пока значение откалиброванной температуры в верхней части
окна, не будет отражать точную температуру воздуха.

По окончании нажмите

Калибровку влажности требуется выполнить для каждой культуры только один раз за сезон.
Изменение этой калибровки повлияет на собранные данные об уборке урожая после калибровки.

1. Измерьте влажность в пробах зерновых

Возьмите пробы зерновых наугад с активного участка, затем замерьте уровень влажности с
использованием точного гигрометра.

2. Отрегулируйте значение влажности

для регулировки значения влажности,

чтобы оно совпадало с известным значением влажности пробы.

По окончании нажмите

Настройка влажности вручную

для регулировки нужного значения влажности вручную.

3. По окончании нажмите

Перед тем, как дисплей сможет точно измерить урожайность, следует откалибровать дисплей
посредством ввода значений фактического веса груза в дисплей для каждого вида зерновых. Вы
должны получить эти значения фактического веса груза при помощи взвешивания партии груза
зерна на точных весах. Для получения точных результатов следует получить от четырех до

Калибровка влажности, Настройка влажности вручную, Калибровка веса зерновых

шести калибровочных значений веса. Можно выполнить калибров.

версия программы 5.2

шести калибровочных значений веса. Можно выполнить калибровку веса в любое время в
течение сезона, однако, рекомендуется откалибровать вес зерновых в начале сезона.

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

1. Начните новую калибровку

2. Предупреждение о калибровочном грузе

Прочтите предупреждение, по окончании нажмите

3. Калибровочный груз урожая

Уборка груза — идеальный вес груза в пределах 3000 — 6000 фунтов (от 1361 до 2721 килограммов).

4. Закончить груз

5. Предупреждение о калибровочном грузе

Прочтите предупреждение, по окончании нажмите

6. Имя груза

Дисплей присвоит грузу имя по умолчанию в виде времени и даты. Используйте

изменения имени груза.

7. Опорожните бак для зерновых и взвесьте груз

Полностью опорожните бункер для зерна в грузовик или фургон и взвесьте его на точных весах.
Запишите вес каждого отдельного груза для ввода в дисплей. (Зерно из какого-либо другого
комбайна не должно выгружаться в это перевозящее транспортное средство.)

8. Взвесьте и зарегистрируйте вес груза

Взвесьте зерно на перевозящем транспортном средстве и зарегистрируйте фактический вес груза

• При использовании автофургона для взвешивания зерна, удостоверьтесь, что автофургон был

откалиброван должным образом.

• Во время калибровки используйте только одни весы.
• Для всех калибровочных грузов используйте одно и то же транспортное средство.
• Не используйте сочлененный грузовик, поскольку емкость транспортного средства будет слишком

большой для калибровочного груза.

шести калибровочных значений веса. Можно выполнить калибров.

Включить/выключить автоматическую калибровку, Настройки чувствительности autoswath, Ключить

Выключить, Автоматическую, Калибровку, Астройки, Чувствительности, Wath

Любой отмеченный груз автоматически
включается в калибровку.

Функция AutoSwath регулирует ширину полосы захвата при пересечении границ полей и уже
убранных площадей. В дисплее изменяется ширина убираемых полос захвата, даже если не
происходит никаких механических изменений. Функция AutoSwath полезна при уборке урожая в
углах рядов и других местах, где уборка в полную ширину жатки невозможна.

При выполнении уборки урожая функция AutoSwath включает уровни чувствительности, которые
компенсируют изменяющиеся уровни точности GPS.

Если регулировка полос захвата выполняется неточно, соответственно отрегулируйте
чувствительность. Чувствительность 3 является значением по умолчанию. Другие настройки:

• Чувствительность 5
Используется с RTK или с субметрической DGPS (дифференциальная глобальная спутниковая
система определения местоположения), GPS с компенсацией рельефа.

Контроль доступа

Первое знакомство

Недавно обратился клиент с просьбой установить ему СКУД со считывателями, работающими по технологии BLE и NFC. И сам же клиент нашёл такой считыватель R15-Multi у RusGuard, поскольку первоначально предложенный мной считыватель SIGUR MR1 BLE был заметно дороже. К тому же софт у SIGUR стоит денег, а у RusGuard предоставляется бесплатно.

Установка

На объекте пришлось устанавливать на Windows Server 2019. В принципе всё прошло гладко, кроме того, что сначала пытался запускать инсталлятор из папки с Рабочего стола, но из-за длинных путей SQL Server устанавливаться не хотел. Опять же, без объяснения причин. По совету тех.поддержки попробовал установить его отдельно и только тогда увидел причину ошибки установки.

Проблемы с NFC и BLE

Проблемы эти проявились в процессе настройки, но чтобы не отвлекаться от темы настройки в следующей части, расскажу про них сразу. Так вот, оказалось, что несмотря на информацию в описании считывателя R15-Multi, приложения под iOS нет в принципе. Оно, как-бы в разработке, но сроки выхода неизвестны. Из этого следует то, что технология BLE для iPhone пока недоступна. Использовать можно только NFC, но, поскольку прямой доступ к чипу NFC в iOS закрыт, то приходится делать это через ApplePay, используя в качестве идентификатора ID какой-нибудь банковской карты. Это несколько смущает пользователей. т.к. при поднесении смартфона к считывателю они видят тот же интерфейс, что и при оплате через терминал на кассе. Многие опасаются, а не снимут ли у них со счёта деньги.

Настройка

На вкладке Дверь 1 и Дверь 2 нужно поменять протокол считывателя на RBus, чтобы настраивать его параметры из ПО.

Теперь нужно в настройках контроллера добавить эти профили в список, причём в правильной последовательности: идентификатор, приложение, платёжная система. В нашем случае: Key, App, Pay. Далее, на вкладке RBus нужно сменить режим аутентификации на вариант Настройки профиля и там же ниже выбрать Разрешённые типы карт.

Опытная эксплуатация

Ждём комментариев, замечаний и т.д. в этой теме.

Новые функции
Добавлена возможность управлять отключением и включением контроля состояния для охранно-пожарных объектов (вход, выход, раздел, прибор). С отключенного объекта блокируются все события. События не заносятся в журнал событий и не изменяют состояния объекта. Кроме того, после отключения сбрасываются все предыдущие состояния, и объект переводится в одно единственное состояние «Отключен».
К событиям системы возможно добавлять комментарии.
Осуществлена поддержка GSM модема в АРМ «Орион Про».
Через модем Cinterion MC52i можно ретранслировать события от АРМ «Орион Про» на приборы УО-4СС2000-ИТС2000-PGE и на АРМ «Эгида-3».
Также возможно получать события от удаленных объектов с приборов УО-4СС2000-ИТС2000-PGE и АРМ «Эгида-3»
Возможно управление взятием/снятием удалённых объектов со стороны АРМ «Орион Про» через приборы УО-4СС2000-PGE и АРМ «Эгида-3».
Новые возможности функционала регистрации и учёта посетителей:
автоматическая установка даты и времени текущим днем при восстановлении из архива и при установки правила «Срок действия ключа ограничить визитом»;
функция сохранения по умолчанию правил прохода при добавлении посетителя;
возможность автоматического удаления посетителя при истечении времени хранения в базе данных;
доработан шаблон пропуска, добавлены поля для посетителя.

Исправления и доработки
Орион Видео
Исправлена ошибка распознавания видеодрайвером лицензии во временном ключе.
Добавлена функция цифрового увеличения видеокадра (масштабирование).
Монитор системы
Актуализирована локализация Монитора и Компонента отображения пеналов.
Администратор базы данных
«Обезличенные» переименованы в «Шаблоны посетителей».
Исправлена ошибка, возникавшая при редактировании уровня доступа: если в уровне доступа несколько дверей, в прибор заносилась только одна дверь.
Исправлена ошибка удаления пенала из уровня доступа. Ранее удалялись все объекты, кроме самого пенала.
Исправлена ошибка, из-за которой при сохранённых настройках доступа при попытке добавления шаблона возникала ошибка «Не задан шаблон».
Исправлена возможность редактирования комментария к шаблону посетителя.
Исправлена ошибка при сохранении сотрудников: «Неправильный синтаксис около конструкции «)»».
Исправлено некорректное отображение информации о сотрудниках при смене фильтров подразделений.
Исправлены ошибки, связанные с невозможностью редактирования некоторых полей с информацией.
Исправлена ошибка при перемещении по скроллингу в выпадающих списках.
Исправлены ошибки, возникавшие при редактировании шаблонов посетителей и посетителей (при выставлении срока визита не менялся срок действия ключей; при удалении посетителя из базы, пароли не списывались шаблону).
Исправлена ошибка, возникающая при редактировании шаблонов посетителей, если были сохранены параметры по умолчанию для ускорения ввода данных.
Исправлена ошибка, при которой при контроле уникальности табельного номера нельзя было добавить посетителя и шаблон посетителя.
Исправлена ошибка перехода на страницы «Пароли» по кнопке «Перейти» на вкладке «Шаблоны посетителей» при запрете показа этой страницы.
Исправлена ошибка профилей отображения при переходе на страницу «Уровни доступа» и обратно на страницу «Сотрудники» (настройки профиля слетали и отображались все поля).
Исправлена ошибка невозможности распознавания документов.
Исправлена ошибка при добавлении нового посетителя. Если был осуществлён переход по правой кнопке мыши на существующего посетителя с таким же ФИО, посетитель дублировался.
Доработано заполнение списка выбора шаблонов посетителей. В список добавляются только те шаблоны, которым задан идентификатор.
Доработана возможность добавления полей в нестандартный пропуск. Реализована возможность добавления полей из двух наборов данных: сотрудники, посетители и гости. А также поля «оператор» (тот, кто печатал пропуск). Появилась возможность добавлять любое количество полей с фотографией.
Доработана возможность при восстановлении посетителя из архива в сроке визита проставлять текущую дату (в АБД настройка «Выставлять текущую дату при восстановлении из архива»). Работает для посетителей с установленной галкой «Срок действия ключа ограничить визитом».
Доработана функция сохранения времени выхода для визита посетителя (работает при сохранении настроек из контекстного меню при редактировании посетителя).
Доработана фильтрация сотрудников. Фильтрация начинается не сразу после нажатия на какую-либо клавишу, а по таймауту 500 мс, что ускоряет фильтрацию при больших количествах сотрудников.
Доработана фильтрация паролей. Фильтрация начинается по таймеру через 500 мс после окончания ввода текста. Исправлен поиск по коду ключа.
Доработан экспорт БД в ПКУ С2000. Исправлен экспорт групп разделов.
Актуализирована локализация АБД, касающаяся ключниц и пеналов.
Ядро опроса
Исправлена ошибка синхронизации окон времени при их удалении из базы. Синхронизация происходила только после перезагрузки базы данных.
Исправлена ошибка, при которой ядро «не видело» изменений срока действия ключа, если изменения коснулись только времени.
Исправлена ошибка запроса состояний зон при обнаружении устройств после потери по протоколу «Орион Про» (ранее зоны так и оставались в потерянном состоянии).
Исправлена ошибка восстановления связи с приборами по протоколу «Орион Про». Ранее связь могла не восстанавливаться, если события об обнаружении устройств приходили как «старые».
Исправлена ошибка перезаписи ключей. При количестве ключей свыше 150 не все ключи перезаписывались.
Исправлена ошибка передачи ContactID на УО-4С при передаче события взятия/снятия для раздела по протоколу Орион Про.
Исправлена ошибка при чтении ключа на позициях, кратных 256. Ключ не прочитывался, что в итоге приводило к «мнимым» лишним ключам в приборах и появлению дубликатов.
Исправлены ошибки связанные с приоритетностью событий («Потеря контакта» была ниже приоритетом для раздела, чем «Взлом корпуса»).
Исправлена ошибка, связанная с затиранием памяти. Возникала в случае, если максимальный номер порта превышает количество портов в системе. Чаще всего затиралась переменная, отвечающая за посылку квитанции. Проявлялось как остановка обменов по порту, причем не по тому порту, по которому шло управление.
Исправлена ошибка, при которой ядро опроса работает в демонстрационном режиме при настройке в режиме видеосервера.
Badriver
Исправлена ошибка обновления ключей и отпечатков в био-контроллерах (идентификаторы записывались всего один раз).
Доработана возможность переподключения при инициализации контроллеров.
Доработана возможность передачи событий после обрыва связи.
Учёт рабочего времени
Исправлены ошибки пропадания некоторых элементов интерфейса.
Исправлена ошибка при исключении отчёта «О сотруднике (подробно)» праздничных и выходных
Исправлена ошибка записи в файл автогенерации.
Исправлена ошибка порядка столбцов при экспорте.
Доработана возможность автогенерации отчётов по фирмам.
Исправлена ошибка дублирования списка подразделений при выборе «Всех фирм».
Исправлена ошибка при выборе из сформированного отчета сотрудника. Если у сотрудников пробел в фамилии, то он помещался выше, чем все сотрудники.
Исправлена ошибка исключения праздничных и выходных дней из «Отчета о сотруднике (подробно)» (дни не исключались).
Исправлена ошибка » Invalid pointer operation» при формировании отчета «О сотруднике подробно (общий)».
Электронные сейфы (ключницы)
Исправлена ошибка отображения пеналов и секций в списке добавленияудаления пеналов на вкладке «Уровни доступа», если секций у ключницы больше, чем 1.
Исправлена ошибка, не позволяющая корректно определить ключницы, работающие по Ethernet.
Исправлена ошибка при работе с ключницами по Ethernet. Неверно определялись номера пеналов, если секций больше, чем 1.
Ошибка отображения сетевого адреса ключниц в отчёте о прошедших событиях.
Исправлена ошибка, возникавшая при разрыве соединения с ключницей, работающей по Ethernet, соединение с прибором не восстанавливалось повторно через 5 минут.
Исправлена ошибка запуска драйвера ключниц. Драйвер ключниц не запускается при старте, так как объекты ключницы не загружаются из-за смены механизма чтения данных о лицензировании ключниц из ключа защиты ОЗ. Информация о лицензии появляется позже, чем загружаются объекты ключниц.

Многие пользователи ноутбуков при открытии диспетчера устройств обнаруживают некорректную работу видеоадаптера, об этом говорит желтый треугольник с восклицательным знаком внутри. В данной статье рассмотрим конкретную ошибку:

Это устройство работает неправильно, т.к. Windows не удается загрузить для него нужные драйверы. (Код 31)

Запускаемый драйвер не совпадает с драйвером видеоадаптера, прошедшего проверку POST.

Запускаемый драйвер не совпадает с драйвером видеоадаптера, прошедшего проверку POST.

При этом установка драйверов не решает проблему. Ошибка возникает из-за одной из четырех причин:

  • Отвал видеочипа. Пожалуй, самая распространенная причина. Решается заменой видеочипа, такие работы проводят только в сервисных центрах.
  • В вашей модели ноутбука установлена родная плата определенной модели с конкретной видеокартой (видеочипом). BIOS был прошит через программатор не родной прошивкой, то есть версия прошивки выпускалась производителем для другой модели, у которого, возможно, материнская плата идентичная, но отличается видеочип.
  • В вашем ноутбуке заменили материнскую плату на аналогичную, возможно с той же ревизией, но с отличающейся видеокартой. По умолчанию все должно работать как часы, пока в какой-то момент не прошили биос через программатор. Дело в том, что специалисты скачивают версию BIOS с официального сайта разработчика ориентируясь на модель ноутбука, но так как плата внутри не родная, соответственно и прошивка от модели ноутбука не подходит данной плате для корректной работы.
  • На вашей плате в свое время вышла из строя видеокарта, вам заменили видеочип, но он отличается от родного. Чаще всего это происходит из-за перемаркировки (часто практикуется в Китае), то есть на кристалле указана модель вашего чипа, но на самом деле чип другой, а маркировка на кристалле просто нанесена лазерной гравировкой. Обычно такие чипы взаимозаменяемые, но, к сожалению, это проходит не на всех платах. Решение: заменить на родной видеочип или вручну редактировать id чипа в микропрограмме BIOS.

Обычное обновление биос через интерфейс микропрограммы или утилиту не приводит к данной проблеме, это происходит только после работы с программатором. Вернуть родную версию биос после таких манипуляций обычными средствами (через BIOS или утилиту) не возможно.

Лучшее «Спасибо» — ваш репост

Вячеслав. Специалист по ремонту ноутбуков и компьютеров, настройке сетей и оргтехники, установке программного обеспечения и его наладке. Опыт работы в профессиональной сфере 9 лет.

Вам также может понравиться

Видеокарта

Как разогнать видеокарту через MSI Afterburner

Сжатие изображений без потери качества

Сжатие изображений без потери качества

Как сделать скриншот на компьютере

Как сделать скриншот на компьютере

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также:

  • Project bones fl studio что это
  • Как установить дискорд на компьютер
  • Как сделать пояснительную записку в ворде
  • Проверить сертификат 1с эдо
  • Как удалить адрес почты из памяти mail

12 типичных ошибок при бэкапе баз данных


Изначально эта статья задумывалась только для разработчиков и администраторов СУБД Firebird, но после общения с администраторами других БД выяснилось, что большинство ошибок общие, и на очень похожие грабли наступают буквально все. Если Вы можете что-то добавить к этому списку (пусть даже специфическое для конкретной СУБД), пишите в личную почту или в комментариях.
In English: 12 Common Mistakes while Backing Up Databases

Наша компания занимается инструментами восстановления, резервного копирования, оптимизации и поддержкой СУБД (в основном Firebird, но есть и MSSQL, PostgreSQL, InterBase и др.) и, как результат многочисленных аудитов и ремонтов, накопила коллекцию ошибок, связанных с резервным копированием. Все пункты ниже изложены по мотивам реальных случаев с повреждением баз, потерей и повреждением бэкапов, дисков, сбоями серверов, и прочих «радостей» администраторов БД.

Хотелось бы о них рассказать, чтобы администраторы и разработчики могли поменять свои подходы к управлению бэкапами и предупредить возможные проблемы.

Итак, приступим.

1. Удаление предыдущей копии бэкапа до того, как будет создана новая копия бэкапа
Чаще всего эту ошибку совершают новички, которые не понимают, что основная цель существования резервной копии БД – обеспечить минимальный простой информационной системы (важной частью которой является БД), а не просто создание копии БД.
В результате, с момента удаления последнего бэкапа до создания нового, система находится в незащищенном состоянии, потому что в этот период у базы данных нет ни одной резервной копии. Так как бэкап может создаваться достаточно долго, то это идеальное время для срабатывания закона Мерфи. Особенно хорошо этот подход работает в связке с пунктом 7 (см. ниже).
Рекомендация: не удаляйте предыдущий бэкап до того момента, как создан новый! (и не делайте новый бэкап в уже существующий файл)

2. Перезапись существующей базы данных при восстановлении из бэкапа
Эту ошибку совершают реже, но вот результаты могут быть гораздо печальнее. Если бэкап не проверялся и был поврежден (см. пункт 6), то в результате перезаписи у вас не будет ни предыдущей копии базы, ни валидного бэкапа.
Обычно это безобразие случается в пятницу вечером, в момент дерготни, неразберихи и противоречивых указаний со стороны начальства. Немного отрицательного везения и томные выходные в серверной обеспечены.
У Firebird есть некая защита от этой ошибки – создание рестора из бэкапа с помощью утилиты gbak с дефолтным ключом –create не сработает в случае, если указанное имя файла указывает на существующую БД. К сожалению, есть и обход этой защиты – переключатель –rep, который позволяет-таки переписать существующий файл.
Рекомендации: никогда не перезаписывайте файл боевой БД, не получив письменного указания руководства и, желательно, не получив предложения о новой работе.

3. Использование одношагового бэкапа-рестора, без создания промежуточного файла бэкапа
Стандартные потоки ввода-вывода позволяют провернуть с многими СУБД (с Firebird в том числе) интересный трюк: выполнять потоковый бэкап с немедленным восстановлением БД из него. В результате не создается промежуточный файл бэкапа. Это удобно для проведения регламентных работ и запуска проверочного восстановления (при наличии другой резервной копии), но ни в коем случае не надо использовать это для автоматического бэкапа!
Если в процессе такого бэкап-рестора произойдет серьёзный сбой диска, например, то может повредиться исходная база данных, а новая еще не будет создана. Конечно, если п.1 соблюдается, и есть копия БД от предыдущей попытки, то произойдет только потеря данных, которые были созданы или изменены в БД с момента создания ее копии.
Рекомендации: не используйте одношаговый бэкап-рестор в автоматическом режиме, а в ручном всегда проверяйте наличие достаточно свежей копии.

4. Хранение бэкапа и базы данных на одном и том же физическом устройстве
Тут многие могут посмеяться, что советы мы какие-то детские даем – это же азбука системного администрирования. Так-то оно так, но в связи с распространением виртуальных сред и БД, и диск могут находиться на одной СХД. А она обязательно сломается в самый неподходящий для бизнеса момент. Плюс, все еще существуют люди, которые верят в то, что если они используют RAID (от 1 и выше), то с их данными вообще ничего не может случиться. Еще есть люди, которые верят в сверхнадежность «брендового» железа, но это особый случай.
Рекомендации: не храните бэкап и БД на одном и том же физическом устройстве, каким бы надежным оно не казалась.

5. Отсутствие проверки успешного окончания бэкапа
Вот это довольно частая ошибка и администраторов, и руководителей ИТ подразделений. Если результат бэкапа не проверять, то можно бэкап не делать вообще — результат в общем тот же. Обязательно нужны нотификации по email об успешном бэкапе, а еще лучше и по СМС. Причем, отсутствие нотификации это признак проблемы!
А причем тут руководители, спросит внимательный читатель, дочитавший до этого места? А притом, что администратор обычно бэкап настроит, но вот нотификации ему проверять лень, тем более что лежат они у него в отдельной папочке, и поэтому руководителю ИТ-отдела надо периодически запрашивать дополнительный отчет о состоянии всех бэкапов. Это к вопросу, кого наказывать, если бэкапы вроде есть, но в нужный момент их не оказалось 🙂
! А при комбинировании с пунктом 2 получаем отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты автоматизации бэкапов, которые умеют отслеживать успешные и неуспешные бэкапы, сообщать пользователям о проблемах, и имеют обзорные средства контроля (особенно актуально, когда нужно контролировать десятки и сотни бэкапов на разных серверах).

6. Отсутствие валидации бэкапов
То, что бэкапы куда-то кладутся, не означает, что они оттуда могут быть прочитаны.
Поэтому обязательна периодическая верификация создаваемых бэкапов, чтобы быть уверенным, что создаваемые бэкапы не повреждены, не были скопированы в /dev/null
Рекомендации: никому не доверять, даже себе. Всех надо проверять.

7. Отсутствие health check базы данных при использовании неверифицированных бэкапов
Обычно СУБД имеют несколько видов бэкапа – дампы, просто бэкапы и т.д. Не вдаваясь в конкретику, можно выделить 2 категории – верифицированные и неверифицированные бэкапы. У Firebird это gbak и nbackup.
Gbak читает всю БД на уровне записей для создания файла бэкапа, и создает БД путем вставки записей в новую БД, и таким образом верифицирует и бэкап (есть варианты, как ошибки могут просочиться в отресторенную копию, но это уже другой вид факапа администратора БД, связанный с неверной миграцией), и саму базы данных (если она может быть прочитана от начала до конца, то с большой долей вероятности она не повреждена).
Nbackup (он же инкрементальный бэкап) – временно блокирует основной файл БД на запись (в консистентном состоянии), и позволяет быстро скопировать файл базы данных (полностью или частично/инкрементально).
Для больших БД Firebird (более 500Гб), предпочтительно делать nbackup, чтобы не тормозить работу пользователей, но при этом нужно проверять БД, ведь созданные неверифицированные бэкапы – это страничные копии БД, и если ошибка гнездится на уровне записей (такое случается из-за сбоя RAM) или на логическом уровне, то неверифицированный бэкап будет ее содержать так же, как и оригинальная БД.
Для этого нужно использовать онлайн-валидацию исходной базы данных (в Firebird начиная с версии 2.5.4 доступна онлайн-валидация при помощи gfix, а наш инструмент FBDataGuard поддерживает онлайн-проверку БД для версий 1.5-2.5).
Также, в дополнение к неверифицированному бэкапу желательно периодически (раз в неделю, например) делать верифицированный бэкап.
Для других СУБД необходимо использовать соответствующие средства и комбинации проверок.

8. Отсутствие контроля за свободным местом для бэкапа
В общем-то, это классическая ошибка — при недостатке места бэкап занимает все свободное место и аварийно завершается. При размещении бэкапа на одном диске вместе с БД может привести к остановке работы с БД, при размещении на системном диске – к поломке системы.
В комбинации с пунктом 4 в лучшем случае получим остановку работы системы, потому что базе данных тоже нужно свободное место, а оно кончилось из-за бэкапа.
А в комбинации с пунктами 5 и 2 опять получаем в результате отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты для бэкапа, которые делают прогноз размера бэкапа и предупреждают о возможной нехватке места.

9. Отсутствие контроля времени продолжительности бэкапа
Буквально полгода назад бэкап длился 40 минут, и вдруг стал 3 часа – почему? Возможно, вырос размер БД, а может быть, выпал диск из RAID-массива, отчего скорость записи резко деградировала, и все ваши бэкапы вот-вот покинут этот бренный мир. А может быть, добрый коллега одновременно включил еще одну систему резервного копирования (кстати, в Firebird можно запустить несколько бэкапов сразу, только не очень понятно, зачем это может быть нужно).
Если не контролировать время исполнения бэкапа, то можно проглядеть возникшую проблему и упустить шанс исправить ее до того, как она станет большой.
Также, в случае, если система резервного копирования не отслеживает состояния заданий, а запускает их просто по графику, легко можно попасть на «утренний троллейбус» — это когда новый бэкап может начаться в момент, пока предыдущий еще не закончился.
Рекомендации: использовать средства контроля продолжительности процесса бэкапа.

10. Исполнение бэкапа БД во время применения апдейтов ОС
Очень частая проблема, особенно в комбинации с п.9 и включенными автоматическими апдейтами Windows (которые по умолчанию происходят в 3 ночи). В лучшем случае приводит к замедлению процесса, а если ОС перегружается для применения апдейтов, то бэкап будет испорчен. Хорошо еще, что апдейты ОС не каждый день случаются.
Рекомендации: Если нельзя отключить, то назначьте апдейты ОС на такое время, когда они не смогут помешать бэкапам.

11. Бэкап базы данных средствами файлового бэкапа или средствами бэкапа виртуальной машины целиком, при включенном сервере БД
Многие администраторы забывают о том факте, что любая СУБД имеет активный и сложный кэш, в котором содержатся читаемые и записываемые данные, а сами файлы БД открываются в режиме случайного доступа.
Именно поэтому необходимо использовать специальные виды бэкапа, а не простой файловый бэкап (включая простое копирование файлов БД) или бэкап виртуальной машины. Файловые средства бэкапа читают БД последовательно и, особенно для больших БД, могут идти продолжительное время, поэтому нельзя гарантировать целостность созданной копии.
Для желающих осуществлять бэкап БД с помощью файловых средств или средств бэкапа виртуальных машин можно предложить 2 способа:

  1. полностью выключать сервисы и процессы СУБД, чтобы ничего не находилось в кэше,
  2. использовать агенты и/или скрипты, переводящие базы данных в специальный режим, когда копирование файла БД последовательным образом является безопасным.

Для Firebird необходимо блокировать основной файл БД с помощью nbackup до начала резервного копирования и разблокировать после окончания, для других СУБД есть аналогичные средства включения/выключение соответствующих режимов.

Кое-кто из администраторов БД убежден, что если в СУБД есть лог транзакций, то такую БД можно безопасно бэкапить стандартными файловыми средствами, в крайнем случае будет повреждение только этого лога. Это опасное заблуждение, которое не поддерживается производителями СУБД.

Корни этого заблуждения понятны: агрессивная реклама от производителей виртуальных машин и от производителей средств бэкапа обычно умалчивает о том, что для БД и других активно изменяемых файлов необходимы дополнительные настройки. Не доверяйте рекламе — не все йогурты одинаково полезны.
Рекомендации: не используйте файловые средства бэкапа и средства бэкапа VM без соответствующих средств автоматизации.

12. Подмена бэкапа репликацией
Бэкап и репликация данных служат повышению надежности и предотвращению потери данных, но все же существенно отличаются.
Все любят репликацию за способность синхронизировать данные на другом сервере с минимальном задержкой, однако и у бэкапа есть ряд неоспоримых преимуществ. Например, в случае случайного (или намеренного) удаления данных репликация быстро и невозмутимо оттранслирует изменения на реплику, а бэкап, особенно на read-only носителе, к таким операциям невосприимчив. Настроить правильную репликацию, как и правильный бэкап, стоит определенных усилий, и вероятность ошибок там также существует.
Рекомендации: Если у вас настроена репликация, не пренебрегайте бэкапами, используйте их совместно.

Выводы
Правильно организовать резервное копирование для вашей любимой СУБД не так-то и просто, поэтому обычно администраторы БД из организаций, где ценят данные, обычно используют профессиональные инструменты для бэкапов, которые позволяют учесть и предотвратить описанные выше ошибки. Для Firebird (уж простите за рекламу) есть наш FBDataGuard, для других СУБД можно использовать DBArtisan или другие средства.

Ну, и конечно – не забывайте холить и лелеять свою админскую паранойю, например, возьмите и проверьте свои бэкапы… вот прямо сейчас!

Господа, просьба откликнуться в личку тех, кто использует CBT на VMWare для ВМ с БД.

Как исправить ошибки MS SQL и восстановить базу данных

Приглашаем разобраться в важных темах – устранения ошибок MS SQL и восстановления базы данных. Получите представление о разных способах устранения проблемы, которые следует использовать при различных обстоятельствах.

Восстановление баз данных

Специалисты пользуются несколькими способами восстановления баз данных (БД). Наиболее простой и удобный ­– воспользоваться программой (SSMS) SQL Server Management Studio.

Как восстановить

Узнать, где находится SQL Server Management Studio, довольно легко. Microsoft Windows Server 2012 R2 располагается в стандартном перечне программных продуктов. В Microsoft Windows Server 2008 R2 следует зайти в меню Пуск и отыскать Microsoft Windows Server 2012. Там смотреть Microsoft SQL Server Management Studio.

Далее следует ввести тип сервера с именем, а чтобы подтвердить подлинность – информацию, требуемую для прохождения авторизации. Нажать Соединить (Connect).

В левом углу из обозревателя (Object Explorer) раскрыть Базы данных (Server Objects). Из представленного перечня отобрать базу, подлежащую восстановлению либо ту, данные которой будут восстанавливаться. На выбранном файле кликнуть мышкой и в выпавшем перечне выбрать Задачи (Tasks), затем Восстановить (Restore), потом База данных… (Databases …).

Проделанные шаги дадут старт процессу Restore Database, а значит требуемая база данных начнет восстанавливаться. Следует сделать выбор источника для Restore Database.

Чтобы возобновить базу данных, при запуске мастер восстановления сделает попытку автоматом определить очередность файлов резервных копий. В том случае, когда базу данных нужно загружать из определенной папки либо устройства, понадобится:

  1. Переключить соответствующую кнопку на Устройство (From device).
  2. Прописать, откуда восстановится БД.
  3. Выбрать инфобазу, в которую произведется загрузка данных (Destination for restore). Ею может выступать любая БД, которая регистрировалась на SQL Server (в том числе и база, с которой создавалась резервная копия).

В программе реализована возможность указания времени, необходимого для восстановления БД. Для этого необходимо просто кликнуть по кнопке Временная шкала… (Timeline). Если существует скопированный журнал транзакций или checkpoint в нем, то требуемый промежуток времени может быть указан с высокой точностью (вплоть до секунды).

Если требуется провести копирование БД, то во вкладке Файлы (Files) нужно будет прописать путь к файлам выбранной инфобазы.

Настройка дополнительных параметров

Также в программе реализована возможность настройки дополнительных параметров. Выставляя тот или иной флажок, можно регулировать необходимые действия. Следует выбрать соответствующий флажок, чтобы в процессе восстановления БД:

  • Которая опубликована не на сервере, где она создавалась, сохранились настройки репликации, поможет отметка «Сохранить параметры репликации). Он важен, если при резервном копировании была реплицирована БД;
  • была проведена перезапись файлов БД с именем, которое указывалось в качестве базы назначения – нужно поставить отметку «Перезаписать существующую базу данных»;
  • сузить доступность к базе всем, кто не sysadmin, db_owner, dbcreator – нужно поставить флажок «Ограничение доступа к восстановленной базе данных»;
  • старту должен предшествовать перевод БД в режим одного пользователя, а по его завершению вернуть в пользование для множества пользователей – поставить отметку «Закрыть существующие соединения»;
  • чтобы провести требуемое резервное копирование завершающего фрагмента журнала транзакций, следует поставить отметку «Создание резервной копии заключительного фрагмента журнала перед восстановлением». Если в окошке Временная шкала резервного копирования (Backup Timeline) для временной точки требуется эта резервная копия, то отметка будет поставлена системой, без возможности снятия;
  • чтобы после завершения восстановления каждой резервной копии уточнялась необходимость продолжения процесса – следует поставить отметку «Выдавать приглашение перед восстановлением каждой резервной копии» (Prompt before restoring each backup). Достаточно полезен, т.к. после того, как восстановлено определенное количество резервных копий можно остановить дальнейшую цепочку восстановительных процессов.

Настроив все важные параметры следует нажать ОК. Тем самым запустится процесс. Соответствующее уведомление сообщит об его окончании.

Восстановление базы в новое место

Чтобы перенести базу данных MSSQL Server по другому пути каталога либо сделать ее копию, следует знать, как восстановить БД в новую папку. Полезно знать как ее переименовывать. Для этого можно воспользоваться вышеупомянутой программой SSMS и T-SQL.

Подготовка к восстановлению базы данных

Перед стартом процесса восстановления нужно соблюдать ряд требований:

  1. Когда осуществляется процесс восстановления базы, доступ к ней может быть только у системного администратора. Для остальных пользователей доступ должен быть ограничен.
  2. Перед восстановлением нужно сделать резервную копию активного журнала транзакций.
  3. Чтобы восстановить зашифрованную базу необходим доступ к сертификату либо ассиметричному ключу, который применялся в качестве ее шифратора. Не имея доступа к ним, восстановление зашифрованной БД становится невозможным. Потому, такой сертификат следует хранить, пока может понадобиться резервное копирование.

После того, как база данных версии SQL Server 2005 (9.x) либо более поздней, восстановится, произойдет автоматическое обновление, и она станет доступной.

Если присутствуют полнотекстовые индексы

В том случае, когда в БД SQL Server 2005 (9.x) присутствуют полнотекстовые индексы, в момент ее обновления произойдет импорт, сброс либо перестроение. Результат зависит от того, какое значение проставлено в свойствах сервера upgrade_option.

При обновлении такие индексы станут недоступны, если upgrade_option имеет значения:

  • 2 в режиме импорта;
  • 0 в режиме перестроения.

Продолжительность поцессов импорта и перестроения зависит от того, какой объем занимают данные. Импорт может длиться пару часов, а процесс перестроения – гораздо дольше (может продолжаться в 10 раз дольше).

В том случае, когда выбран процесс Импорт, а доступ к полнотекстовому каталогу отсутствует, то произойдет перестроение одноименных индексов, которые связаны с ним. Для изменения свойств upgrade_option необходимо воспользоваться процедурой sp_fulltext_service.

Соблюдение правил безопасности

Чтобы обезопасить себя, крайне не рекомендуется проводить присоединение либо восстановление БД, которые были получены из ненадежных или вовсе неизвестных источников. Они могут содержать вредоносные коды, способные:

  • запускать выполнение инструкций T-SQL, не предусмотренных системой;
  • вызывать ошибки в результате изменения схемы либо самой структуры БД

Если БД получена из источников, не внушающих доверия, то перед началом ее использования необходимо:

  • протестировать по инструкции DBCC CHECKDB;
  • исследовать исходный и иные коды БД, изучить процедуры.

Инструкции RESTORE

На ход реализации этих инструкций влияет факт существования восстанавливаемой базы. Если база:

  • присутствует, то разрешения получают пользователи sysadmin, dbcreator, dbo (владелец БД) по умолчанию;
  • отсутствует, то пользователям потребуются разрешения CREATE DATABASE.

Разрешения на реализацию таких инструкций выдаются в соответствии с ролями. В соответствии с ними сервер всегда имеет доступ к данным о членстве. Разрешение RESTORE отсутствует у пользователей с ролями db_owner. Причина в том, что членство может быть проверено лишь в тех случаях, когда к базе данных всегда есть доступ и она не повреждена. А это иногда не соблюдается в процессе выполнения инструкций RESTORES.

Пошаговая инструкция восстановления БД в новую папку в SSMS

  1. Открыть SSMS и произвести подключение к SQL Server Database Engine.
  2. Щелкнуть мышкой по имени сервера, чтобы развернулось его дерево.
  3. Кликнуть мышкой на Базы данных, потом – по Восстановить базу данных.
  4. В разделе Источник выбрать Общие, чтобы определить соответственное расположение и источник копий, подлежащих восстановлению. Пользователю предлагается выбрать нужный вариант (Базы данных либо Устройства). Особенности:
  5. При выборе Базы данных открывается перечень БД, где можно выбрать нужную. В нем представлены лишь те базы, у которых резервные копии создавались по журналу msdb. Стоит отметить, что для БД на целевом сервере, резервные копии которых поступили с иных серверов, подобный журнал будет отсутствовать. В таких ситуациях следует выбирать вариант Устройство. Это позволит руками прописать файл, а в случае необходимости – обозначить устройство для выполнения восстановления.
  6. Устройство можно выбрать, воспользовавшись кнопкой обзора (…). В результате появится окошко Выбор устройств резервного копирования. Перейти в окошко Тип носителя резервной копии, в котором из списка выбрать необходимый тип устройства. Если требуется добавить ряд устройств, это можно сделать с помощью кнопки Добавить в окошке Носитель резервной копии. Когда все необходимые устройства добавлены, необходимо вновь перейти на страницу Общие. Для этого следует нажать ОК в списке Носитель резервной копии. Обратившись к списку Источник: Устройство: База данных обозначить название БД, куда будет производиться восстановление. Пользователь может воспользоваться данным списком только при выборе Устройства. Можно выбирать лишь те БД, у которых на отобранном устройстве имеются резервные копии.
  7. Название новой базы для проведения восстановления автоматом сформируется в поле База данных в разделе Назначение. При желании оно может быть изменено. Для этого желаемое название вводится в окошке База данных.
  8. Далее перейти к Восстановить до. Пользователь может оставить значение До последней выбранной резервной копии (по умолчанию) либо кликнуть по Временной шкале. При выбре второго варианта всплывет соответствующее окошко Временная шкала …. В нем нужно указывать точное время.
  9. Необходимые резервные копии для восстановления можно выбрать в соответствующей сетке. В ней отражены все наборы, доступные в выбранном месте. Система сама предложит план восстановления отобранных копий, который будет использован по умолчанию. Он может быть переопределен, если в сетке изменить отобранные элементы.
  10. Для указания другого места расположения файлов базы, необходимо выбрать страницу Файлы после чего нажать на Переместить все файлы в папку. Следует указать вновь выбранное место расположения папок файлов данных и журнала.
  11. Если возникла необходимость – провести настройку параметров, как было рассказано выше.

Чтобы начать процесс, в котором будет восстанавливаться БД в новую папку с возможностью переименовывать ее, можно воспользоваться инструкциями Transact-SQL.

Как просмотреть отчет

Стандартный отчет «События резервного копирования и восстановления» позволяет получить сведения о том, когда проводилось:

  • Резервное копирование определенной БД;
  • операции восстановления базы MS SQL из них.

Данный отчет включает данные, касающиеся создания резервных копий:

  • время, затраченное на это в среднем (Average Time Taken For Backup Operations);
  • операции, которые прошли успешно (Successful Backup Operations);
  • ошибки, которые были допущены (Backup Operation Errors);
  • удачно прошедших восстановлений баз (Successful Restore Operations).

Чтобы он начал формироваться, следует в Обозревателе объектов выбрать нужную БД и щелкнуть по ней мышкой. Выбрать в меню Отчеты, а затем – Стандартный отчет. После этого кликнуть на События резервного копирования и восстановления.

Чтобы просмотреть информацию из сформированного отчета следует выбрать нужную группировку и раскрыть данные по ней.

Для восстановления поврежденной БД можно воспользоваться еще одним инструментом.

Как исправить ошибки в MS SQL с помощью Recovery Toolbox for SQL Server

Для восстановления поврежденной базы данных можно обратиться к помощи Recovery Toolbox for SQL Server. Для исправления ошибки (Error), следует воспользоваться пошаговой инструкцией восстановления данных из файла *.mdf, который был поврежден. Для этого необходимо:

  1. Скачать Recovery Toolbox for SQL Server.
  2. Установить программу следуя инструкциям и запустить ее.
  3. Из списка файлов выбрать файл *.mdf, который был поврежден.
  4. Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
  5. Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
  6. сохранением на диск в качестве SQL-скрипта;
  7. выполнением SQL-скрипта в самой БД.
  8. Произвести выборку информации, требующей восстановления и сохранения.
  9. Начать восстановление нажатием Start recovery.

Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.

Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.

Инструкция по созданию/восстановлению резервных копий баз данных

Эта информация была полезна? 0 m n 0

Резервные копии рабочих баз данных, т.н. backup (бэкап), рекомендуется делать регулярно (на случай аппаратных и/или программных сбоев на сервере) с использованием планировщиков заданий, процесс настройки которых подробно описан в инструкциях по установке сетевых версий программ Альта-Софт (включая «Альта-ГТД»). Кроме того, в самой программе «Альта-ГТД» имеется функция, позволяющая создать резервную копию рабочей базы – см. меню Сервис/Бэкап БД SQL.

В процессе создания резервной копии «живая» база данных выгружается в файл на диск компьютера (на котором установлен SQL Server). В результате получается целостный файл, из которого в любой момент можно гарантированно восстановить базу данных до состояния, в котором она находилась на момент создания резервной копии. Причем по заверениям корпорации Microsoft резервную копию можно создавать даже во время активной работы пользователей с базой, однако «при прочих равных» мы рекомендуем делать копии, когда с базой никто не работает (хотя бы чтобы понимать в каком состоянии она находилась на момент копирования).

Перенос базы данных с одного SQL-сервера на другой также необходимо делать с помощью операций:

Создание резервной копии базы данных (backup)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» копируемой базы):
  3. Нажать правой кнопкой мыши на имени копируемой БД (в разделе «Базы данных») и выбрать меню «Задачи/Создать резервную копию»:
  4. В разделе «Назначение» указать путь и имя файла (путь всегда задается для компьютера, где установлен сам SQL Server!), в который будет выгружена база данных, для чего использовать кнопки «Удалить» и «Добавить» до тех пор, пока в поле «Создать резервную копию на» не будет отображен ровно один желаемый путь:
  5. На странице «Параметры» установить переключатель «Создать резервную копию в новом наборе носителей…» и галочку «Проверить резервную копию после завершения»:
  6. Нажать кнопку «ОК».

Примечание. Резервные копии баз данных SQL Server обычно хорошо сжимаются архиваторами (WinRAR, WinZIP и т.п.), поэтому размер полученного файла (*.bak) можно сильно уменьшить с их помощью.

Восстановление базы данных из резервной копии (restore)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» восстанавливаемой базы при наличии таковой или серверную роль «dbcreator»):
  3. Нажать правой кнопкой мыши на разделе «Базы данных» и выбрать меню «Восстановить базу данных»:
  4. На странице «Общие» выполнить следующие действия:
    • В поле «В базу данных» ввести имя для восстанавливаемой базы (если будет указано имя существующей базы, то это эквивалентно тому, что сначала полностью удалить существующую базу и затем восстановить из резервной копии новую базу, т.е. все данные существующей базы будут утеряны!);
    • Установить переключатель «С устройства» и указать путь к файлу резервной копии, нажав кнопку «…»;
    • Установить галочку «Восстановить» в нужной строке (которых может быть несколько, если один файл *.bak содержит несколько резервных копий базы):
  5. На странице «Параметры» установить галочку «Перезаписать существующую базу данных» и проверить пути в списке «Восстановить файлы базы данных как» (должны указывать на существующую папку на SQL-сервере, к которой предоставлены права на запись – пути по умолчанию обычно должны заканчиваться папкой DATA, а не просто MSSQL):
  6. Нажать кнопку «ОК».

Примечание. После восстановления базы данных на другой версии SQL Server (например, при переносе с SQL2005 на SQL2008) рекомендуется в свойствах базы данных переключить параметр «Уровень совместимости» на последнюю версию (см. страницу «Параметры» в свойствах БД).

Кроме того, после переноса базы на любой новый SQL-сервер придется заново настроить авторизацию и регулярное резервное копирование в соответствии с инструкцией по установке сетевой версии соответствующей программы.

Для переноса большого количества «имен входа» (логинов) с их паролями на новый сервер можно воспользоваться способом, описанным в статье базы знаний Microsoft. Однако, следует иметь в виду, что данный способ не переносит серверные права логинов (принадлежность «серверным ролям», право на «просмотр состояния сервера» и т.п.), а также не подходит для переноса с SQL 2012 на более ранние версии SQL Server.

источники:

http://otus.ru/journal/kak-ispravit-oshibki-ms-sql-i-vosstanovit-bazu-dannyh/

http://www.alta.ru/support/27/

Настроил работу СКУД RusGuard с настольным считывателем R5 USB

Поставщик СКУД не реализовал функции добавления пропуска в систему и проверки карт пропусков.

Когда я получил считыватель R5 USB, оказалось, что в окне добавления ключа RusGuard считывает с карты только 24-битное значение, которое записано в левой части идентификатора карты. При этом СКУД хранит более длинный ключ и считыватели турникета и дверей передают в СКУД именно такой длинный идентификатор.

Утилита RusGuard Reader Config позволила настроить настольный считыватель, чтобы он в режиме эмуляции клавиатуры передавал такое же длинное значение идентификатора, как и хранящиеся в СКУД идентификаторы. Для этого в блоке «Настройки дополнительных интерфейсов» параметр «Виртуальные интерфейсы» установил в значение «Эмуляция клав.» а «Формат кода по доп. портам» в значение «Код в Dec».

Вносить значение ключа пропуска стало возможным, но функция «Проверить пропуск» все равно не работала.

Чтобы исправить ситуацию в RusGuard Soft зашел в раздел «Конфигурация системы» — Система и установил значение параметра «Длина кода ключа, считываемого с настольного считывателя (байт)» равным 5 (вместо изначального 3).

После этого заработала функция «Проверить пропуск» а по нажатию кнопки Считать при добавлении пропуска значение идентификатора стало считываться такое же длинное, как и в режиме эмуляции клавиатуры.

За ненадобностью программой RusGuard Reader Config отключил режим эмуляции клавиатуры.

Для настройки подключения к серверу RusGuard необходимо выполнить следующие действия:

  1. Перейти на панель настроек объекта Rusguard v2, который создается на базе объекта Компьютер на вкладке Оборудование диалогового окна Настройка системы.
  2. В поле Имя сервера ввести имя сервера RusGuard (1).
  3. В поле Логин ввести имя пользователя, обладающего правами администратора сервера RusGuard (2).
  4. В поле Пароль ввести пароль пользователя, обладающего правами администратора сервера RusGuard (3).
  5. Нажать на кнопку Применить (4).

Настройка подключения к серверу RusGuard завершена.

Локализация ошибки. Компоненты

АРМ (распределенный вариант установки) и сервер RusGuard. Все версии ПО.

Описание причин и устранение ошибки

Если время и дата настроены некорректно, возможно возникновение ошибки при запуске ПО (см. рис. 7). Для исправления ошибки необходимо привести локальные настройки времени и даты в соответствие с сервером. Допустимое расхождение: +/- 5 минут.

Рисунок 7 - Ошибка при запуске ПО. Некорректно выставлено время и дата на локальном ПК

Рисунок 7 — Ошибка при запуске ПО. Некорректно выставлено время и дата на локальном ПК

Пример

Корректная настройка

В таблице ниже приведены примеры корректной настройки времени/даты (см. табл. 1).

Таблица 1 — Пример правильной настройки времени/даты

Сервер

АРМ

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 15.50 (часовой пояс +3)

Время 16.50 (часовой пояс +4)

Время 17.50 (часовой пояс +5)

Некорректная настройка

В таблице ниже (см. табл. 2) приведены примеры некорректной настройки времени/даты:

одинаковое время при разных часовых поясах;

разное время в одном часовом поясе.

Таблица 2 — Пример неправильной настройки времени/даты

Сервер

АРМ

Время 16.50 (часовой пояс +4)

Время 16.40 (часовой пояс +4)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +3)

Время 16.50 (часовой пояс +4)

Время 16.50 (часовой пояс +5)

Произошла ошибка при проверке безопасности сообщения

когда я пытаюсь вызвать службу WCF я получаю следующее сообщение «произошла ошибка при проверке безопасности сообщения.»

когда я удаляю пользовательскую аутентификацию, служба работает без проблем. Я не могу понять, что я неправильно сконфигурировал в своей сети.конфиг. Любое понимание будет оценено.

  <system.serviceModel>
     <services>
        <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior"
          name="NAThriveExtensions.nableAPI">
           <endpoint 
             address="" 
             binding="basicHttpBinding" 
             bindingConfiguration="basicHttpBinding_Secure"
             contract="NAThriveExtensions.InableAPI">
           </endpoint>
           <endpoint 
             address="mex" 
             binding="mexHttpsBinding" 
             contract="IMetadataExchange" />
        </service>
     </services>
     <behaviors>
        <serviceBehaviors>
          <behavior name="NAThriveExtensions.nableAPIBehavior">
            <serviceMetadata httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            <serviceCredentials>
              <userNameAuthentication 
                userNamePasswordValidationMode="Custom" 
              customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" />
            </serviceCredentials>
          </behavior>
        </serviceBehaviors>
     </behaviors>
     <bindings>
       <basicHttpBinding>
         <binding name="basicHttpBinding_Secure">
           <security mode="TransportWithMessageCredential">
             <message clientCredentialType="UserName"/>
           </security>
         </binding>
       </basicHttpBinding>
     </bindings>
  </system.serviceModel>

7 ответов


Я получал это же сообщение об ошибке, и оказалось, что это связано с разницей во времени между моей рабочей станцией и сервером, на котором размещена служба WCF. Сервер был около 10 минут позади моей машины, и WCF security, похоже, не очень нравится.

чтобы найти корневую проблему, я включил serviceSecurityAuditing в конфигурационном файле сервера. Добавьте в конфигурацию/систему следующее.serviceModel / поведение / serviceBehaviors / раздел поведение для вашего обслуживания:

<serviceSecurityAudit 
    auditLogLocation="Application" 
    serviceAuthorizationAuditLevel="Failure" 
    messageAuthenticationAuditLevel="Failure" 
    suppressAuditFailure="true"/>

следующий сайт был полезен в выяснении этого:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx


другая причина это сообщение, когда некоторые из ваших машин не синхронизированы во времени. WCF по умолчанию допускает пятиминутный разрыв; кроме того, он выдает ошибку, если что-то не синхронизировано.

раствор для синхронизации всех ваших машин. time.windows.com славится тем, что не работает, поэтому я предлагаю использовать что-то другое. (Если вы находитесь в корпоративной среде, локальный контроллер домена может быть правильный выбор.)


Это оказалось проблемой на стороне потребления, а не с самой службой. Webmethods 8 программного обеспечения AG потреблял этот сервер, но не было никакого обработчика безопасности, добавленного к службе, поэтому учетные данные не были добавлены в заголовок, что привело к вышеупомянутой ошибке.


Я получаю ту же ошибку на моем сервере IIS 7.5. Я забыл добавить разрешение на чтение на закрытый ключ сертификата в виртуальный аккаунт пула приложений (например, IIS AppPoolASP.NET v4.0).

для информации, тестируя различные комбинации учетных записей и разрешений, я заметил, что пул приложений необходимо переработать, чтобы потерять доступ к ключу, как только он был извлечен один раз.

(0x80131501-произошла ошибка при проверке безопасности сообщение.)


Я получал ту же ошибку, и ни одна из вышеперечисленных помощь для меня.

Я, наконец, отследил его до connectionStrings в родительской сети.config (моя служба была развернута в дочернем приложении на сайте администратора).

Да, звучит смешно, но как только я завернул строки подключения в родительской сети.config с элементом location все начали работать.

для ясности, в родительской сети.config я изменил это

<connectionStrings>
    <add name="..." />
</connectionStrings>

в это

<location path="." inheritInChildApplications="false">
    <connectionStrings>
        <add name="..." />
    </connectionStrings>
</location>

обратите внимание, что эта ошибка также привела к этому очень бесполезному serviceSecurityAudit сообщение:

ошибка проверки подлинности сообщения.
Услуга. :..
Действие:http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT
ClientIdentity:
Значение activityid:
ArgumentNullException: значение не может быть null.
Имя параметра: менеджер


Я получал ту же ошибку. Я забыл добавить разрешение на чтение в базу данных членства aspnetdb в (IIS APPPOOLDefaultAppPool).

ошибка проверки подлинности сообщения. Услуга.:…

действие:http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT

ClientIdentity:

значение activityid:

SqlException: не удается открыть базу данных «aspnetdb», запрошенную логином. Ошибка входа в систему.

ошибка входа в систему для IIS пользователя
Пула средством’.


имя пользователя и пароль сервер подключения,а не ваши
имя пользователя и пароль для входа в систему.



Offline

pavel.kozak

 


#1
Оставлено
:

10 января 2020 г. 10:23:50(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Добрый день.

Пока вопрос туманный, т.к. нет полного понимания происходящего.

Есть устоявшийся проект с использованием КриптоПро 4.0 + КриптоПро .NET (6893 работает стабильно), используется для подключения к Web сервису по WCF (Гост 2012).

Начали миграцию проекта на NET Core 3.x + .NET Framework 4.7.2, до этого была смесь Core 2.x + .NET Framework 4.6.1.

Предположительно(т.к. ставим средствами VS 2019, что он там ещё тянет под сомнением) после установки на машину SDK Core 3.x + SDK .NET Framework 4.8 + соответственно сам коре и фреймфорк получаем проблемы с WCF в существующем проекте, т.е. изменений в сам проект ещё не внесли, только установили Core + FrameWork посвежее.

При попытке подключения к сервису с авторизацией по ГОСТ ключу 2012, получаем ошибку:

Коллекция шифрования маркера не поддерживает алгоритм «urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256».

Т.е. поведение, как будто не установлен КриптоПро .NET. Переустанавливаем весь комплект КриптоПро + КриптоПро .NET. Результата нет.

Проверено на двух машинах Windows 10 И Windows Server 2012 R2.
Сответсвующие лицензии есть и на рабочие станции и на сервер.
Для проверки пришлось VS 2019 на сервер поставить, т.к. думали причина в Windows 10.

Интересный момент, попробовали поднять версию Крипто Про .NET (SDK Крипто Про .NET поднимали соответственно) до 7132

Выше указанная ошибка на этапе подключения пропала, но при вызове получили другую ошибку:
System.ServiceModel.FaultException: An error occurred when verifying security for the message.

Попробую узнать какую версию SDK Крипто Про использует поставщик Web Сервиса.

Отредактировано пользователем 10 января 2020 г. 10:25:30(UTC)
 | Причина: Не указана


Вверх

Offline

Максим Коллегин

 


#2
Оставлено
:

10 января 2020 г. 10:54:47(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Обновлять КриптоПро .Net при обновлении .Net нужно с вероятностью 90%
Для .Net Core мы делаем fork (обсуждается в соседней ветке), но до WCF там ещё далеко.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

pavel.kozak

 


#3
Оставлено
:

10 января 2020 г. 11:02:18(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Спасибо.

Да, форк видели но не решились, поэтому и смесь Core 98% + Framework 2%.

Сосредоточимся тогда на вопросе почему не работает с .NET КриптоПро 7132.

Попробуем ещё раз пересобрать с новым SDK 7132, может что-то упустил.

Насколько важно, что бы .NET КриптоПро был одинаковый на клиенте и на сервере?
Мне кажется должно быть все равно. На сервер повлиять мы не сможем.


Вверх

Offline

Максим Коллегин

 


#4
Оставлено
:

10 января 2020 г. 11:11:32(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Автор: pavel.kozak Перейти к цитате

Насколько важно, что бы .NET КриптоПро был одинаковый на клиенте и на сервере?
Мне кажется должно быть все равно. На сервер повлиять мы не сможем.

Не должны быть одинаковыми.

Постарайтесь собрать трассировку WCF — посмотрим.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

pavel.kozak

 


#5
Оставлено
:

10 января 2020 г. 13:10:45(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Пересобрал с последним SDK.

Если по трейсу, то получается следующий порядок:

Пытаемся вызвать удаленную функцию TestAuthentication

Поставщик токена безопасности открыт.
На клиенте запущен сеанс безопасности.
Подлинность EndpointReference была определена.
Успешно выполнена аутентификациа.
Протокол безопасности обеспечил защиту исходящего сообщения.
Через канал отправлено сообщение
Через канал получено сообщение
Через канал запроса получен ответ.

Генерирование исключения
«Процессору безопасности не удалось найти заголовок безопасности в сообщении. Это может быть вызвано тем, что сообщение не защищено или имеет место несоответствия привязки между взаимодействующими сторонами. Это может произойти, если служба настроена с режимом безопасности, а клиент не применяет режим безопасности.»

Незащищенное или неправильно защищенное сообщение об ошибке было получено от другой стороны.

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

Конец.

Тот же код с предыдущей версией работает корректно. Пока не возможности проверить на чистой машине свежий SDK КриптоПро на старом фреймвекке.


Вверх

Offline

pavel.kozak

 


#6
Оставлено
:

10 января 2020 г. 13:19:38(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Автор: Максим Коллегин Перейти к цитате

Не должны быть одинаковыми.
Постарайтесь собрать трассировку WCF — посмотрим.

Оказывается, все таки есть зависимости.

https://br.so-ups.ru/Pub…ws=%5Bobject%20Object%5D

Как-то упустил эту новость.

Теперь тупичок, придется ещё одну кашу делать и запускать прослойку на машине со старым фремвёрком и старым .NET КриптоПро :(.


Вверх

Offline

Максим Коллегин

 


#7
Оставлено
:

10 января 2020 г. 20:27:26(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

Странно, ничего не слышал про это. Изучим вопрос.

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

Артём Макаров

 


#8
Оставлено
:

13 января 2020 г. 8:31:35(UTC)

Артём Макаров

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 20.02.2017(UTC)
Сообщений: 184

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 48 раз в 48 постах

Добрый день.

Подскажите, какой сейчас target framework задан в проекте?

Какая привязка используется?

Если возможно приложите файл конфигурации клиента (app.config).

Можете приложить wcf trace и messssage log с ошибкой?

Как собирать можно посмотреть тут — https://docs.microsoft.c…figuring-message-logging
Пример —

Код:

<system.diagnostics>
	<sources>
	  <source name="System.ServiceModel.MessageLogging" switchValue="All">
		<listeners>
		  <add type="System.Diagnostics.DefaultTraceListener" name="Default">
			<filter type="" />
		  </add>
		  <add name="ServiceModelMessageLoggingListener">
			<filter type="" />
		  </add>
		</listeners>
	  </source>
	  <source name="System.ServiceModel" switchValue="All" propagateActivity="true">
		<listeners>
		  <add type="System.Diagnostics.DefaultTraceListener" name="Default">
			<filter type="" />
		  </add>
		  <add name="ServiceModelTraceListener">
			<filter type="" />
		  </add>
		</listeners>
	  </source>
	</sources>
	<sharedListeners>
	  <add initializeData="C:logsmy_service_web_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
		<filter type="" />
	  </add>
	  <add initializeData="C:logsmy_serice_web_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
		<filter type="" />
	  </add>
	</sharedListeners>
	<trace autoflush="true" />
  </system.diagnostics>

Техническую поддержку оказываем тут
Наша база знаний


Вверх

Offline

pavel.kozak

 


#9
Оставлено
:

13 января 2020 г. 10:01:40(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Автор: Максим Коллегин Перейти к цитате

Странно, ничего не слышал про это. Изучим вопрос.

Насколько успел узнать, тикет поставщиком сервиса создавался, примерно в то время когда они писали эту новость.


Вверх

Offline

pavel.kozak

 


#10
Оставлено
:

13 января 2020 г. 10:11:57(UTC)

pavel.kozak

Статус: Участник

Группы: Участники

Зарегистрирован: 13.12.2019(UTC)
Сообщений: 15
Российская Федерация

Автор: Артём Макаров Перейти к цитате

Подскажите, какой сейчас target framework задан в проекте?

Проверяли несколько, поведение и ошибка одинаковые и на 4.6.2, 4.7.1, 4.8.
Версия .NET Крипто про — 7132. Основной Крипто Про ставился последний 4.0, 9963.

Автор: Артём Макаров Перейти к цитате

Какая привязка используется?

WSHttpBinding

Это пример со стенда, в основном проекте вместо конфига настройка из кода идет. Но значения те же.

<wsHttpBinding>
<binding name=»wsHttpCertificateBinding» closeTimeout=»01:00:00″ openTimeout=»01:00:00″ receiveTimeout=»01:00:00″ sendTimeout=»01:00:00″
maxBufferPoolSize=»52428800″ maxReceivedMessageSize=»52428800″>
<readerQuotas maxStringContentLength=»2147483647″/>
<security>
<message clientCredentialType=»Certificate» negotiateServiceCredential=»false»/>
</security>
</binding>
</wsHttpBinding>

<endpoint address=»http://br.so-ups.ru:8091/PersonalApi/PersonalApiService.svc/ByCertificate»
binding=»wsHttpBinding» bindingConfiguration=»wsHttpCertificateBinding»
contract=»PersonalApiService.IPersonalApiService» name=»wsHttpCertificateEndpoint»>
<identity>
<certificateReference findValue=»5cee4b2593de373e184377a718bb5af83dea466b» x509FindType=»FindByThumbprint»
storeLocation=»LocalMachine» storeName=»My» />
</identity>
</endpoint>

Автор: Артём Макаров Перейти к цитате

Можете приложить wcf trace и messssage log с ошибкой?

Я отправлю в личку, то что собрали в пятницу с нашими настройками, если не подойдет, то позже сниму с вашими рекомендациями.


Вверх
Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

When I try to call a WCF service I am getting the following message «An error occurred when verifying security for the message.»

When I remove the custom authenication the service works no problem. I can’t figure out though what I have misconfigured in my web.config. Any insight would be appreciated.

  <system.serviceModel>
     <services>
        <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior"
          name="NAThriveExtensions.nableAPI">
           <endpoint 
             address="" 
             binding="basicHttpBinding" 
             bindingConfiguration="basicHttpBinding_Secure"
             contract="NAThriveExtensions.InableAPI">
           </endpoint>
           <endpoint 
             address="mex" 
             binding="mexHttpsBinding" 
             contract="IMetadataExchange" />
        </service>
     </services>
     <behaviors>
        <serviceBehaviors>
          <behavior name="NAThriveExtensions.nableAPIBehavior">
            <serviceMetadata httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            <serviceCredentials>
              <userNameAuthentication 
                userNamePasswordValidationMode="Custom" 
              customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" />
            </serviceCredentials>
          </behavior>
        </serviceBehaviors>
     </behaviors>
     <bindings>
       <basicHttpBinding>
         <binding name="basicHttpBinding_Secure">
           <security mode="TransportWithMessageCredential">
             <message clientCredentialType="UserName"/>
           </security>
         </binding>
       </basicHttpBinding>
     </bindings>
  </system.serviceModel>

asked Sep 21, 2010 at 23:26

Matt Klepeis's user avatar

Matt KlepeisMatt Klepeis

1,7241 gold badge14 silver badges25 bronze badges

I was getting this same error message and it turned out to be due to a time difference between my workstation machine and the server hosting the WCF service. The server was about 10 minutes behind my machine and WCF security doesn’t seem to like that very much.

To find the root problem I turned on serviceSecurityAuditing in the server’s config file. Add the following to the configuration/system.serviceModel/behaviors/serviceBehaviors/behavior section for your service:

<serviceSecurityAudit 
    auditLogLocation="Application" 
    serviceAuthorizationAuditLevel="Failure" 
    messageAuthenticationAuditLevel="Failure" 
    suppressAuditFailure="true"/>

The following site was helpful in figuring this out:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx

answered Mar 7, 2013 at 23:10

Sam's user avatar

3

Another cause of this message is when some of your machines are not synchronized in time. WCF, by default, allows a five-minute gap; beyond this, it throws an error if things are out of synch.

The solution is to synch all your machines. time.windows.com is notorious for not working, so I suggest using something else. (If you’re in a corporate environment, a local domain controller may be the correct choice here.)

answered Jan 31, 2014 at 16:30

ashes999's user avatar

ashes999ashes999

9,84715 gold badges72 silver badges120 bronze badges

3

This ended up being an problem on the consuming side, not with the service itself. Software AG’s webMethods 8 was consuming this server but there was no Security Handler added to the service so the credentials were not being added to the header thus resulting the in the aforementioned error.

answered Oct 8, 2010 at 16:24

Matt Klepeis's user avatar

Matt KlepeisMatt Klepeis

1,7241 gold badge14 silver badges25 bronze badges

2

I had a similar issue.
I was building my datetime formatted strings using my local time, but my service/server was expecting GMT.

I needed to get the GMT time (JAVA):

final Date currentTime = new Date();    
final SimpleDateFormat sdf = 
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.000Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(currentTime));

answered Mar 17, 2019 at 20:42

Pablo Chvx's user avatar

Pablo ChvxPablo Chvx

1,74917 silver badges31 bronze badges

I was getting the same error on my IIS 7.5 server. I forgot to add Read permission on the certificate’s private key to the app pool virtual account (e.g. IIS AppPoolASP.NET v4.0).

For info, whilst testing various combinations of accounts and permissions, I noticed that the app pool needed to be recycled to lose access to the key, once it had been retrieved once.

(0x80131501 — An error occurred when verifying security for the message.)

answered Apr 8, 2013 at 5:57

ssg31415926's user avatar

ssg31415926ssg31415926

1,0172 gold badges13 silver badges21 bronze badges

I was getting the same error and none of the above help for me.

I finally tracked it down to connectionStrings in a parent web.config (my service was deployed to a child application to an admin site).

Yes sounds ridiculous, but as soon as I wrapped the connection strings in the parent web.config with a location element all started working.

For clarity, in parent web.config, I changed this

<connectionStrings>
    <add name="..." />
</connectionStrings>

to this

<location path="." inheritInChildApplications="false">
    <connectionStrings>
        <add name="..." />
    </connectionStrings>
</location>

Note this error also resulted in this very unhelpful serviceSecurityAudit log message:

Message authentication failed.
Service: …
Action: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT
ClientIdentity:
ActivityId:
ArgumentNullException: Value cannot be null.
Parameter name: manager

answered Sep 6, 2016 at 12:30

Dan's user avatar

I was getting the same error. I forgot to add Read permission on the membership database aspnetdb to the (IIS APPPOOLDefaultAppPool).

Message authentication failed. Service:….

Action: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT

ClientIdentity:

ActivityId:

SqlException: Cannot open database «aspnetdb» requested by the login. The login failed.

Login failed for user ‘IIS
APPPOOLDefaultAppPool’.

Community's user avatar

answered Dec 19, 2016 at 7:24

Yasser Mohammed's user avatar

The username and password is the server you connection,not your
system login username and password.

answered Dec 23, 2015 at 9:05

MapleStory's user avatar

MapleStoryMapleStory

6183 gold badges11 silver badges21 bronze badges

У меня проблема с подключением к моей службе WCF с помощью clientCredentialType="UserName".

Когда я запускаю код ниже, я получаю сообщение об ошибке

FaultException: при проверке безопасности для сообщения произошла ошибка.

При игре с некоторыми значениями привязки я также получаю Access is denied..

Fiddler говорит, что нет заголовка авторизации, и я не могу найти имя пользователя или пароль в запросе.

Вот выдержки из моего конфига:

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
    <services>
      <service name="InventoryServices.MobileAPI"  behaviorConfiguration="customBehaviour">
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="secureHttpBinding"
                  contract="InventoryServices.IMobileAPI"/>

        <endpoint address="mex"
                  binding="mexHttpsBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="customBehaviour">
          <serviceSecurityAudit auditLogLocation="Application" serviceAuthorizationAuditLevel="Failure" messageAuthenticationAuditLevel="Failure" suppressAuditFailure="true" />
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpsGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode="Custom"
               customUserNamePasswordValidatorType="InventoryLibrary.Helpers.UserAuthentication,InventoryLibrary"/>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <bindings>
      <basicHttpBinding>
        <binding name="secureHttpBinding">
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="Basic" proxyCredentialType="Basic" realm="MyRealm"/>
            <message clientCredentialType="UserName" algorithmSuite="Default"  />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>

Мой валидатор имени пользователя/пароля выглядит так:

  public class UserAuthentication : UserNamePasswordValidator {
        public override void Validate(string userName, string password) {

            EntitiesContext db = new EntitiesContext();
            db.Logs.Add(new DomainModels.Log() {
                DateLogged = DateTime.Now,
                Message = "hit auth",
                Type = DomainModels.LogType.Info
            });
            db.SaveChanges();

            try {

                if (userName == "test" && password == "test123") {
                    Console.WriteLine("Authentic User");
                }
            }
            catch (Exception ex) {
                throw new FaultException("Unknown Username or Incorrect Password");
            }
        }
    }

У меня это как простой тест на моем сервисе:

[OperationContract]
[XmlSerializerFormat]
void Test();

[PrincipalPermission(SecurityAction.Demand, Name = "test")]
public void Test() {

}

У меня есть собственный сертификат SSL на моем сервере, и я могу получить доступ к своим сервисам/метаданным.

Затем я добавил ссылку на службу в консольном приложении и попытаюсь подключиться к службе с помощью этого кода ниже:

class Program {
    static void Main(string[] args) {

        Stuff.InitiateSSLTrust();

        BasicHttpBinding binding = new BasicHttpBinding();
        binding.Security.Mode = BasicHttpSecurityMode.Transport;
        binding.Security.Transport.Realm = "MyRealm";

        ServiceReference1.MobileAPIClient serviceProxy = new ServiceReference1.MobileAPIClient(binding, new EndpointAddress("https://xx.xx.xx.xx/InventoryServices.MobileApi.svc"));

        serviceProxy.ClientCredentials.UserName.UserName = "test";
        serviceProxy.ClientCredentials.UserName.Password = "test123";

        try {

            var a = serviceProxy.Login("a", "b");
        }
        catch (Exception ex) {
            var ex2 = ex;
        }
    }
}

public class Stuff {
    public static void InitiateSSLTrust() {
        try {
            //Change SSL checks so that all checks pass
            ServicePointManager.ServerCertificateValidationCallback =
                new RemoteCertificateValidationCallback(
                    delegate { return true; }
                );
        }
        catch (Exception ex) {
        }
    }
}

Я проверил средство просмотра событий на сервере, и эта ошибка появляется с каждым запросом:

MessageSecurityException: процессору безопасности не удалось найти заголовок безопасности в сообщении. Это может быть связано с тем, что сообщение является необеспеченной ошибкой или потому, что существует связующее несоответствие между общающимися сторонами. Это может произойти, если служба настроена для обеспечения безопасности, а клиент не использует безопасность.

Ответ 1

Вы указываете стороне клиента использовать BasicHttpSecurityMode.Transport, тогда как служба ожидает BasicHttpSecurityMode.TransportWithMessageCredential. Это проблема, потому что служба ищет учетные данные клиента в заголовке сообщения SOAP, и клиент не отправит их с привязкой, сконфигурированной таким образом.

Следовательно, поэтому пара имени пользователя/пароля отсутствует в заголовке сообщения, когда вы являетесь свидетелем. Таким образом, зритель событий был прав, что между связующими сторонами имело место несовпадение.

Также установите ClientCredentialType на клиенте BasicHttpMessageCredentialType.UserName для Message уровня безопасности. По умолчанию BasicHttpBinding использует None, которые являются анонимными клиентами.

Здесь фрагмент кода, описывающий вышеизложенные изменения:

var basicHttpBinding = new BasicHttpBinding(
                              BasicHttpSecurityMode.TransportWithMessageCredential);
basicHttpBinding.Security.Message.ClientCredentialType = 
                                     BasicHttpMessageCredentialType.UserName;

Ответ 2

Это также может быть вызвано отсутствием синхронизации между клиентом и сервером. Если сертификат или подписанный токен являются недействительными по времени, то может быть возвращено то же сообщение An error occurred when verifying security for the message..

  • Remove From My Forums
  • Вопрос

  • Добрый день, господа. Подскажите, куда копать.

    Windows Server 2008 R2 32 bit.

    В IIS развернут узел,  — сайт web-forms,с аутентификацией по сертификату. 

    Есть ссылка на wcf, от которой получает данные. 

     При запускe на iisexpress через VS2013 в режиме отладки — все хорошо. После публикации и размещения на вышеуказанном сервере — вот такая ошибка:

    Ошибка сервера в приложении ‘/’.


    Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

    Сведения об исключении: System.ServiceModel.FaultException: An error occurred when verifying security for the message.

    Ошибка источника:

    Необработанное исключение при выполнении текущего веб-запроса. Информацию о происхождении и месте возникновения исключения можно получить, используя следующую трассировку стека исключений.

    Трассировка стека:

    [FaultException: An error occurred when verifying security for the message.]
    
    [MessageSecurityException: Незащищенное или неправильно защищенное сообщение об ошибке было получено от другой стороны. Код ошибки и описание см. внутреннее исключение.]
       System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +10818447
       System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +336
       Service_portal.ServiceReference.IHotLine.GetData(String ProcName, CustomParams[] _params, String DBname) +0
       Service_portal.ContactClass.AddParams(String name, String value, String proc, String dbnum) +276
       Service_portal.ControlDistionary.Page_Load(Object sender, EventArgs e) +59
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
       System.Web.UI.Control.OnLoad(EventArgs e) +92
       System.Web.UI.Control.LoadRecursive() +54
       System.Web.UI.Control.LoadRecursive() +145
       System.Web.UI.Control.LoadRecursive() +145
       System.Web.UI.Control.LoadRecursive() +145
       System.Web.UI.Control.LoadRecursive() +145
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
    

    • Перемещено

      26 марта 2015 г. 11:36

Ответы

  • Здравствуйте,

    Похоже на ошибку с WCF, как одна из возможных причин, если время клиента и сервера отличается более чем на 10 минут, то не удастся пройти
    проверку безопасности .


    Best Regards, Andrei …
    Microsoft Certified Professional

    • Предложено в качестве ответа
      Tomas Lilov
      26 марта 2015 г. 12:30
    • Помечено в качестве ответа
      Иван ПродановMicrosoft contingent staff, Moderator
      31 марта 2015 г. 7:50
  • Remove From My Forums
  • Question

  • Hello,

    We have a wcf service hosted in IIS. We used basicHttpBinding and implemented a UserNamePasswordValidator for the custom authentication.

    However, we have issues when the WCF is consumed with a asmx client.

    An error occurred when verifying security for the message.

    (because asmx client can only work basicHttpBinding with transport security. basic authentication is disabled.)

    Here is my security config

                        <security mode="TransportWithMessageCredential">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>

    what are the solutions? We thought of using a simple Message Header for the authentication, however we don’t want to pass the credentials in the parameters of the method call

    var s = new service.TaskService();
    s.GetSomething(credential, TaskNumber); //not nice...
    • Edited by

      Tuesday, June 4, 2013 7:58 AM

Answers

  • Maybe the following links can help you to sort out what the problem is: http://stackoverflow.com/questions/3765212/an-error-occurred-when-verifying-security-for-the-message

    http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx

    Like I wrote before, you should be able to use a UserNamePasswordValidator with basicHttpBinding by using the Message security mode with a certificate or the TransportWithMessageCredential security mode with SSL.

    • Edited by
      Magnus (MM8)MVP
      Tuesday, June 4, 2013 2:22 PM
    • Marked as answer by
      Haixia_Xie
      Tuesday, June 11, 2013 7:43 AM
    • Marked as answer by
      Haixia_Xie
      Tuesday, June 11, 2013 7:43 AM
  • Remove From My Forums
  • Question

  • Hello,

    We have a wcf service hosted in IIS. We used basicHttpBinding and implemented a UserNamePasswordValidator for the custom authentication.

    However, we have issues when the WCF is consumed with a asmx client.

    An error occurred when verifying security for the message.

    (because asmx client can only work basicHttpBinding with transport security. basic authentication is disabled.)

    Here is my security config

                        <security mode="TransportWithMessageCredential">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>

    what are the solutions? We thought of using a simple Message Header for the authentication, however we don’t want to pass the credentials in the parameters of the method call

    var s = new service.TaskService();
    s.GetSomething(credential, TaskNumber); //not nice...
    • Edited by

      Tuesday, June 4, 2013 7:58 AM

Answers

  • Maybe the following links can help you to sort out what the problem is: http://stackoverflow.com/questions/3765212/an-error-occurred-when-verifying-security-for-the-message

    http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx

    Like I wrote before, you should be able to use a UserNamePasswordValidator with basicHttpBinding by using the Message security mode with a certificate or the TransportWithMessageCredential security mode with SSL.

    • Edited by
      Magnus (MM8)MVP
      Tuesday, June 4, 2013 2:22 PM
    • Marked as answer by
      Haixia_Xie
      Tuesday, June 11, 2013 7:43 AM
    • Marked as answer by
      Haixia_Xie
      Tuesday, June 11, 2013 7:43 AM

Произошла ошибка при проверке безопасности сообщения

когда я пытаюсь вызвать службу WCF я получаю следующее сообщение «произошла ошибка при проверке безопасности сообщения.»

когда я удаляю пользовательскую аутентификацию, служба работает без проблем. Я не могу понять, что я неправильно сконфигурировал в своей сети.конфиг. Любое понимание будет оценено.

  <system.serviceModel>
     <services>
        <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior"
          name="NAThriveExtensions.nableAPI">
           <endpoint 
             address="" 
             binding="basicHttpBinding" 
             bindingConfiguration="basicHttpBinding_Secure"
             contract="NAThriveExtensions.InableAPI">
           </endpoint>
           <endpoint 
             address="mex" 
             binding="mexHttpsBinding" 
             contract="IMetadataExchange" />
        </service>
     </services>
     <behaviors>
        <serviceBehaviors>
          <behavior name="NAThriveExtensions.nableAPIBehavior">
            <serviceMetadata httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            <serviceCredentials>
              <userNameAuthentication 
                userNamePasswordValidationMode="Custom" 
              customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" />
            </serviceCredentials>
          </behavior>
        </serviceBehaviors>
     </behaviors>
     <bindings>
       <basicHttpBinding>
         <binding name="basicHttpBinding_Secure">
           <security mode="TransportWithMessageCredential">
             <message clientCredentialType="UserName"/>
           </security>
         </binding>
       </basicHttpBinding>
     </bindings>
  </system.serviceModel>

7 ответов


Я получал это же сообщение об ошибке, и оказалось, что это связано с разницей во времени между моей рабочей станцией и сервером, на котором размещена служба WCF. Сервер был около 10 минут позади моей машины, и WCF security, похоже, не очень нравится.

чтобы найти корневую проблему, я включил serviceSecurityAuditing в конфигурационном файле сервера. Добавьте в конфигурацию/систему следующее.serviceModel / поведение / serviceBehaviors / раздел поведение для вашего обслуживания:

<serviceSecurityAudit 
    auditLogLocation="Application" 
    serviceAuthorizationAuditLevel="Failure" 
    messageAuthenticationAuditLevel="Failure" 
    suppressAuditFailure="true"/>

следующий сайт был полезен в выяснении этого:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx


другая причина это сообщение, когда некоторые из ваших машин не синхронизированы во времени. WCF по умолчанию допускает пятиминутный разрыв; кроме того, он выдает ошибку, если что-то не синхронизировано.

раствор для синхронизации всех ваших машин. time.windows.com славится тем, что не работает, поэтому я предлагаю использовать что-то другое. (Если вы находитесь в корпоративной среде, локальный контроллер домена может быть правильный выбор.)


Это оказалось проблемой на стороне потребления, а не с самой службой. Webmethods 8 программного обеспечения AG потреблял этот сервер, но не было никакого обработчика безопасности, добавленного к службе, поэтому учетные данные не были добавлены в заголовок, что привело к вышеупомянутой ошибке.


Я получаю ту же ошибку на моем сервере IIS 7.5. Я забыл добавить разрешение на чтение на закрытый ключ сертификата в виртуальный аккаунт пула приложений (например, IIS AppPoolASP.NET v4.0).

для информации, тестируя различные комбинации учетных записей и разрешений, я заметил, что пул приложений необходимо переработать, чтобы потерять доступ к ключу, как только он был извлечен один раз.

(0x80131501-произошла ошибка при проверке безопасности сообщение.)


Я получал ту же ошибку, и ни одна из вышеперечисленных помощь для меня.

Я, наконец, отследил его до connectionStrings в родительской сети.config (моя служба была развернута в дочернем приложении на сайте администратора).

Да, звучит смешно, но как только я завернул строки подключения в родительской сети.config с элементом location все начали работать.

для ясности, в родительской сети.config я изменил это

<connectionStrings>
    <add name="..." />
</connectionStrings>

в это

<location path="." inheritInChildApplications="false">
    <connectionStrings>
        <add name="..." />
    </connectionStrings>
</location>

обратите внимание, что эта ошибка также привела к этому очень бесполезному serviceSecurityAudit сообщение:

ошибка проверки подлинности сообщения.
Услуга. :..
Действие:http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT
ClientIdentity:
Значение activityid:
ArgumentNullException: значение не может быть null.
Имя параметра: менеджер


Я получал ту же ошибку. Я забыл добавить разрешение на чтение в базу данных членства aspnetdb в (IIS APPPOOLDefaultAppPool).

ошибка проверки подлинности сообщения. Услуга.:…

действие:http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT

ClientIdentity:

значение activityid:

SqlException: не удается открыть базу данных «aspnetdb», запрошенную логином. Ошибка входа в систему.

ошибка входа в систему для IIS пользователя
Пула средством’.


имя пользователя и пароль сервер подключения,а не ваши
имя пользователя и пароль для входа в систему.


Когда я пытаюсь вызвать службу WCF, я получаю следующее сообщение: «Произошла ошибка при проверке безопасности сообщения».

Когда я удаляю пользовательскую аутентификацию, служба работает без проблем. Я не могу понять, что я неправильно сконфигурировал в своем web.config. Любое понимание будет оценено.

  <system.serviceModel>
     <services>
        <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior"
          name="NAThriveExtensions.nableAPI">
           <endpoint 
             address="" 
             binding="basicHttpBinding" 
             bindingConfiguration="basicHttpBinding_Secure"
             contract="NAThriveExtensions.InableAPI">
           </endpoint>
           <endpoint 
             address="mex" 
             binding="mexHttpsBinding" 
             contract="IMetadataExchange" />
        </service>
     </services>
     <behaviors>
        <serviceBehaviors>
          <behavior name="NAThriveExtensions.nableAPIBehavior">
            <serviceMetadata httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            <serviceCredentials>
              <userNameAuthentication 
                userNamePasswordValidationMode="Custom" 
              customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" />
            </serviceCredentials>
          </behavior>
        </serviceBehaviors>
     </behaviors>
     <bindings>
       <basicHttpBinding>
         <binding name="basicHttpBinding_Secure">
           <security mode="TransportWithMessageCredential">
             <message clientCredentialType="UserName"/>
           </security>
         </binding>
       </basicHttpBinding>
     </bindings>
  </system.serviceModel>

8 ответов

Лучший ответ

В конечном итоге это стало проблемой для потребителя, а не для самой службы. WebMethods 8 компании Software AG использовала этот сервер, но к службе не был добавлен обработчик безопасности, поэтому учетные данные не добавлялись в заголовок, что приводило к вышеупомянутой ошибке.


7

Matt Klepeis
8 Окт 2010 в 20:24

Я получал такое же сообщение об ошибке, и это оказалось из-за разницы во времени между моей рабочей станцией и сервером, на котором размещена служба WCF. Сервер отставал от моей машины примерно на 10 минут, и безопасности WCF это, похоже, не очень нравится.

Чтобы найти основную проблему, я включил serviceSecurityAuditing в файле конфигурации сервера. Добавьте следующее в раздел конфигурации / system.serviceModel / behavior / serviceBehaviors / behavior для своей службы:

<serviceSecurityAudit 
    auditLogLocation="Application" 
    serviceAuthorizationAuditLevel="Failure" 
    messageAuthenticationAuditLevel="Failure" 
    suppressAuditFailure="true"/>

Следующий сайт помог разобраться в этом:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and- сервис-безопасность-audit.aspx


40

Sam
8 Мар 2013 в 03:10

Другая причина этого сообщения — когда некоторые из ваших компьютеров не синхронизированы во времени. WCF по умолчанию допускает пятиминутный перерыв; помимо этого, он выдает ошибку, если что-то не синхронизируется.

Решение состоит в том, чтобы синхронизировать все ваши машины. time.windows.com печально известен тем, что не работает, поэтому я предлагаю использовать что-нибудь другое. (Если вы работаете в корпоративной среде, здесь может быть правильным выбором локальный контроллер домена.)


19

ashes999
31 Янв 2014 в 20:30

У меня была аналогичная проблема. Я создавал строки в формате datetime, используя мое местное время , но моя служба / сервер ожидала GMT .

Мне нужно было получить время по Гринвичу (JAVA):

final Date currentTime = new Date();    
final SimpleDateFormat sdf = 
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.000Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(currentTime));


1

Pablo Chvx
17 Мар 2019 в 23:42

Я получал ту же ошибку на своем сервере IIS 7.5. Я забыл добавить разрешение на чтение закрытого ключа сертификата в пул приложений виртуальная учетная запись (например, IIS AppPool ASP.NET v4.0).

Для информации, при тестировании различных комбинаций учетных записей и разрешений я заметил, что пул приложений необходимо переработать, чтобы потерять доступ к ключу после того, как он был получен один раз.

(0x80131501 — Произошла ошибка при проверке безопасности сообщения.)


0

ssg31415926
8 Апр 2013 в 09:57

Я получал ту же ошибку, и ничего из вышеперечисленного мне не помогло.

Я наконец отследил это до connectionStrings в родительском файле web.config (моя служба была развернута в дочернем приложении на сайте администратора).

Да, звучит смешно, но как только я обернул строки подключения в родительский файл web.config элементом местоположения, все заработало.

Для ясности в родительском файле web.config я изменил это

<connectionStrings>
    <add name="..." />
</connectionStrings>

К этому

<location path="." inheritInChildApplications="false">
    <connectionStrings>
        <add name="..." />
    </connectionStrings>
</location>

Обратите внимание, что эта ошибка также привела к очень бесполезному serviceSecurityAudit сообщение журнала:

Ошибка аутентификации сообщения.
Сервис: …
Действие: http://schemas.xmlsoap.org/ws/2005/02 / trust / RST / SCT
ClientIdentity:
ActivityId:
ArgumentNullException: значение не может быть нулевым.
Название параметра: менеджер

Я получал ту же ошибку. Я забыл добавить разрешение на чтение базы данных членства aspnetdb в (IIS APPPOOL DefaultAppPool).

Ошибка аутентификации сообщения. Обслуживание:….

Действие: http://schemas.xmlsoap.org/ws/2005/ 02 / trust / RST / SCT

ClientIdentity:

ActivityId:

SqlException: не удается открыть базу данных «aspnetdb», запрошенную при входе в систему. Не удалось войти в систему.

Ошибка входа для пользователя IIS APPPOOL DefaultAppPool.


0

Community
20 Июн 2020 в 12:12

Имя пользователя и пароль — это сервер, к которому вы подключаетесь , а не ваш имя пользователя и пароль для входа в систему.


-4

MapleStory
23 Дек 2015 в 12:05

When I try to call a WCF service I am getting the following message «An error occurred when verifying security for the message.»

When I remove the custom authenication the service works no problem. I can’t figure out though what I have misconfigured in my web.config. Any insight would be appreciated.

  <system.serviceModel>
     <services>
        <service behaviorConfiguration="NAThriveExtensions.nableAPIBehavior"
          name="NAThriveExtensions.nableAPI">
           <endpoint 
             address="" 
             binding="basicHttpBinding" 
             bindingConfiguration="basicHttpBinding_Secure"
             contract="NAThriveExtensions.InableAPI">
           </endpoint>
           <endpoint 
             address="mex" 
             binding="mexHttpsBinding" 
             contract="IMetadataExchange" />
        </service>
     </services>
     <behaviors>
        <serviceBehaviors>
          <behavior name="NAThriveExtensions.nableAPIBehavior">
            <serviceMetadata httpsGetEnabled="true" />
            <serviceDebug includeExceptionDetailInFaults="false" />
            <serviceCredentials>
              <userNameAuthentication 
                userNamePasswordValidationMode="Custom" 
              customUserNamePasswordValidatorType= "NAThriveExtensions.Authentication, NAThriveExtensions" />
            </serviceCredentials>
          </behavior>
        </serviceBehaviors>
     </behaviors>
     <bindings>
       <basicHttpBinding>
         <binding name="basicHttpBinding_Secure">
           <security mode="TransportWithMessageCredential">
             <message clientCredentialType="UserName"/>
           </security>
         </binding>
       </basicHttpBinding>
     </bindings>
  </system.serviceModel>

asked Sep 21, 2010 at 23:26

Matt Klepeis's user avatar

Matt KlepeisMatt Klepeis

1,7241 gold badge14 silver badges25 bronze badges

I was getting this same error message and it turned out to be due to a time difference between my workstation machine and the server hosting the WCF service. The server was about 10 minutes behind my machine and WCF security doesn’t seem to like that very much.

To find the root problem I turned on serviceSecurityAuditing in the server’s config file. Add the following to the configuration/system.serviceModel/behaviors/serviceBehaviors/behavior section for your service:

<serviceSecurityAudit 
    auditLogLocation="Application" 
    serviceAuthorizationAuditLevel="Failure" 
    messageAuthenticationAuditLevel="Failure" 
    suppressAuditFailure="true"/>

The following site was helpful in figuring this out:

http://blogs.microsoft.co.il/blogs/urig/archive/2011/01/23/wcf-quot-an-error-occurred-when-verifying-security-for-the-message-quot-and-service-security-audit.aspx

answered Mar 7, 2013 at 23:10

Sam's user avatar

3

Another cause of this message is when some of your machines are not synchronized in time. WCF, by default, allows a five-minute gap; beyond this, it throws an error if things are out of synch.

The solution is to synch all your machines. time.windows.com is notorious for not working, so I suggest using something else. (If you’re in a corporate environment, a local domain controller may be the correct choice here.)

answered Jan 31, 2014 at 16:30

ashes999's user avatar

ashes999ashes999

9,89715 gold badges72 silver badges120 bronze badges

3

This ended up being an problem on the consuming side, not with the service itself. Software AG’s webMethods 8 was consuming this server but there was no Security Handler added to the service so the credentials were not being added to the header thus resulting the in the aforementioned error.

answered Oct 8, 2010 at 16:24

Matt Klepeis's user avatar

Matt KlepeisMatt Klepeis

1,7241 gold badge14 silver badges25 bronze badges

2

I had a similar issue.
I was building my datetime formatted strings using my local time, but my service/server was expecting GMT.

I needed to get the GMT time (JAVA):

final Date currentTime = new Date();    
final SimpleDateFormat sdf = 
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.000Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(currentTime));

answered Mar 17, 2019 at 20:42

Pablo Chvx's user avatar

Pablo ChvxPablo Chvx

1,80918 silver badges31 bronze badges

I was getting the same error on my IIS 7.5 server. I forgot to add Read permission on the certificate’s private key to the app pool virtual account (e.g. IIS AppPoolASP.NET v4.0).

For info, whilst testing various combinations of accounts and permissions, I noticed that the app pool needed to be recycled to lose access to the key, once it had been retrieved once.

(0x80131501 — An error occurred when verifying security for the message.)

answered Apr 8, 2013 at 5:57

ssg31415926's user avatar

ssg31415926ssg31415926

1,0372 gold badges13 silver badges21 bronze badges

I was getting the same error and none of the above help for me.

I finally tracked it down to connectionStrings in a parent web.config (my service was deployed to a child application to an admin site).

Yes sounds ridiculous, but as soon as I wrapped the connection strings in the parent web.config with a location element all started working.

For clarity, in parent web.config, I changed this

<connectionStrings>
    <add name="..." />
</connectionStrings>

to this

<location path="." inheritInChildApplications="false">
    <connectionStrings>
        <add name="..." />
    </connectionStrings>
</location>

Note this error also resulted in this very unhelpful serviceSecurityAudit log message:

Message authentication failed.
Service: …
Action: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT
ClientIdentity:
ActivityId:
ArgumentNullException: Value cannot be null.
Parameter name: manager

answered Sep 6, 2016 at 12:30

Dan's user avatar

I was getting the same error. I forgot to add Read permission on the membership database aspnetdb to the (IIS APPPOOLDefaultAppPool).

Message authentication failed. Service:….

Action: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT

ClientIdentity:

ActivityId:

SqlException: Cannot open database «aspnetdb» requested by the login. The login failed.

Login failed for user ‘IIS
APPPOOLDefaultAppPool’.

Community's user avatar

answered Dec 19, 2016 at 7:24

Yasser Mohammed's user avatar

The username and password is the server you connection,not your
system login username and password.

answered Dec 23, 2015 at 9:05

MapleStory's user avatar

MapleStoryMapleStory

6183 gold badges11 silver badges21 bronze badges

Для мониторинга работоспособности ПО RusGuard Soft используется утилита RusGuard агент. Утилита устанавливается автоматически вместе с сервером RusGuard. RusGuard агент обеспечивает:

контроль работоспособности серверных процессов (служб), соединений с сервером БД и сервером отчетов;

оперативное оповещение пользователя о смене состояния контролируемых процессов;

возможность изменения настроек соединения с сервером БД и сервером отчетов;

проверку работоспособности соединения с сервером БД и сервером отчетов;

возможность изменения настроек соединения с сервером БД и сервером отчетов;

возможность настройки ручной или автоматической (по заданному расписанию) чистки БД (удаление событий до определенной даты).

отображение информации о лицензиях и состоянии соответствующего ПО.

регистрацию сервера в сервисе RusGuard Cloud.

После установки серверной части программного комплекса RusGuard Soft, утилита запускается из меню Пуск ОС Windows и в дальнейшем всегда доступна в области уведомлений (системном трее) (см. рис. 1).

RusGuard агент не будет отображаться в системном трее в случае смены текущего пользователя Windows на ПК.

Запустить RusGuard агент можно вручную: Пуск > Все программы > папка RusGuard > RusGuard агент. Для автоматического запуска поместите ярлык RusGuard агент в меню Автозагрузка.

      Рисунок 1 -                  Утилита RusGuard агент  в системном трее

      Рисунок 1 —                
Утилита RusGuard агент
в системном трее

Пиктограмма в системном трее может менять цвет в зависимости от текущего состояния (настроек) системы (подсистем) (см. табл. 1).

Таблица 1 — Цветовые обозначения утилиты RusGuard агент. Общий случай (системный трей)

Цвет пиктограммы

Значение

Система (подсистемы) работает нормально

Система (одна или несколько подсистем) отключены пользователем (не запущены), но работоспособны (т.е. настройки корректны и связанные с ними компоненты функционируют нормально)

Состояние системы (одной или нескольких подсистем) неизвестно, или подсистема не установлена

Ошибка в работе системы (одной или нескольких подсистем)

Цвет пиктограммы в системном трее меняется на желтый, серый или красный при изменении состоянии хотя бы одной из подсистем. Вызвав RusGuard агент, пользователь может определить, где именно произошла смена состояния, ошибка или отключение.

Интерфейс утилиты RusGuard агент состоит из набора вкладок, на каждой из которых отображается информация о состоянии основных подсистем программного комплекса и их отдельных компонентов. Для отображения состояния подсистем и компонентов используется та же цветовая схема, что и для оповещения пользователя в системном трее.

Также в каждой вкладке предусмотрен набор инструментов для базовой отладки компонентов.

Вкладка Сервисы

На этой вкладке (см. рис. 2) отображается состояние серверных процессов и служб (см. табл. 2 и 3).

Рисунок 2 - Утилита RusGuard агент. Вкладка Сервисы

Рисунок 2 — Утилита RusGuard агент. Вкладка Сервисы

Таблица 2 — Цветовые обозначения утилиты RusGuard агент. Вкладка Сервисы

Цвет пиктограммы

Значение

Все сервисы работают нормально

Один или несколько сервисов не запущены

Сервис не установлен либо недоступен

Ошибка при запуске одного или нескольких сервисов

Таблица 3 — Управление работой сервисов

Кнопка

Значение

Запуск всех сервисов

Остановка всех сервисов

Перезапуск IIS. Может потребоваться после редактирования параметров доступ к серверу БД и серверу отчетов (см. ниже), а также при различных сбоях работы АРМ

Остановка того сервиса, напротив названия которого расположена кнопка

Запуск того сервиса, напротив названия которого расположена кнопка

Вкладка База данных

На этой вкладке отображается состояние БД.

Рисунок 3 - Утилита RusGuard агент. Вкладка База данных

Рисунок 3 — Утилита RusGuard агент. Вкладка База данных

На вкладке База данных отображается текущее состояние соединения с сервером БД (см. рис. 3), для уведомления пользователя об изменениях состояния используется стандартная цветовая схема утилиты (см. табл. 4).

Таблица 4 — Цветовые обозначения утилиты RusGuard агент. Вкладка База данных

Цвет пиктограммы

Значение

Соединение установлено

Не прочитан файл конфигурации, но соединение работает

Идет проверка соединения

Ошибка соединения с БД

Используя панель инструментов на вкладке (см. табл. 5), пользователь может:

Отредактировать параметры соединения с сервером БД

Проверить соединение с БД

Загрузить базу данных

Таблица 5 — Базовые настройки соединения с БД. Мониторинг БД

Кнопка

Значение

Позволяет активировать поля ввода настроек соединения с сервером БД в нижней части вкладки (область Настройки соединения с базой данных) для их редактирования

Кнопка становится активна после изменения настроек. Позволяет сохранить новые параметры соединения с БД

Кнопка становится активна после изменения настроек соединения. Позволяет отменить новые параметры соединения с БД и вернуть прежние

Проверка соединения с БД

Создание новой базы данных на сервере БД. Используется в тех случаях, когда прежнюю БД потребовалось по той или иной причине удалить. Кнопка активна, когда база данных отсутствует. При этом отображается соответствующее сообщение

Для того чтобы изменить настройки соединения с БД:

1.Нажмите на кнопку .

2.Введите новые параметры в  поля области Настройки соединения с базой данных (см. табл. 6).

Таблица 6 — Поля формы для настройки соединения с БД

Поле

Значение и требования к заполнению

Адрес и название инстанса сервера БД

Адрес сервера БД, формируемый по следующему правилу (см. табл. 7):

[Имя компьютера][Название экземпляра] 

Если сервер RusGuard и сервер БД развертываются на одном компьютере, адрес примет вид:

.[Название экземпляра]

Значение параметра «Название экземпляра» зависит от типа экземпляра SQL Server («Экземпляр по умолчанию», «Именованный экземпляр», выбранного при его установке.

Логин SQL сервер

sa  (от «super administrator»)

Пароль SQL сервер

Пароль, заданный при установке сервера RusGuard (если устанавливался одновременно с SQL-сервером), либо при установке SQL-сервера (если конфигурация подразумевает его самостоятельную установку).

3.Выполните проверку соединения .

4.Если настройки корректны, нажмите на кнопку . В противном случае отмените изменения и введите корректные данные.

5.Перезапустите все сервисы. Для этого:

i.Перейдите на вкладку Сервисы.

ii.Нажмите на кнопку и дождитесь остановки всех сервисов.

iii.Нажмите на кнопку .

iv.Нажмите на кнопку .

Таблица 7 — Вид адреса инстанса сервера БД. В зависимости от типа конфигурации

Тип конфигурации

Вид адресной строки

Сервер RusGuard сервер БД установлены на одном компьютере

Если установка SQL-сервера выполнялась одновременно с установкой сервера RusGuard, экземпляр SQL-сервера получит имя RUSGUARD, и адрес будет выглядеть следующим образом:

 .RUSGUARD 

Если SQL-сервер был установлен ранее в режиме наименования «Экземпляр по умолчанию«, то адрес сервера БД будет состоять только из точки (.)

Если SQL-сервер был установлен раньше в режиме наименования «Именованный экземпляр» с именем SQLExpress (возможно и другое), то адрес сервера БД примет вид:

.SQLExpress 

Сервер RusGuard сервер БД установлены на разных компьютерах

Если при установке SQL-сервера выбран режим наименования «Именованный экземпляр» с именем SQLExpress (возможно и другое, например, MyServer), то адрес примет вид:

[hostname]SQLExpress

Один из распространенных сбоев базы данных связан с остановкой SQL-сервера. Для устранения сбоя необходимо перезапустить SQL-сервер, используя SQL Server Configuration Manager (см. рис. 4).

Рисунок 4 - Перезапуск экземпляра SQL-сервера

Рисунок 4 — Перезапуск экземпляра SQL-сервера

Вкладка Сервер отчетов

На этой вкладке (см. рис. 5) выполняется настройка соединения с сервером отчетов.

Рисунок 5 - Утилита RusGuard агент. Вкладка Сервер отчетов

Рисунок 5 — Утилита RusGuard агент. Вкладка Сервер отчетов

На вкладке отображается текущее состояние соединения с сервером отчетов, для уведомления пользователя об изменениях состояния используется стандартная цветовая схема утилиты (см. табл. 8).

Таблица 8 — Цветовые обозначения утилиты RusGuard агент. Вкладка База данных

Цвет пиктограммы

Значение

Соединение установлено

Не прочитан файл конфигурации, но соединение работает

Идет проверка соединения

Ошибка соединения с сервером отчетов

Используя панель инструментов на вкладке (см. табл. 9), пользователь может:

редактировать параметры соединения с сервером отчетов;

проверять состояние соединения;

загружать отчеты на сервер.

Таблица 9  Базовые настройки соединения с сервером отчетов

Кнопка

Значение

Позволяет активировать поля ввода настроек соединения с сервером БД в нижней части вкладки (область Настройки соединения с сервером отчетов) для их редактирования

Кнопка становится активна после изменения настроек. Позволяет сохранить новые параметры соединения с сервером отчетов

Кнопка становится активна после изменения настроек соединения. Позволяет отменить новые параметры соединения с сервером отчетов и вернуть прежние

Проверка соединения с сервером отчетов

Создание чистой базы данных на сервере отчетов

Создание источника данных на сервере

Для того чтобы изменить настройки соединения с сервером отчетов:

1.Нажмите на кнопку .

2.Введите новые параметры в  поля области Настройки соединения с сервером отчетов. Используйте учетные данные, введенные при установке сервера RusGuard (или SQL-сервера, если он был установлен отдельно) (см. табл. 10).

Таблица 10  — Формат ввода адреса сервера отчетов

Поле

Формат заполнения

Cервер отчетов

http://Имя сервера отчетов/ReportServer_Имя инстанса_SQL-сервера

Примеры:

http://ServerSQL /ReportServer_SqlExpress – подключение серверу отчетов (ServerSQL) с именем инстанса SqlExpress

http://ServerSQL/ReportServer – подключение к серверу отчетов (ServerSQL) с пустым именем инстанса

Предупреждение: Недопустимо использование в строке подключения адресов типа 127.0.0.1 и localhost.

3.Выполните проверку соединения .

4.Если настройки корректны, нажмите на кнопку . В противном случае отмените изменения и введите корректные данные.

5.Перезапустите все сервисы. Для этого:

I.Перейдите на вкладку Сервисы.

II.Нажмите на кнопку и дождитесь остановки всех сервисов.

III.Нажмите на кнопку .

IV.Нажмите на кнопку .

Вкладка Управление событиями

На вкладке Управление событиями (см. рис. 6) пользователь может:

Вручную удалить события до выбранной даты (включительно);

Настроить автоматическое удаление событий.

Рисунок 6 - Утилита RusGuard агент. Вкладка Управление событиями

Рисунок 6 — Утилита RusGuard агент. Вкладка Управление событиями

Для того чтобы удалить события вручную:

1.Нажмите на кнопку .

Активируются все поля ввода дат на вкладке.

2.В поле Удалить события до дд.мм.гггг включительно области Ручное удаление событий введите дату.

Дата вводится при помощи календаря, который всплывает при щелчке мышью внутри поля.

После ввода даты активируется кнопка Удалить события.

3.Нажмите на кнопку Удалить события.

Система начинает процесс удаления. Ход процесса отображается во всплывающем окне.

Для того чтобы настроить автоматическое удаление:

1.Нажмите на кнопку .

Активируются все поля ввода на вкладке.

2.Введите период хранения событий в поле Хранить события за _х_  месяцев области Автоматическое удаление событий.

3.В поле Запускать удаление _чч:мм_ в выберите частоту и время очистки базы данных событий (см. рис. 7).

Рисунок 7 - Утилита RusGuard агент. Вкладка Управление событиями. Настройка автоматического удаления

Рисунок 7 — Утилита RusGuard агент. Вкладка Управление событиями. Настройка автоматического удаления

После ввода даты активируется кнопка . Также активируется кнопка , которая позволяет сбросить введенные данные.

4.Нажмите на кнопку .

Система применит настройки.

Вкладка Лицензии

Рисунок 8 - Утилита RusGuard агент. Вкладка Лицензии

Рисунок 8 — Утилита RusGuard агент. Вкладка Лицензии

На вкладке Лицензии (см. рис. 8) отображается список подключенных лицензий и состояние связанного с ними ПО (например, драйверов).

12 типичных ошибок при бэкапе баз данных


Изначально эта статья задумывалась только для разработчиков и администраторов СУБД Firebird, но после общения с администраторами других БД выяснилось, что большинство ошибок общие, и на очень похожие грабли наступают буквально все. Если Вы можете что-то добавить к этому списку (пусть даже специфическое для конкретной СУБД), пишите в личную почту или в комментариях.
In English: 12 Common Mistakes while Backing Up Databases

Наша компания занимается инструментами восстановления, резервного копирования, оптимизации и поддержкой СУБД (в основном Firebird, но есть и MSSQL, PostgreSQL, InterBase и др.) и, как результат многочисленных аудитов и ремонтов, накопила коллекцию ошибок, связанных с резервным копированием. Все пункты ниже изложены по мотивам реальных случаев с повреждением баз, потерей и повреждением бэкапов, дисков, сбоями серверов, и прочих «радостей» администраторов БД.

Хотелось бы о них рассказать, чтобы администраторы и разработчики могли поменять свои подходы к управлению бэкапами и предупредить возможные проблемы.

Итак, приступим.

1. Удаление предыдущей копии бэкапа до того, как будет создана новая копия бэкапа
Чаще всего эту ошибку совершают новички, которые не понимают, что основная цель существования резервной копии БД – обеспечить минимальный простой информационной системы (важной частью которой является БД), а не просто создание копии БД.
В результате, с момента удаления последнего бэкапа до создания нового, система находится в незащищенном состоянии, потому что в этот период у базы данных нет ни одной резервной копии. Так как бэкап может создаваться достаточно долго, то это идеальное время для срабатывания закона Мерфи. Особенно хорошо этот подход работает в связке с пунктом 7 (см. ниже).
Рекомендация: не удаляйте предыдущий бэкап до того момента, как создан новый! (и не делайте новый бэкап в уже существующий файл)

2. Перезапись существующей базы данных при восстановлении из бэкапа
Эту ошибку совершают реже, но вот результаты могут быть гораздо печальнее. Если бэкап не проверялся и был поврежден (см. пункт 6), то в результате перезаписи у вас не будет ни предыдущей копии базы, ни валидного бэкапа.
Обычно это безобразие случается в пятницу вечером, в момент дерготни, неразберихи и противоречивых указаний со стороны начальства. Немного отрицательного везения и томные выходные в серверной обеспечены.
У Firebird есть некая защита от этой ошибки – создание рестора из бэкапа с помощью утилиты gbak с дефолтным ключом –create не сработает в случае, если указанное имя файла указывает на существующую БД. К сожалению, есть и обход этой защиты – переключатель –rep, который позволяет-таки переписать существующий файл.
Рекомендации: никогда не перезаписывайте файл боевой БД, не получив письменного указания руководства и, желательно, не получив предложения о новой работе.

3. Использование одношагового бэкапа-рестора, без создания промежуточного файла бэкапа
Стандартные потоки ввода-вывода позволяют провернуть с многими СУБД (с Firebird в том числе) интересный трюк: выполнять потоковый бэкап с немедленным восстановлением БД из него. В результате не создается промежуточный файл бэкапа. Это удобно для проведения регламентных работ и запуска проверочного восстановления (при наличии другой резервной копии), но ни в коем случае не надо использовать это для автоматического бэкапа!
Если в процессе такого бэкап-рестора произойдет серьёзный сбой диска, например, то может повредиться исходная база данных, а новая еще не будет создана. Конечно, если п.1 соблюдается, и есть копия БД от предыдущей попытки, то произойдет только потеря данных, которые были созданы или изменены в БД с момента создания ее копии.
Рекомендации: не используйте одношаговый бэкап-рестор в автоматическом режиме, а в ручном всегда проверяйте наличие достаточно свежей копии.

4. Хранение бэкапа и базы данных на одном и том же физическом устройстве
Тут многие могут посмеяться, что советы мы какие-то детские даем – это же азбука системного администрирования. Так-то оно так, но в связи с распространением виртуальных сред и БД, и диск могут находиться на одной СХД. А она обязательно сломается в самый неподходящий для бизнеса момент. Плюс, все еще существуют люди, которые верят в то, что если они используют RAID (от 1 и выше), то с их данными вообще ничего не может случиться. Еще есть люди, которые верят в сверхнадежность «брендового» железа, но это особый случай.
Рекомендации: не храните бэкап и БД на одном и том же физическом устройстве, каким бы надежным оно не казалась.

5. Отсутствие проверки успешного окончания бэкапа
Вот это довольно частая ошибка и администраторов, и руководителей ИТ подразделений. Если результат бэкапа не проверять, то можно бэкап не делать вообще — результат в общем тот же. Обязательно нужны нотификации по email об успешном бэкапе, а еще лучше и по СМС. Причем, отсутствие нотификации это признак проблемы!
А причем тут руководители, спросит внимательный читатель, дочитавший до этого места? А притом, что администратор обычно бэкап настроит, но вот нотификации ему проверять лень, тем более что лежат они у него в отдельной папочке, и поэтому руководителю ИТ-отдела надо периодически запрашивать дополнительный отчет о состоянии всех бэкапов. Это к вопросу, кого наказывать, если бэкапы вроде есть, но в нужный момент их не оказалось 🙂
! А при комбинировании с пунктом 2 получаем отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты автоматизации бэкапов, которые умеют отслеживать успешные и неуспешные бэкапы, сообщать пользователям о проблемах, и имеют обзорные средства контроля (особенно актуально, когда нужно контролировать десятки и сотни бэкапов на разных серверах).

6. Отсутствие валидации бэкапов
То, что бэкапы куда-то кладутся, не означает, что они оттуда могут быть прочитаны.
Поэтому обязательна периодическая верификация создаваемых бэкапов, чтобы быть уверенным, что создаваемые бэкапы не повреждены, не были скопированы в /dev/null
Рекомендации: никому не доверять, даже себе. Всех надо проверять.

7. Отсутствие health check базы данных при использовании неверифицированных бэкапов
Обычно СУБД имеют несколько видов бэкапа – дампы, просто бэкапы и т.д. Не вдаваясь в конкретику, можно выделить 2 категории – верифицированные и неверифицированные бэкапы. У Firebird это gbak и nbackup.
Gbak читает всю БД на уровне записей для создания файла бэкапа, и создает БД путем вставки записей в новую БД, и таким образом верифицирует и бэкап (есть варианты, как ошибки могут просочиться в отресторенную копию, но это уже другой вид факапа администратора БД, связанный с неверной миграцией), и саму базы данных (если она может быть прочитана от начала до конца, то с большой долей вероятности она не повреждена).
Nbackup (он же инкрементальный бэкап) – временно блокирует основной файл БД на запись (в консистентном состоянии), и позволяет быстро скопировать файл базы данных (полностью или частично/инкрементально).
Для больших БД Firebird (более 500Гб), предпочтительно делать nbackup, чтобы не тормозить работу пользователей, но при этом нужно проверять БД, ведь созданные неверифицированные бэкапы – это страничные копии БД, и если ошибка гнездится на уровне записей (такое случается из-за сбоя RAM) или на логическом уровне, то неверифицированный бэкап будет ее содержать так же, как и оригинальная БД.
Для этого нужно использовать онлайн-валидацию исходной базы данных (в Firebird начиная с версии 2.5.4 доступна онлайн-валидация при помощи gfix, а наш инструмент FBDataGuard поддерживает онлайн-проверку БД для версий 1.5-2.5).
Также, в дополнение к неверифицированному бэкапу желательно периодически (раз в неделю, например) делать верифицированный бэкап.
Для других СУБД необходимо использовать соответствующие средства и комбинации проверок.

8. Отсутствие контроля за свободным местом для бэкапа
В общем-то, это классическая ошибка — при недостатке места бэкап занимает все свободное место и аварийно завершается. При размещении бэкапа на одном диске вместе с БД может привести к остановке работы с БД, при размещении на системном диске – к поломке системы.
В комбинации с пунктом 4 в лучшем случае получим остановку работы системы, потому что базе данных тоже нужно свободное место, а оно кончилось из-за бэкапа.
А в комбинации с пунктами 5 и 2 опять получаем в результате отсутствие и базы, и бэкапа.
Рекомендации: использовать инструменты для бэкапа, которые делают прогноз размера бэкапа и предупреждают о возможной нехватке места.

9. Отсутствие контроля времени продолжительности бэкапа
Буквально полгода назад бэкап длился 40 минут, и вдруг стал 3 часа – почему? Возможно, вырос размер БД, а может быть, выпал диск из RAID-массива, отчего скорость записи резко деградировала, и все ваши бэкапы вот-вот покинут этот бренный мир. А может быть, добрый коллега одновременно включил еще одну систему резервного копирования (кстати, в Firebird можно запустить несколько бэкапов сразу, только не очень понятно, зачем это может быть нужно).
Если не контролировать время исполнения бэкапа, то можно проглядеть возникшую проблему и упустить шанс исправить ее до того, как она станет большой.
Также, в случае, если система резервного копирования не отслеживает состояния заданий, а запускает их просто по графику, легко можно попасть на «утренний троллейбус» — это когда новый бэкап может начаться в момент, пока предыдущий еще не закончился.
Рекомендации: использовать средства контроля продолжительности процесса бэкапа.

10. Исполнение бэкапа БД во время применения апдейтов ОС
Очень частая проблема, особенно в комбинации с п.9 и включенными автоматическими апдейтами Windows (которые по умолчанию происходят в 3 ночи). В лучшем случае приводит к замедлению процесса, а если ОС перегружается для применения апдейтов, то бэкап будет испорчен. Хорошо еще, что апдейты ОС не каждый день случаются.
Рекомендации: Если нельзя отключить, то назначьте апдейты ОС на такое время, когда они не смогут помешать бэкапам.

11. Бэкап базы данных средствами файлового бэкапа или средствами бэкапа виртуальной машины целиком, при включенном сервере БД
Многие администраторы забывают о том факте, что любая СУБД имеет активный и сложный кэш, в котором содержатся читаемые и записываемые данные, а сами файлы БД открываются в режиме случайного доступа.
Именно поэтому необходимо использовать специальные виды бэкапа, а не простой файловый бэкап (включая простое копирование файлов БД) или бэкап виртуальной машины. Файловые средства бэкапа читают БД последовательно и, особенно для больших БД, могут идти продолжительное время, поэтому нельзя гарантировать целостность созданной копии.
Для желающих осуществлять бэкап БД с помощью файловых средств или средств бэкапа виртуальных машин можно предложить 2 способа:

  1. полностью выключать сервисы и процессы СУБД, чтобы ничего не находилось в кэше,
  2. использовать агенты и/или скрипты, переводящие базы данных в специальный режим, когда копирование файла БД последовательным образом является безопасным.

Для Firebird необходимо блокировать основной файл БД с помощью nbackup до начала резервного копирования и разблокировать после окончания, для других СУБД есть аналогичные средства включения/выключение соответствующих режимов.

Кое-кто из администраторов БД убежден, что если в СУБД есть лог транзакций, то такую БД можно безопасно бэкапить стандартными файловыми средствами, в крайнем случае будет повреждение только этого лога. Это опасное заблуждение, которое не поддерживается производителями СУБД.

Корни этого заблуждения понятны: агрессивная реклама от производителей виртуальных машин и от производителей средств бэкапа обычно умалчивает о том, что для БД и других активно изменяемых файлов необходимы дополнительные настройки. Не доверяйте рекламе — не все йогурты одинаково полезны.
Рекомендации: не используйте файловые средства бэкапа и средства бэкапа VM без соответствующих средств автоматизации.

12. Подмена бэкапа репликацией
Бэкап и репликация данных служат повышению надежности и предотвращению потери данных, но все же существенно отличаются.
Все любят репликацию за способность синхронизировать данные на другом сервере с минимальном задержкой, однако и у бэкапа есть ряд неоспоримых преимуществ. Например, в случае случайного (или намеренного) удаления данных репликация быстро и невозмутимо оттранслирует изменения на реплику, а бэкап, особенно на read-only носителе, к таким операциям невосприимчив. Настроить правильную репликацию, как и правильный бэкап, стоит определенных усилий, и вероятность ошибок там также существует.
Рекомендации: Если у вас настроена репликация, не пренебрегайте бэкапами, используйте их совместно.

Выводы
Правильно организовать резервное копирование для вашей любимой СУБД не так-то и просто, поэтому обычно администраторы БД из организаций, где ценят данные, обычно используют профессиональные инструменты для бэкапов, которые позволяют учесть и предотвратить описанные выше ошибки. Для Firebird (уж простите за рекламу) есть наш FBDataGuard, для других СУБД можно использовать DBArtisan или другие средства.

Ну, и конечно – не забывайте холить и лелеять свою админскую паранойю, например, возьмите и проверьте свои бэкапы… вот прямо сейчас!

Господа, просьба откликнуться в личку тех, кто использует CBT на VMWare для ВМ с БД.

Как исправить ошибки MS SQL и восстановить базу данных

Приглашаем разобраться в важных темах – устранения ошибок MS SQL и восстановления базы данных. Получите представление о разных способах устранения проблемы, которые следует использовать при различных обстоятельствах.

Восстановление баз данных

Специалисты пользуются несколькими способами восстановления баз данных (БД). Наиболее простой и удобный ­– воспользоваться программой (SSMS) SQL Server Management Studio.

Как восстановить

Узнать, где находится SQL Server Management Studio, довольно легко. Microsoft Windows Server 2012 R2 располагается в стандартном перечне программных продуктов. В Microsoft Windows Server 2008 R2 следует зайти в меню Пуск и отыскать Microsoft Windows Server 2012. Там смотреть Microsoft SQL Server Management Studio.

Далее следует ввести тип сервера с именем, а чтобы подтвердить подлинность – информацию, требуемую для прохождения авторизации. Нажать Соединить (Connect).

В левом углу из обозревателя (Object Explorer) раскрыть Базы данных (Server Objects). Из представленного перечня отобрать базу, подлежащую восстановлению либо ту, данные которой будут восстанавливаться. На выбранном файле кликнуть мышкой и в выпавшем перечне выбрать Задачи (Tasks), затем Восстановить (Restore), потом База данных… (Databases …).

Проделанные шаги дадут старт процессу Restore Database, а значит требуемая база данных начнет восстанавливаться. Следует сделать выбор источника для Restore Database.

Чтобы возобновить базу данных, при запуске мастер восстановления сделает попытку автоматом определить очередность файлов резервных копий. В том случае, когда базу данных нужно загружать из определенной папки либо устройства, понадобится:

  1. Переключить соответствующую кнопку на Устройство (From device).
  2. Прописать, откуда восстановится БД.
  3. Выбрать инфобазу, в которую произведется загрузка данных (Destination for restore). Ею может выступать любая БД, которая регистрировалась на SQL Server (в том числе и база, с которой создавалась резервная копия).

В программе реализована возможность указания времени, необходимого для восстановления БД. Для этого необходимо просто кликнуть по кнопке Временная шкала… (Timeline). Если существует скопированный журнал транзакций или checkpoint в нем, то требуемый промежуток времени может быть указан с высокой точностью (вплоть до секунды).

Если требуется провести копирование БД, то во вкладке Файлы (Files) нужно будет прописать путь к файлам выбранной инфобазы.

Настройка дополнительных параметров

Также в программе реализована возможность настройки дополнительных параметров. Выставляя тот или иной флажок, можно регулировать необходимые действия. Следует выбрать соответствующий флажок, чтобы в процессе восстановления БД:

  • Которая опубликована не на сервере, где она создавалась, сохранились настройки репликации, поможет отметка «Сохранить параметры репликации). Он важен, если при резервном копировании была реплицирована БД;
  • была проведена перезапись файлов БД с именем, которое указывалось в качестве базы назначения – нужно поставить отметку «Перезаписать существующую базу данных»;
  • сузить доступность к базе всем, кто не sysadmin, db_owner, dbcreator – нужно поставить флажок «Ограничение доступа к восстановленной базе данных»;
  • старту должен предшествовать перевод БД в режим одного пользователя, а по его завершению вернуть в пользование для множества пользователей – поставить отметку «Закрыть существующие соединения»;
  • чтобы провести требуемое резервное копирование завершающего фрагмента журнала транзакций, следует поставить отметку «Создание резервной копии заключительного фрагмента журнала перед восстановлением». Если в окошке Временная шкала резервного копирования (Backup Timeline) для временной точки требуется эта резервная копия, то отметка будет поставлена системой, без возможности снятия;
  • чтобы после завершения восстановления каждой резервной копии уточнялась необходимость продолжения процесса – следует поставить отметку «Выдавать приглашение перед восстановлением каждой резервной копии» (Prompt before restoring each backup). Достаточно полезен, т.к. после того, как восстановлено определенное количество резервных копий можно остановить дальнейшую цепочку восстановительных процессов.

Настроив все важные параметры следует нажать ОК. Тем самым запустится процесс. Соответствующее уведомление сообщит об его окончании.

Восстановление базы в новое место

Чтобы перенести базу данных MSSQL Server по другому пути каталога либо сделать ее копию, следует знать, как восстановить БД в новую папку. Полезно знать как ее переименовывать. Для этого можно воспользоваться вышеупомянутой программой SSMS и T-SQL.

Подготовка к восстановлению базы данных

Перед стартом процесса восстановления нужно соблюдать ряд требований:

  1. Когда осуществляется процесс восстановления базы, доступ к ней может быть только у системного администратора. Для остальных пользователей доступ должен быть ограничен.
  2. Перед восстановлением нужно сделать резервную копию активного журнала транзакций.
  3. Чтобы восстановить зашифрованную базу необходим доступ к сертификату либо ассиметричному ключу, который применялся в качестве ее шифратора. Не имея доступа к ним, восстановление зашифрованной БД становится невозможным. Потому, такой сертификат следует хранить, пока может понадобиться резервное копирование.

После того, как база данных версии SQL Server 2005 (9.x) либо более поздней, восстановится, произойдет автоматическое обновление, и она станет доступной.

Если присутствуют полнотекстовые индексы

В том случае, когда в БД SQL Server 2005 (9.x) присутствуют полнотекстовые индексы, в момент ее обновления произойдет импорт, сброс либо перестроение. Результат зависит от того, какое значение проставлено в свойствах сервера upgrade_option.

При обновлении такие индексы станут недоступны, если upgrade_option имеет значения:

  • 2 в режиме импорта;
  • 0 в режиме перестроения.

Продолжительность поцессов импорта и перестроения зависит от того, какой объем занимают данные. Импорт может длиться пару часов, а процесс перестроения – гораздо дольше (может продолжаться в 10 раз дольше).

В том случае, когда выбран процесс Импорт, а доступ к полнотекстовому каталогу отсутствует, то произойдет перестроение одноименных индексов, которые связаны с ним. Для изменения свойств upgrade_option необходимо воспользоваться процедурой sp_fulltext_service.

Соблюдение правил безопасности

Чтобы обезопасить себя, крайне не рекомендуется проводить присоединение либо восстановление БД, которые были получены из ненадежных или вовсе неизвестных источников. Они могут содержать вредоносные коды, способные:

  • запускать выполнение инструкций T-SQL, не предусмотренных системой;
  • вызывать ошибки в результате изменения схемы либо самой структуры БД

Если БД получена из источников, не внушающих доверия, то перед началом ее использования необходимо:

  • протестировать по инструкции DBCC CHECKDB;
  • исследовать исходный и иные коды БД, изучить процедуры.

Инструкции RESTORE

На ход реализации этих инструкций влияет факт существования восстанавливаемой базы. Если база:

  • присутствует, то разрешения получают пользователи sysadmin, dbcreator, dbo (владелец БД) по умолчанию;
  • отсутствует, то пользователям потребуются разрешения CREATE DATABASE.

Разрешения на реализацию таких инструкций выдаются в соответствии с ролями. В соответствии с ними сервер всегда имеет доступ к данным о членстве. Разрешение RESTORE отсутствует у пользователей с ролями db_owner. Причина в том, что членство может быть проверено лишь в тех случаях, когда к базе данных всегда есть доступ и она не повреждена. А это иногда не соблюдается в процессе выполнения инструкций RESTORES.

Пошаговая инструкция восстановления БД в новую папку в SSMS

  1. Открыть SSMS и произвести подключение к SQL Server Database Engine.
  2. Щелкнуть мышкой по имени сервера, чтобы развернулось его дерево.
  3. Кликнуть мышкой на Базы данных, потом – по Восстановить базу данных.
  4. В разделе Источник выбрать Общие, чтобы определить соответственное расположение и источник копий, подлежащих восстановлению. Пользователю предлагается выбрать нужный вариант (Базы данных либо Устройства). Особенности:
  5. При выборе Базы данных открывается перечень БД, где можно выбрать нужную. В нем представлены лишь те базы, у которых резервные копии создавались по журналу msdb. Стоит отметить, что для БД на целевом сервере, резервные копии которых поступили с иных серверов, подобный журнал будет отсутствовать. В таких ситуациях следует выбирать вариант Устройство. Это позволит руками прописать файл, а в случае необходимости – обозначить устройство для выполнения восстановления.
  6. Устройство можно выбрать, воспользовавшись кнопкой обзора (…). В результате появится окошко Выбор устройств резервного копирования. Перейти в окошко Тип носителя резервной копии, в котором из списка выбрать необходимый тип устройства. Если требуется добавить ряд устройств, это можно сделать с помощью кнопки Добавить в окошке Носитель резервной копии. Когда все необходимые устройства добавлены, необходимо вновь перейти на страницу Общие. Для этого следует нажать ОК в списке Носитель резервной копии. Обратившись к списку Источник: Устройство: База данных обозначить название БД, куда будет производиться восстановление. Пользователь может воспользоваться данным списком только при выборе Устройства. Можно выбирать лишь те БД, у которых на отобранном устройстве имеются резервные копии.
  7. Название новой базы для проведения восстановления автоматом сформируется в поле База данных в разделе Назначение. При желании оно может быть изменено. Для этого желаемое название вводится в окошке База данных.
  8. Далее перейти к Восстановить до. Пользователь может оставить значение До последней выбранной резервной копии (по умолчанию) либо кликнуть по Временной шкале. При выбре второго варианта всплывет соответствующее окошко Временная шкала …. В нем нужно указывать точное время.
  9. Необходимые резервные копии для восстановления можно выбрать в соответствующей сетке. В ней отражены все наборы, доступные в выбранном месте. Система сама предложит план восстановления отобранных копий, который будет использован по умолчанию. Он может быть переопределен, если в сетке изменить отобранные элементы.
  10. Для указания другого места расположения файлов базы, необходимо выбрать страницу Файлы после чего нажать на Переместить все файлы в папку. Следует указать вновь выбранное место расположения папок файлов данных и журнала.
  11. Если возникла необходимость – провести настройку параметров, как было рассказано выше.

Чтобы начать процесс, в котором будет восстанавливаться БД в новую папку с возможностью переименовывать ее, можно воспользоваться инструкциями Transact-SQL.

Как просмотреть отчет

Стандартный отчет «События резервного копирования и восстановления» позволяет получить сведения о том, когда проводилось:

  • Резервное копирование определенной БД;
  • операции восстановления базы MS SQL из них.

Данный отчет включает данные, касающиеся создания резервных копий:

  • время, затраченное на это в среднем (Average Time Taken For Backup Operations);
  • операции, которые прошли успешно (Successful Backup Operations);
  • ошибки, которые были допущены (Backup Operation Errors);
  • удачно прошедших восстановлений баз (Successful Restore Operations).

Чтобы он начал формироваться, следует в Обозревателе объектов выбрать нужную БД и щелкнуть по ней мышкой. Выбрать в меню Отчеты, а затем – Стандартный отчет. После этого кликнуть на События резервного копирования и восстановления.

Чтобы просмотреть информацию из сформированного отчета следует выбрать нужную группировку и раскрыть данные по ней.

Для восстановления поврежденной БД можно воспользоваться еще одним инструментом.

Как исправить ошибки в MS SQL с помощью Recovery Toolbox for SQL Server

Для восстановления поврежденной базы данных можно обратиться к помощи Recovery Toolbox for SQL Server. Для исправления ошибки (Error), следует воспользоваться пошаговой инструкцией восстановления данных из файла *.mdf, который был поврежден. Для этого необходимо:

  1. Скачать Recovery Toolbox for SQL Server.
  2. Установить программу следуя инструкциям и запустить ее.
  3. Из списка файлов выбрать файл *.mdf, который был поврежден.
  4. Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
  5. Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
  6. сохранением на диск в качестве SQL-скрипта;
  7. выполнением SQL-скрипта в самой БД.
  8. Произвести выборку информации, требующей восстановления и сохранения.
  9. Начать восстановление нажатием Start recovery.

Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.

Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.

Инструкция по созданию/восстановлению резервных копий баз данных

Эта информация была полезна? 0 m n 0

Резервные копии рабочих баз данных, т.н. backup (бэкап), рекомендуется делать регулярно (на случай аппаратных и/или программных сбоев на сервере) с использованием планировщиков заданий, процесс настройки которых подробно описан в инструкциях по установке сетевых версий программ Альта-Софт (включая «Альта-ГТД»). Кроме того, в самой программе «Альта-ГТД» имеется функция, позволяющая создать резервную копию рабочей базы – см. меню Сервис/Бэкап БД SQL.

В процессе создания резервной копии «живая» база данных выгружается в файл на диск компьютера (на котором установлен SQL Server). В результате получается целостный файл, из которого в любой момент можно гарантированно восстановить базу данных до состояния, в котором она находилась на момент создания резервной копии. Причем по заверениям корпорации Microsoft резервную копию можно создавать даже во время активной работы пользователей с базой, однако «при прочих равных» мы рекомендуем делать копии, когда с базой никто не работает (хотя бы чтобы понимать в каком состоянии она находилась на момент копирования).

Перенос базы данных с одного SQL-сервера на другой также необходимо делать с помощью операций:

Создание резервной копии базы данных (backup)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» копируемой базы):
  3. Нажать правой кнопкой мыши на имени копируемой БД (в разделе «Базы данных») и выбрать меню «Задачи/Создать резервную копию»:
  4. В разделе «Назначение» указать путь и имя файла (путь всегда задается для компьютера, где установлен сам SQL Server!), в который будет выгружена база данных, для чего использовать кнопки «Удалить» и «Добавить» до тех пор, пока в поле «Создать резервную копию на» не будет отображен ровно один желаемый путь:
  5. На странице «Параметры» установить переключатель «Создать резервную копию в новом наборе носителей…» и галочку «Проверить резервную копию после завершения»:
  6. Нажать кнопку «ОК».

Примечание. Резервные копии баз данных SQL Server обычно хорошо сжимаются архиваторами (WinRAR, WinZIP и т.п.), поэтому размер полученного файла (*.bak) можно сильно уменьшить с их помощью.

Восстановление базы данных из резервной копии (restore)

  1. Запустить утилиту SQL Server Management Studio (из состава MS SQL Server).
  2. Подключиться к серверу под учетной записью администратора или владельца БД (можно использовать встроенную учетную запись «sa», пароль для которой задавался при установке SQL Server, либо выбрать вариант «Проверка подлинности Windows» в случае если текущий пользователь сеанса Windows обладает правами администратора в SQL Server, а также использовать любую другую учетную запись SQL Server или Windows, которая включена в роль «db_owner» восстанавливаемой базы при наличии таковой или серверную роль «dbcreator»):
  3. Нажать правой кнопкой мыши на разделе «Базы данных» и выбрать меню «Восстановить базу данных»:
  4. На странице «Общие» выполнить следующие действия:
    • В поле «В базу данных» ввести имя для восстанавливаемой базы (если будет указано имя существующей базы, то это эквивалентно тому, что сначала полностью удалить существующую базу и затем восстановить из резервной копии новую базу, т.е. все данные существующей базы будут утеряны!);
    • Установить переключатель «С устройства» и указать путь к файлу резервной копии, нажав кнопку «…»;
    • Установить галочку «Восстановить» в нужной строке (которых может быть несколько, если один файл *.bak содержит несколько резервных копий базы):
  5. На странице «Параметры» установить галочку «Перезаписать существующую базу данных» и проверить пути в списке «Восстановить файлы базы данных как» (должны указывать на существующую папку на SQL-сервере, к которой предоставлены права на запись – пути по умолчанию обычно должны заканчиваться папкой DATA, а не просто MSSQL):
  6. Нажать кнопку «ОК».

Примечание. После восстановления базы данных на другой версии SQL Server (например, при переносе с SQL2005 на SQL2008) рекомендуется в свойствах базы данных переключить параметр «Уровень совместимости» на последнюю версию (см. страницу «Параметры» в свойствах БД).

Кроме того, после переноса базы на любой новый SQL-сервер придется заново настроить авторизацию и регулярное резервное копирование в соответствии с инструкцией по установке сетевой версии соответствующей программы.

Для переноса большого количества «имен входа» (логинов) с их паролями на новый сервер можно воспользоваться способом, описанным в статье базы знаний Microsoft. Однако, следует иметь в виду, что данный способ не переносит серверные права логинов (принадлежность «серверным ролям», право на «просмотр состояния сервера» и т.п.), а также не подходит для переноса с SQL 2012 на более ранние версии SQL Server.

источники:

http://otus.ru/journal/kak-ispravit-oshibki-ms-sql-i-vosstanovit-bazu-dannyh/

http://www.alta.ru/support/27/

Понравилась статья? Поделить с друзьями:
  • Rx470 ошибка 43
  • Rx300 ошибка 1663
  • Rx 550 ошибка 43 win 10
  • Rx 590 ошибка 184
  • Rx 580 ошибка 184