вторник, 8 апреля 2025 г.

Настройка антивируса на серверах MS SQL Server


Времена идут, сервера меняются, базы данных, растут , экспертиза так же.


Пришлось анализировать сервера ЕРП и производства на основе 1С крупной компании, десятки серверов, и по ходу зашел на авторитетный ресурс по 1С и там было очень неправильное высказывание, что на нагруженных серверах баз данных 1С на основе MS SQL Server антивирус нужно отключать- честно сразу ставится профессионализ данных специалистов 1С(не одна зарплата администратора 1с не покроет потери той же бухгалтерии даже небольшой компании).

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

В данной статье хочу еще раз прописать настройки , необходимый для работы антивируса на серверах баз данных MS SQL Server и других компонентов СУБД.

Но самое главное, что хочется донести, на серверах СУБД с MS SQL Server  антивирус  ДОЛЖЕН быть обязательно. Поверьте, из опыта, а опыт работы большой, а так же работал и в мировой антивирусной компании, где отвечал за сервера СУБД MS SQL Server, нагруженные сервера с террабайтами памяти, сотни террабайт объема данных на одном сервере, антивирус прекрасно работает и не мешает при ПРАВИЛЬНОЙ  настройке.

Для корректной работы MS SQL Server, получение максимальной производительности системы антивирусное программное обеспечение должно настроено на серверах с продуктами MS SQL Server . В противное случае возможна деградация производительности систем, фиксация ошибок, а так же возможна и потеря данных (особенно при использование объектов In-Memory). Настройка антивируса при наличие объектов In-Memory требуется обязательно, иначе потеря данных и сбой работы СУБД гарантировано. Дело в том, что при работе объектов Inmemory, некоторые объеты и dll-ки компилируются на лету во время работы СУБД, что многими антивирусами определяется как подозрительная активность .

Итак в первую очередь нужно исключить процессы из сканирования антивируса:

  • sqlservr.exe (SQL Server ядро СУБД)
  • sqlagent.exe (агент SQL Server)
  • sqlbrowser.exe (служба браузера SQL Server)
  • %ProgramFiles%\Microsoft SQL Server\1<NN>\Shared\SQLDumper.exe (служебная программа SQLDumper)
Файлы баз данных MS SQL:

  •   .mdf
  •   .ldf
  •   .ndf
  •   дополнительные расширения, которые возможно используете  (желательно избегать не стандартные расширения для файлов баз данных)

Отсюда и требование к стандартизации настройки серверов в компании, обычно это выделенные папки на диска , как пример D:\data , F:\Log, т.е вы указываете данные каталоги в которых лежат файлы баз данных с указанным расширением,  а не все диски .

Файлы резервного копирования баз данных :

  •    обычно это расширения .bak и .trn

Файлы доставки журналов( Log Shipping):

  • обычно это расширение  .tuf
Файлы SQL аудита - расширения:
  •    .sqlaudit
Каталоги Full-text данных:

  • § по умолчанию это   Program Files\Microsoft SQL Server\MSSQL\FTDATA , либо Program Files\Microsoft SQL Server\MSSQL$instancename\FTDATA
Файлы SQL Profiler-а(хотя уже профайлером нужно запретить пользоваться) и трассировки по умолчанию:
  • § .trc  расширения
Файлы при выполнении команды DBCC CHECKDB
  • обычно это формат временных файлов <Database_data_filename.extension>_MSSQL_DBCC<database_id_of_snapshot>., расположены рядом с файлами баз данных. Если указан в исключених каталоги баз данных, то данные файлы в исключениях.
Файлы дампов sql server , согласно настройкам СУБД:
  • файлы с расширением .mdmp и обычно расположены в каталоге LOG установки SQL Server
Файлы расширенных событий мониторинга (Extended Events):
  •  расширение .xel или xem,, так же обычно расположены в каталоге  LOG установки SQL Server
