Authentifizierung im SQL Server testen

Wenn Sie sich in die Programmierung des Sicherheitssystems des SQL Servers einarbeiten, wollen Sie die Berechtigungen der verschiedenen Windows-Benutzer, Windows-Gruppen oder SQL Server-Benutzer ausprobieren. Bei SQL Server-Benutzern, die sich über die SQL Server-Authentifizierung anmelden, ist das einfach. Bei Windows-Benutzern und -Benutzergruppen denkt der eine oder andere sicher schon darüber nach, dass er dann immer den Windows-Benutzer abmelden und sich unter dem Namen des zu prüfenden Benutzers einloggen muss. Das ist aber nicht der Fall – es gibt einfachere Methoden sowohl für den Zugriff von Access als auch direkt über das SQL Server Management Studio.

Testen mit SQL Server-Authentifizierung

Wir unterscheiden in diesem Beitrag wieder zwischen der SQL Server-Authentifizierung und der Windows-Authentifizierung. Bei der SQL Server-Authentifizierung ist es einfach. Wenn Sie einen Zugriff von Access aus ausführen wollen, um beispielsweise eine ODBC-Verknüpfung zu einer der SQL Server-Tabellen herzustellen, brauchen Sie ja nichts weiter zu tun als einfach die beim Herstellen der Verknüpfung verwendeten Zugangsdaten in der Verbindungszeichenfolge auf den jeweiligen Benutzer anzupassen.

In der Beispieldatenbank aus dem Beitrag SQL Server-Zugriff ohne gespeichertes Kennwort (www.access-im-unternehmen.de/1156) verwenden wir beispielsweise die Prozedur aus Listing 1, um die im Formular frmLogin abgefragten Werte für Benutzername und Kennwort einzugeben. Hier können wir also beliebig im Kontext verschiedener Benutzer auf die Zieldatenbank zugreifen.

Private Sub cmdGo_Click()
     Dim strServer As String
     Dim strDatenbank As String
     Dim strVerbindungszeichenfolge As String
     DoCmd.OpenForm "frmLogin", windowMode:=acDialog
     If IstFormularGeoeffnet("frmLogin") Then
         strBenutzername = Nz(Forms!frmLogin!txtBenutzername, "")
         strKennwort = Nz(Forms!frmLogin!txtKennwort, "")
         DoCmd.Close acForm, "frmLogin"
         strServer = DLookup("Wert", "tblOptionen", "Bezeichnung = ''''Server''''")
         strDatenbank = DLookup("Wert", "tblOptionen", "Bezeichnung = ''''Datenbank''''")
         strVerbindungszeichenfolge = "ODBC;DRIVER={SQL Server};SERVER=" & strServer & ";DATABASE=" & strDatenbank _
             & ";UID=" & strBenutzername & ";PWD=" & strKennwort & ";OPTION=3;LOG_QUERY=1;"
         If VerbindungHerstellen(strVerbindungszeichenfolge) = True Then
             TabellenVerknuepfen strVerbindungszeichenfolge
             DoCmd.Close acForm, Me.Name
         Else
             ''''Aktionen beim Scheitern der Verknüpfung
         End If
     End If
End Sub

Listing 1: Prozedur zum Verknüpfen einer Tabelle

ähnlich sieht es aus, wenn Sie die SQL Server-Authentifizierung im SQL Server Management Studio testen wollen. Sie können dann einfach jeweils eine neue Verbindung erstellen und sich als der entsprechende Benutzer einloggen. Dazu nutzen Sie den Befehl Verbinden|Datenbankmodul im Objekt-Explorer (siehe Bild 1).

Neue Verbindung mit einem alternativen SQL Server-Benutzer

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar