Всем привет. Может кто подскажет, кто ставил MSSQL на Linux. Есть какие то значимые затыки, например не тот план выполнения, может быть расход памяти. + по админской части, можно ли там также снимать метрики, из системного монитора. или может кто-что посоветует почитать на эту тему, заранее спасибо.
Привет! На линуксе работает тот же бинарь, что и на винде. Это реализовано через прослойку трансляции системных вызовов. SQL Server имеет всего 35 платформозависимых вызовов, так что это почти не сказывается на производительности. Планы запросов, скорость выполнения, возможности классического Database Engine не отличаются. Отличается состав дополнительных компонент, типа репликации, In-memory Database и т.п. Также на линуксе используется решение высокой доступности Pacemaker за отсутствием Windows Failover Cluster. Pacemaker сильно проигрывает по функциональности, удобству настройки. Также к нему есть вопросы по безопасности. На примере PostgreSQL было показано, что его архитектура может приводить к потере данных, но неизвестно на сколько это актуально для MS SQL. На счёт мониторинга ОС через счётчики производительности - там это выглядит сильно иначе. Счётчики уровня экземпляра те же и доступны через sys.dm_os_performance_counters, но не через perfmon и прочее, что работает через WMI. Вот тут готовое решение по мониторингу SQL Server на линуксе на основе influxDB и Grafana. Используется docker так что разворачивается не особо трудно.