Помните, что соединения объединяются в одну строку подключения. Если у вас много баз данных и вы подключаетесь с использованием множества строк подключения, ваше приложение создаст новое подключение, если не существует правильной строки подключения. Затем он объединит это соединение и, если пул заполнится, увеличит существующее соединение. По умолчанию Максимальный размер пула составляет 100 соединений, поэтому, если вы регулярно просматриваете более 100 баз данных, вы будете закрывать и открывать соединения все время.
Это не идеально, но вы можете решить проблему, всегда подключаясь к одной базе данных (одной строке подключения), а затем переключая контекст БД «USE [DBName]». Есть недостатки:
- Вы теряете возможность указывать пользователя / проход для строки подключения (пользователю вашего приложения требуется разрешение на все базы данных).
- Ваш SQL становится более сложным (особенно если вы используете готовый ORM или хранимые процедуры).
Вы можете поэкспериментировать с увеличением максимального размера пула, если количество вашей базы данных невелико. В противном случае, если некоторые базы данных используются часто, а другие - нет, вы можете отключить объединение редких баз данных. Оба элемента настраиваются с помощью строки подключения .
Что касается метрик, то мониторинг событий входа в систему и выхода из системы на SQL Server является хорошим началом. Если ваше приложение объединяется в пул, вы не должны видеть их много.