Name der aktuellen Prozedur ermitteln – @@PROCID

Die Systemvariable @@PROCID enthält die Objekt-ID einer aktuellen Gespeicherten Prozedur, einer Funktion oder eines Triggers.

Ein kleines Beispiel soll dies verdeutlichen.
Dazu ist zunächst im SQL Server Management Studio folgende Gespeicherte Prozedur anzulegen.

CREATE PROC pWerWars
AS
SET NOCOUNT ON;

DECLARE @Meldung nvarchar(1000);

SET @Meldung = N’Dieses Ergebnis wurde Ihnen präsentiert von der Prozedur ‚ +  Object_Name(@@PROCID)

SELECT @Meldung as  Hinweis;

Die Funktion Object_Name ermittelt anhand des Werts der Systemvariable @@PROCID den Namen der Prozedur.

Führt man die Gespeicherte Prozedur mittels EXEC pWerWars aus, erhält man folgendes Ergebnis:

SQL Server 2012 setup media does not support the language of the OS

In einigen Fällen wird die Installation vom SQL Server 2012 mit dieser Fehlermeldung abgebrochen:

„SQL Server setup media does not support the language of the OS or does not have ENU localized files.Use the matching language-specific SQL-Server media or change the OS locale through Control Panel“

Ãœberraschend ist die Meldung, wenn sowohl das Betriebssystem wie auch SQL Server in Deutsch sind.

Zu dem Fehler gibt es einen entsprechenden Eintrag bei Microsoft Connect:
https://connect.microsoft.com/SQLServer/feedback/details/556958/sql-server-setup-media-does-not-support-the-language-of-the-os

Eine mögliche Lösung liegt in der Registry.
Dort muss unter

HKEY_CURRENT_USER\Control Panel\International\Locale

der Wert „00000409“ (USA)

in „00000407“ (Deutschland)

geändert werden.
Anschließend ist der Rechner noch neu zu starten und die Installation kann beginnen.