Как SQL Server определяет имя программы в sys.dm_exec_sessions?

#sql #sql-server

#sql #sql-сервер

Вопрос:

Кто-нибудь может объяснить, как приведенный ниже запрос определяет program_name, например: Microsoft SQL Server Management Studio, Microsoft SQL Server Management Studio — Запрос и т. Д..

 select login_name,program_name,host_name,nt_domain,nt_user_name from sys.dm_exec_sessions 
 

Комментарии:

1. Приложение передает это значение при подключении к серверу.

2. если я создаю свое собственное приложение и хочу подключить его к SQL с собственным именем приложения, которое будет поддерживаться в сеансе SQL. На самом деле мне просто интересно, подключаю ли я ms Excel или любое другое приложение с помощью sql, оно определяет имя приложения, и это не выполняется автоматически. должен быть параметр для передачи.

3. Я просто знаю, как это сделать, используя Java / JDBC. Но другие языки программирования должны обладать аналогичными функциями.

4. ОК. не могли бы вы поделиться кодом. Я хочу реализовать это на C #, но может помочь Java-код.

5. Я просто передаю свойства подключения, как описано здесь: msdn.microsoft.com/en-us/library/ms378988(v=sql.110).aspx

Ответ №1:

SQL Server определяет имя программы по свойству строки подключения.

Вы можете изменить название вашей программы SSMS, выполнив следующий шаг.

Шаг 1

введите описание изображения здесь

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

 Select login_name,
       program_name,
       host_name,
       nt_domain,
       nt_user_name 
From sys.dm_exec_sessions
 

Вы также можете использовать параметр строки подключения из своего приложения.