Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Use APP_NAME() para obter o nome do aplicativo da sessão atual no SQL Server


No SQL Server, você pode usar o APP_NAME() para obter o nome do aplicativo para a sessão atual. Isso pressupõe que o aplicativo define esse valor de nome.

Você pode usar esta função para distinguir entre diferentes aplicativos, como forma de realizar ações diferentes para esses aplicativos.

Observe que o cliente fornece o nome do aplicativo e, portanto, o resultado retornado por essa função simplesmente reflete o nome fornecido pelo cliente. Por esse motivo, a Microsoft aconselha que essa função não seja usada para verificações de segurança.


Sintaxe


A função não requer nenhum argumento, então sua sintaxe é assim:
APP_NAME  ( )

Exemplo 1 – Resultado no Azure Data Studio


Aqui está o resultado que recebo ao usar o Azure Data Studio.
SELECT APP_NAME( ) AS Result;

Resultado:
+--------------+
| Result       |
|--------------|
| azdata-Query |
+--------------+

Exemplo 2 – Resultado em mssql-cli


Aqui está o resultado que recebo ao usar a interface de linha de comando mssql-cli.
SELECT APP_NAME( ) AS Result;

Resultado:
+-----------------------------------+
| Result                            |
|-----------------------------------|
| Core .Net SqlClient Data Provider |
+-----------------------------------+

Exemplo 3 – Usando APP_NAME() em uma instrução condicional


Aqui está um exemplo de uso de APP_NAME() em uma instrução condicional para fornecer um formato de data diferente dependendo do aplicativo que está sendo usado.
IF APP_NAME() = 'azdata-Query'  
  PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 111);
ELSE IF APP_NAME() = 'Core .Net SqlClient Data Provider' 
  PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 103);

Resultado no Azure Data Studio:
Application: azdata-Query
Date: 2019/12/06

Resultado em mssql-cli:
Application: Core .Net SqlClient Data Provider
Date: 06/12/2019