====== Частые проблемы и их способы решения ====== ===== При установке ===== ==== Нет модуля установки системы на сервере заказчика ==== Это осознанное решение. \\ Мы не уверены, что сможем предусмотреть все возможные варианты установки приложения, если что-то уже стоит на сервере (например, Exchange). \\ Поэтому, чтобы ничего не сломать, этого не делаем. ====Не отправляется почта ==== //Не уходят [[product/subscribe/e-mail|уведомления пользователям на e-mail]] из ADVANT'ы. // Для диагностики: - установите почтовый клиент на сервер с IIS; - создайте почтовый аккаунт с настройками аналогичными тем, которые указаны в [[product:settings:interface:smtp|настройках SMTP в ADVANTA]]; - проверьте работоспособность. ==== Ошибка SMTP ==== ''The SMTP server requires a secure connection or the client was not authenticated. The server response was: From/Sender name is not valid '' - данная ошибка появляется, когда удалили пользователя из системы. \\ Решение — из неотправленной почты нужно удалить сообщения, которые были привязаны к удаленному пользователю. ==== Безопасный запуск системы в инфраструктуре ==== - SQL: - Создать специального пользователя, от имени которого система будет подключаться к базе данных. \\ //Никаких прав, кроме ''db_owner'' на базу не нужно.// - Заблокировать все порты, кроме SQL. - IIS: - Создать пользователя в Active Directory, от имени которого будет запускаться пул приложений. - Разрешить пользователю полный доступ к папке с документами, кэшем и логами. ==== Иконки в системе отображаются квадратами ==== IIS: добавить mime type .woff ([[product:settings:system:install#настройка_internet_information_services|см. инструкцию по установке]]) ====Перенос системы на другой (другие) сервер(а) ==== Процесс переноса системы ничем не отличается от новой установки системы на новом сервере ([[product:settings:system:install|ссылка на документацию]]), за исключением того, что Вы используете свои данные (бэкап Базы Данных, web-контент, документы), а не из дистрибутива. Для переноса нужно выполнить следующие шаги: - Заархивировать папку с дистрибутивом (по умолчанию C:\SL_Files) и перенести на новый сервер. - Если документы хранились в другом каталоге (не C:\SL_Files), то необходимо также перенести папку с ними на новый сервер. - Заархивировать web-контент системы (папка С:\inetpub\wwwroot\Streamline) и перенести в папку С:\inetpub\wwwroot\Streamline на новом сервере. - Сделать бэкап Базы Данных системы (БД), заархивировать для переноса и скопировать архив на новый сервер баз данных и разархивировать его там. - Выполнить Установку и настройку системы на новом сервере (или серверах). - После установки и настройки системы, передать на портал технической поддержки файл ключа _sl.dat для получения файла лицензии. - Установить службу таймера (a2schr.exe). ====Ошибки после переноса системы на другой сервер ==== //Не скачивается документ / отсутствуют иконки / фотографии и т.д// - Проверить, что путь до документов указан корректно. Файл ''client.config'' должен быть в корневой папке. По умолчанию в папке: ''c:\inetpub\wwwroot\streamline'' - Проверить, что у пользователя, от имени которого запущен пул, есть полные права на папку, указанную как место хранения документов в файле ''client.config''. ====Система не может найти файл лицензии==== //Хотя файл есть, и необходимые права -- тоже.// Проверить, что файл не заблокирован. Довольно часто Windows автоматически блокирует файл, если он был скачан извне. Выполняться такой файл не будет => ошибка. Зайдите в свойства файла -> "Разблокировать". ==== Интегратор MS Project - ошибка соединения с сервером ==== //Ошибка установки соединения с сервером, если используется самоподписный SSL сертификат// Добавить сертификат на ПК пользователя в список доверенных корневых центров сертификации (Win+R -> ''mmc'' -> "Файл" -> "Добавить или удалить оснастку" -> добавьте здесь сертификат) Проверяйте корректную установку сертификата через Internet Explorer, т.к. [[product:settings:system:distribs#интегратор_с_ms_project|интегратор]] использует движок IE. \\ Зайдите на сервер через IE. Если сообщение о недоверенном соединении не появилось, всё ок. ====Ошибка подключения к SQL серверу==== ==="Не удалось найти сервер"=== Проверьте: - настройки DNS сервера (если вы указываете доменное имя, а не ip-адрес); - настройки самого SQL: чаще всего проблема встречается в редакциях SQL Express -- там есть преднастроенный инстанс. \\ При указании адреса SQL нужно указать не только доменное имя или IP, но и "named instance": доменное_имя\инстанс Проверьте в SQL Server Configuration Manager, указан ли там инстанс; - В SQL Server открыт порт 1433 ([[https://jakondo.ru/nastrojka-mssql-server-express-dlya-dostupa-iz-lokalnoj-seti/|ссылка на пример инструкции]]). Как проверить соединение: установить Management Studio на сервер IIS, скопировать данные для подключения из файла client.config и проверить подключение. ==="У пользователя не хватает прав на запрос к БД"=== В некоторых версиях Management Studio: если создавать пользователя, и одновременно давать ему права доступа на базу – права на самом деле не даются. - Зайдите в пользователя снова; - еще раз назначьте права (db_owner); - сохраните. ===Пользователю запрещен вход в SQL=== Проверьте, что в настройках SQL разрешена смешанная авторизация (SQL + Windows) (Свойства сервера -> Безопасность -> SQL + Windows) ===При попытке разворачивания бэкапа - ошибки совместимости баз данных=== SQL базы обратно не совместимы через бэкап. Нельзя развернуть копию базы, сделанной на 2012 SQL, на 2008. Но это можно сделать средствами копирования базы из одного инстанса SQL в другой. https://jakondo.ru/nastrojka-mssql-server-express-dlya-dostupa-iz-lokalnoj-seti/ ===== Во время эксплуатации ===== ==== Резервное копирование системы ==== Организуйте бэкапы согласно вашим корпоративным регламентам. Что нужно бэкапить: - Документы – хранятся в папке, [[product:settings:system:install#настройка_системных_файлов|указанной в файле client.config]]. - База данных – SQL => настройте создание резервных копий штатными средствами SQL. ====Обеспечение отказоустойчивости==== === IIS === Запустите Reverse proxy с балансировкой по отказу. Система не поддерживает веб фермы. => Переключение с резервного сервера на основной должно быть **только ручным**, если у reverse proxy сработает ложный переход. \\ Если переключение на исходный сервер будет автоматическим, то без перезапуска ISS данные будут не действительные, система будет работать нестабильно и часть данных может быть утеряна. ===SQL=== Включите SQL AlwaysON. [[https://docs.microsoft.com/ru-ru/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-2017|Подробно о технологии на официальном сайте Microsoft]]. ===Документы=== Воспользуйтесь любым удобным способом обеспечения высокой доступности файлов. \\ Например, настройте бэкапы или используйте [[https://ru.wikipedia.org/wiki/Network_File_System|NFS]]. ====Диагностика медленной работы системы ==== - Открыть монитор ресурсов, посмотреть на вкладке Обзор -> Диск -> Время ответа (мс). \\ Если время ответа больше 50-100 мс, то необходимо ускорять файловую подсистему. - Посмотреть в диспетчере задач количество свободной оперативной памяти, при необходимости добавить. См. также [[product/settings/productivity|подробно о методах и инструментах повышения производительности системы]]. === SQL=== **Система не отвечает аномально долго** \\ //Аномально -- если, например, диаграмма Ганта всегда сохраняла этот проект за 1 минуту, а сейчас -- 10 минут// \\ Посмотрите монитор активности в SQL server на предмет наличия блокировок: поле "Главные причины блокировки" -> контекстное меню -> подробности -> скопировать текст и отправить его в поддержку. **Отключите лог транзакций** \\ Переведите модель восстановления данных в Simple: свойства базы -> параметры -> модель восстановления -> simple. ====Система ведет себя по-разному на двух разных компьютерах ==== //В контексте функциональности самой системы.// Удалите кэш браузера, отключите все расширения браузера ====Не удается создать реквизит, поменять дату у некоторых проектов и т.д.==== System.Data.SqlClient.SqlException: Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона. Проблема в том, что у пользователя в SQL, от имени которого осуществляется подключение к серверу баз данных, стоит язык отличный от русского. Вне зависимости, какой язык стоит на рабочей станции пользователя, на каком языке ADVNTA, у пользователя SQL **должен быть язык "Russian"**. Язык пользователя влияет на формат ответа некоторых типов данных в SQL Server. Например, дата. \\ У русского языка формат даты: День:Месяц:Год, у английского: Месяц:День:Год. \\ => Если в ячейке стоит дата 25.01.2019, то при переводе на английский формат даты получается переполнение, т.к. месяцев 12, а не 25. ====Таймаут соединения==== //Если пользователь бездействует, через сколько минут происходит разрыв соединения.// По умолчанию таймаут сессии пользователя 10 минут. Устанавливается в ''web.config'' в разделе ''sessionState'' в параметре ''timeout'' в минутах. Отсчет таймаут сессии пользователя начинается заново после каждого действия пользователя в системе. \\ Также есть таймаут кэша страницы, по умолчанию 10 минут. Отсчет таймаута кэша страницы начинается заново после каждого действия пользователя на странице или по запросу который автоматически посылается каждые 6 минут со страницы. \\ Сессия пользователя в любом случае будет продливаться автоматически, пока есть активные открытые страницы системы в браузере. Сессия не будет рваться у пользователя, только если браузер с нашей системой все время будет активен, и будет связь с сервером с системой. Например, если компьютер пользователя переходит в "Спящий режим", то браузер с открытыми страницами нашей системы перестанет посылать запросы на продление таймаута кэша страниц. => Cессия пользователя прервется по истечению таймаута. Увеличение таймаута сессии пользователя и таймаута кэша страницы может привести: * к чрезмерному потреблению памяти системой; * к проблеме актуальности данных, с которыми работает пользователь, т.к. кэш страницы не синхронизируется с другими изменениями в системе. Отдельное увеличение таймаута сессии пользователя может привести к потере данных введенных пользователем на странице системы после, например после выхода компьютера пользователя из "Спящего режима", т.к. сработал таймаута кэша страницы и страница будет перезагружена при первом действии пользователя, которое отправит синхронный запрос на сервер.