Можно ли изменить имя приложения, переданное на SQL Server (через строку соединения ADO), когда соединение открыто, не закрывая и не открывая соединение?Изменение имени приложения при подключении SQL Server
В частности, я использую ADO, а не ADO.NET, и поставщик SQLLEEDB.1 OLE DB.
Встраиваем информацию о сеансе в имя приложения, чтобы помочь нам идентифицировать соединение, специфичное для сеанса пользователя. Это в первую очередь помогает при устранении проблем с плохими запросами или проблемами производительности.
В настоящее время мы не используем пул соединений для наших соединений ADO. Я рассматриваю возможность внедрения пула соединений, но хочу обновить имя приложения, когда соединение будет удалено из пула, чтобы у нас была точная информация о сеансе в имени приложения.
Я ценю ваш ответ. К сожалению, я не понимал, что ADO имеет свой собственный пул соединений (я думал, что пришел с ADO.NET). Поэтому я потратил некоторое время на изучение и рассмотрение вариантов. Наша архитектура такова, что, как только пользователь получает ADO-соединение, это соединение остается открытым (на нашем сервере), пока пользователь не выйдет из системы. Изменение архитектуры, позволяющей ADO объединить соединения, не является простым вариантом. Моя мысль заключалась в том, чтобы создать свой собственный пул соединений, который все еще является тем, что я планирую. –
Это означает, что мы добавим возможность включения или выключения пула соединений во время работы сервера. Если нам необходимо устранить проблему и выполнить отслеживание активности базы данных пользователя, мы отключим пул соединений, а новые соединения будут иметь имя пользователя в sysprocesses.program_name. Когда пользователи войдут в систему, их соединение будет настроено на основе того, включен ли пул соединений. Включение/выключение включения не приведет к изменению поведения существующих подключений. –