Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden Sie APP_NAME(), um den Anwendungsnamen der aktuellen Sitzung in SQL Server abzurufen

In SQL Server können Sie APP_NAME() verwenden -Funktion, um den Anwendungsnamen für die aktuelle Sitzung abzurufen. Dies setzt voraus, dass die Anwendung diesen Namenswert festlegt.

Sie können diese Funktion verwenden, um zwischen verschiedenen Anwendungen zu unterscheiden, um unterschiedliche Aktionen für diese Anwendungen auszuführen.

Beachten Sie, dass der Client den Anwendungsnamen bereitstellt, sodass das von dieser Funktion zurückgegebene Ergebnis einfach den Namen widerspiegelt, den der Client bereitstellt. Aus diesem Grund rät Microsoft davon ab, diese Funktion für Sicherheitsüberprüfungen zu verwenden.

Syntax

Die Funktion benötigt keine Argumente, daher lautet ihre Syntax wie folgt:

APP_NAME  ( )

Beispiel 1 – Ergebnis in Azure Data Studio

Hier ist das Ergebnis, das ich erhalte, wenn ich Azure Data Studio verwende.

SELECT APP_NAME( ) AS Result;

Ergebnis:

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

Beispiel 2 – Ergebnis in mssql-cli

Hier ist das Ergebnis, das ich erhalte, wenn ich die mssql-cli-Befehlszeilenschnittstelle verwende.

SELECT APP_NAME( ) AS Result;

Ergebnis:

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

Beispiel 3 – Verwendung von APP_NAME() in einer bedingten Anweisung

Hier ist ein Beispiel für die Verwendung von APP_NAME() in einer bedingten Anweisung, um je nach verwendeter Anwendung ein anderes Datumsformat bereitzustellen.

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

Ergebnis in Azure Data Studio:

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

Ergebnis in mssql-cli:

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