Это старая версия документа!


Частые проблемы и их способы решения

Нет модуля установки системы на сервере заказчика

Это осознанное решение.
Мы не уверены, что сможем предусмотреть все возможные варианты установки приложения, если что-то уже стоит на сервере (например, Exchange).
Поэтому, чтобы ничего не сломать, этого не делаем.

Не отправляется почта

Не уходят уведомления пользователям на e-mail из ADVANT'ы.

Для диагностики:

  1. установите почтовый клиент на сервер с IIS;
  2. создайте почтовый аккаунт с настройками аналогичными тем, которые указаны в настройках SMTP в ADVANTA;
  3. проверьте работоспособность.

Безопасный запуск системы в инфраструктуре

  1. SQL:
    1. Создать специального пользователя, от имени которого система будет подключаться к базе данных.
      Никаких прав, кроме db_owner на базу не нужно.
    2. Заблокировать все порты, кроме SQL.
  2. IIS:
    1. Создать пользователя в Active Directory, от имени которого будет запускаться пул приложений.
    2. Разрешить пользователю полный доступ к папке с документами, кэшем и логами.

Иконки в системе отображаются квадратами

Добавить mime type .woff (см. инструкцию по установке)

После переноса системы на другой сервер не скачивается документ/отсутствуют иконки/фотографии и т.д

  1. Проверить, что путь до документов указан корректно. Файл client.config должен быть в корневой папке. По умолчанию в папке: c:\inetpub\wwwroot\streamline
  2. Проверить, что у пользователя, от имени которого запущен пул, есть полные права на папку, указанную как место хранения документов в файле client.config.

Система не может найти файл лицензии

Хотя файл есть, и необходимые права – тоже.

Проверить, что файл не заблокирован.

Довольно часто Windows автоматически блокирует файл, если он был скачан извне. Выполняться такой файл не будет ⇒ ошибка.

Зайдите в свойства файла → «Разблокировать».

Ошибка установки соединения с сервером, если используется самоподписный SSL сертификат

Добавить сертификат в доверенные (Win+R → mmc → «Файл» → «Добавить или удалить оснастку» → добавьте здесь сертификат)

Проверяйте корректную установку сертификата через Internet Explorer, т.к. интегратор использует движок IE.
Зайдите на сервер через IE. Если сообщение о недоверенном соединении не появилось, всё ок.

Ошибка подключения к серверу

"Не удалось найти сервер"

Проверьте:

  1. настройки DNS сервера (если вы указываете доменное имя, а не ip-адрес);
  2. настройки самого SQL: чаще всего проблема встречается в редакциях SQL Express – там есть преднастроенный инстанс.
    При указании адреса SQL нужно указать не только доменное имя или IP, но и «named instance»:
    доменное_имя\инстанс

    Проверьте в SQL Server Configuration Manager, указан ли там инстанс.

Как проверить соединение: установить Management Studio на сервер IIS, скопировать данные для подключения из файла client.config и проверить подключение.

"У пользователя не хватает прав на запрос к БД"

В некоторых версиях Management Studio: если создавать пользователя, и одновременно давать ему права доступа на базу – права на самом деле не даются.

  1. Зайдите в пользователя снова;
  2. еще раз назначьте права (db_owner);
  3. сохраните.
Пользователю запрещен вход в SQL

Проверьте, что в настройках SQL разрешена смешанная авторизация (SQL + Windows)

(Свойства сервера → Безопасность → SQL + Windows)

При попытке разворачивания бэкапа - ошибки совместимости баз данных

SQL базы обратно не совместимы через бэкап.

Нельзя развернуть копию базы, сделанной на 2012 SQL, на 2008. Но это можно сделать средствами копирования базы из одного инстанса SQL в другой.

Резервное копирование системы

Организуйте бэкапы согласно вашим корпоративным регламентам.

Что нужно бэкапить:

  1. Документы – хранятся в папке, указанной в файле client.config.
  2. База данных – SQL ⇒ настройте создание резервных копий штатными средствами SQL.

Обеспечение отказоустойчивости

IIS

Запустите Reverse proxy с балансировкой по отказу.

Важно!

Система не поддерживает веб фермы. ⇒ Переключение с резервного сервера на основной должно быть только ручным, если у reverse proxy сработает ложный переход.
Если переключение на исходный сервер будет автоматическим, то без перезапуска ISS данные будут не действительные, система работать будет странно.
SQL
Документы

Воспользуйтесь любым удобным способом обеспечения высокой доступности файлов.
Например, настройте бэкапы или используйте NFS.

Диагностика медленной работы системы

  1. Открыть монитор ресурсов, посмотреть на вкладке Обзор → Диск → Время ответа (мс).
    Если время ответа больше 50-100 мс, то необходимо ускорять файловую подсистему.
  2. Посмотреть в диспетчере задач количество свободной оперативной памяти, при необходимости добавить.

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

SQL

Система не отвечает аномально долго
Аномально – если, например, диаграмма Ганта всегда сохраняла этот проект за 1 минуту, а сейчас – 10 минут
Посмотрите монитор активности в SQL server на предмет наличия блокировок: поле «Главные причины блокировки» → контекстное меню → подробности → скопировать текст и отправить его в поддержку.

Отключите лог транзакций
Переведите модель восстановления данных в Simple: свойства базы → параметры → модель восстановления → simple.

Система ведет себя по-разному на двух разных компьютерах

В контексте функциональности самой системы.

Удалите кэш браузера, отключите все расширения браузера

Начинают возникать ошибки в системе

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

System.Data.SqlClient.SqlException: Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона.

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

Вне зависимости, какой язык стоит на рабочей станции пользователя, на каком языке ADVNTA, у пользователя SQL должен быть язык «Russian».

Язык пользователя влияет на формат ответа некоторых типов данных в SQL Server. Например, дата.
У русского языка формат даты: День:Месяц:Год, у английского: Месяц:День:Год.
⇒ Если в ячейке стоит дата 25.01.2019, то при переводе на английский формат даты получается переполнение, т.к. месяцев 12, а не 25.