Файлы In-Memory объектов баз данных(обязательно необходимо проверить нахождение данных объектов в исключениях:
  •  обычно каталог In-Memory расположен там же, где и файлы баз данных, если каталог находится в исключения, то и файлы так же в исключениях.

  • следующие типов файлоы должны быть в исключениях:

xtp_<t/p>_<dbid>_<objid>.c

xtp_<t/p>_<dbid>_<objid>.dll

xtp_<t/p>_<dbid>_<objid>.obj

xtp_<t/p>_<dbid>_<objid>.out

xtp_<t/p>_<dbid>_<objid>.pdb

xtp_<t/p>_<dbid>_<objid>.xml

Файлы и объекты SQL репликации:

  •     каталоги COM объектов, drive>:\Program Files (x86) \Microsoft SQL Server\<VN>\COM\ или <drive>:\Program Files\Microsoft SQL Server\<VN>\COM\
  •   каталог моментального снимка репликации и скриптов репликации , обычно путь  \Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\ReplData, (если не установлен другой), расширения файлов: .sch, .idx, .bcp, .pre, .cft, .dri, .trg or .prc

При наличие установленных других компонентов MS SQL Server:

  • При работе службы Analysis Services (необходимо уточнять  пути ):
  •  каталог данных баз данных , по умолчанию C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Data.
  •  файлы резервных копий баз данных, C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Backup

  •   каталог с логами службы  C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Log
При работе Reporting Service(PowerBi report Server):
  •   Каталоги журналов службы  и временных файлов  обычно  (RSTempFiles and LogFiles)
Процессы:

  • %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\MSSQL\Binn\SQLServr.exe
  •   %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\Reporting Services\ReportServer\Bin\ReportingServicesService.exe
  •  %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\OLAP\Bin\MSMDSrv.exe
Исключения  каталого при конфигурации с использованием Windows кластера:

  •  Q:\ (Quorum drive)
  •  C:\Windows\Cluster
  •  MSDTC directory in the MSDTC drive
Исключений, как видим много, и поэтому для правильной работы антивируса должно быть   действие единой политики антивируса на серверах с MS SQL Server, а так же  сервера с MS SQL Server устанавливаются и настраивались по единому стандарту.

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

Второе замечание, для высокой защиты, добавляют хеш исполнительного процесса MS SQL Server SQLServr.exe, но он может меняться послу установки очередного CU  , не забываем обновить его после установки обновления.


Удачной и безопастной работы ваших серверов!.

пятница, 27 сентября 2024 г.

Как поменять настройки памяти, если ошиблись при настройке

 Тут случился небольшой случай, коллеги установили настройки памяти и ошиблись при вводе , вместо 12000 Гб, установили 120 мб, это очень мало, в итоге при старте службы MS SQL Server вылетает ошибка в журнале MS SQL :

Failed allocate pages: FAIL_PAGE_ALLOCATION 1

и служба падает.

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


Решение простое:- запустить службу MS SQL  с минимальными параметрами запуска, указав флаг запуска -f . Больше информации на сайте MS 

Информация о запуске MS SQL Server  в минимальной конфигурации здесь.

После этого служба запускается, и  выставляем необходимые параметры памяти, останавливаем службу ms sql , убираем флаг запуска -f, запускаем службу ms sql.


среда, 9 марта 2022 г.

C0000005 - Server terminating - страшное слово для SQL Server

Разберем два кейса причины падения SQL server.

Симптомы довольно распространенные : работает , работает и бац, дамп, и служба остановлена.

Вообще, из практики , если служба остановилась полностью, есть несколько основных причина падения:

- ошибка с оборудования, особенно SQL Server чувствителен к памяти. Недавно случай был,              служба остановилась и все , ни ошибок нет, ни дампа, Но в этот момент была ошибка с     памятью     зафиксирована в System журнале ОС, - в итоге замена планки памяти вендором.

- вторая распространённая причина внезапной остановки SQL Server - это внешние компоненты загруженные в память SQL server, такие как библиотеки поставщиков для Linked Servers, объекты созданные череp sp_oaCreate 

Приведу пример второго случая:

вторник, 25 января 2022 г.

Ускорение работы Database Mail

 В данной небольшой статье хочу описать ускорение работы Database mail компонента SQL Server.

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

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

вторник, 29 июня 2021 г.

Ошибка DistributedCOM 10016 на серверах SQL Server


Страниц в интернет по данной ошибке полно, но эта ошибка довольно часто встречает на промышленных серверах с MS SQL Server решил еще одну написать.

Имеем ошибку вида:

The Application-Specific Permission Settings Do not Grant Local Activation Permission for the COM Server Application with CLSID {} and APPID {} to the User DOMAIN\User from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission Can Be Modified using the Component Services Administrative Tool.

Event ID 10006

Source - DistributedCOM

среда, 25 декабря 2019 г.

Ошибка при обновлении MS SQL Server 0x851A0044

Иногда при установке очередного CU или SP на MS SQL Server возникает ошибка установки и установить обновления не получается.
Подробный текст ошибки:


Detailed results:
  Feature:                       Database Engine Services
  Status:                        Failed: see logs for details
  Reason for failure:            An error occurred during the setup process of the feature.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                SQL Server Database Engine Services Instance Features
  Component error code:          0x851A0044
  Error description:             The User Log directory in the registry is not valid. Verify DefaultLog key under the instance hive points to a valid directory.
  Error help link:               http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=12.0.6024.0&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068&EvtType=0xD8FB5EBA%400x97A656BB%401306%4068 

вторник, 4 декабря 2018 г.

Сжимаем ииии разжимаем. Compressed and uncompressed.


В MS SQL Server есть возможность сжатия данных на уровне строк или на уровне страниц.
Информация по данной возможности описана на страницах Microsoft:
В текущей заметке хочу остановиться не на описание технологий и плюсах и минуса, а о некоторой особенности, которую необходимо знать при включении сжатия. 

пятница, 15 июня 2018 г.

Reporting Services. Статистика выполнения отчетов.


В продолжении темы с Reporting Services.

Предыдущие были про обновление Reporting Services  и про SSL  и с ним связанной ошибки. Теперь, после того как обновили до последней версии наш сервер отчетов, настроили SSL, мы решили провести аудит своих более 200 отчетов: 
            
            Какие отчеты используются? Как часто и кем? Что вообще не используются?

среда, 6 июня 2018 г.

Reporting Services. Делаем доверенным сайт отчетов.



После установки Reporting Services на сервер и привязки web ресурса к протоколу SSL, где по умолчанию прописывается сертификат сервера, сайт все еще считается не безопасным и не разрешенным.

пятница, 25 мая 2018 г.

Ошибка при создания SQL задания… Try again later.


После переноса SQL задания на новый SQL Server получил ошибку при создании и правки SQL задания:

Cannot perform this operation while SQLServerAgent is starting. Try again later.