Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzare APP_NAME() per ottenere il nome dell'applicazione della sessione corrente in SQL Server

In SQL Server puoi utilizzare APP_NAME() funzione per ottenere il nome dell'applicazione per la sessione corrente. Ciò presuppone che l'applicazione imposti quel valore del nome.

Puoi utilizzare questa funzione per distinguere tra diverse applicazioni, in modo da eseguire azioni diverse per tali applicazioni.

Si noti che il client fornisce il nome dell'applicazione e quindi il risultato restituito da questa funzione riflette semplicemente il nome fornito dal client. Per questo motivo, Microsoft consiglia di non utilizzare questa funzione per i controlli di sicurezza.

Sintassi

La funzione non richiede alcun argomento, quindi la sua sintassi è la seguente:

APP_NAME  ( )

Esempio 1:risultato in Azure Data Studio

Ecco il risultato che ottengo quando utilizzo Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Risultato:

+--------------+
| Result       |
|--------------|
| azdata-Query |
+--------------+

Esempio 2 – Risultato in mssql-cli

Ecco il risultato che ottengo quando utilizzo l'interfaccia della riga di comando mssql-cli.

SELECT APP_NAME( ) AS Result;

Risultato:

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

Esempio 3:utilizzo di APP_NAME() in un'istruzione condizionale

Ecco un esempio di utilizzo di APP_NAME() in una dichiarazione condizionale per fornire un formato di data diverso a seconda dell'applicazione utilizzata.

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);

Risultato in Azure Data Studio:

Application: azdata-Query
Date: 2019/12/06

Risultato in mssql-cli:

Application: Core .Net SqlClient Data Provider
Date: 06/12/2019