ODBCDirect durch die Hintertür
Haben Sie ihr Backend in ein DBMS ausgelagert, also die Tabellen auf einen SQL-Server migriert, so steht Ihnen ab Access 2007 nur noch die Schnittstelle ADODB zur Verfügung, um unter VBA auf sie zuzugreifen, falls Sie sich nicht nur auf verknüpfte Tabellen beschränken möchten. Denn die Technologie ODBCDirect, mit der man direkt eine Verbindung zum Server aufbauen konnte, wurde ersatzlos gestrichen. Mit einem Trick schlagen Sie Microsoft jedoch ein Schnippchen!
Das SQL Server Management Studio
Wenn Sie mit dem Microsoft SQL Server arbeiten und SQL Server-Instanzen, die enthaltenen Datenbanken mit Tabellen und weiteren Objekten, Sicherheitselemente wie Anmeldungen, Benutzer oder Benutzergruppen und mehr verwalten wollen, kommen Sie um das SQL Server Management Studio nicht herum. Sie können zwar theoretisch alle Aktionen, die Sie mit diesem Tool durchführen, auch mit T-SQL direkt aufrufen. Aber dafür müssen Sie schon profunde Kenntnisse dieser Sprache in Zusammenhang mit der Verwaltung einer SQL Server-Instanz haben. Dieser Beitrag liefert die Grundlagen für den Umgang mit dem Administrationstool für den SQL Server.
SQL Server-Datenbanken kopieren
Für die Beispiele der Beiträge in diesem Heft und in weiteren Ausgaben wollen wir mit Beispieldatenbanken arbeiten, die wir nicht immer komplett neu erstellen, sondern aus einer von mehreren Quellen auf dem Rechner, auf dem Sie die Beispiele ausprobieren, wiederherstellen wollen. Dazu gibt es drei gängige Methoden, die wir in diesem Artikel vorstellen wollen: den Assistenten zum Kopieren von Datenbanken, das Wiederherstellen einer Datenbanksicherung sowie das Wiederherstellen mithilfe eines Skripts. Wir wollen einen Blick auf die letzteren beiden Varianten werfen.
SQL Server: Sicherheit und Benutzerverwaltung
Der Wechsel von einem Access-Backend zum SQL Server als Backend-System hat – neben der Performance und dem Speicherplatz – oft einen entscheidenden Grund: Access schützt die Daten nicht ausreichend vor fremden Zugriffen. Hier hat der SQL Server deutlich die Nase vorn, denn er bietet verschiedene Möglichkeiten der Sicherung der Daten vor dem unbefugten Zugriff. Dieser Artikel zeigt, wie das Sicherheitssystem und die Benutzerverwaltung im SQL Server funktionieren.
SQL Server-Authentifizierung
Im Beitrag »SQL Server: Sicherheit und Benutzerverwaltung« haben wir gezeigt, wie Sie grundsätzlich mit Benutzern, Benutzergruppen und den Berechtigungen an den einzelnen Elementen einer SQL Server-Datenbank umd dem SQL Server selbst umgehen. Dort sind wir allerdings nur auf den Zugriff per Windows-Authentifizierung eingegangen. Viele Szenarios erfordern es allerdings, dass Sie die SQL Server-Authentifizierung verwenden, was bedeutet, dass Sie unter dem SQL Server eigene Konten für Benutzergruppen und Benutzer anlegen – unabhängig von den Windows-Benutzergruppen und -Benutzern. Dieser Beitrag liefert die Grundlagen rund um die Verwendung der SQL Server-Authentifizierung.
SQL Server-Zugriff ohne gespeichertes Kennwort
Wenn Sie per ODBC auf die Tabellen etwa eines SQL Servers zugreifen, kennen Sie das Dilemma: Entweder Sie nutzen die Windows-Authentifizierung, was nicht überall möglich ist, aber ohne größere Probleme funktioniert. Oder Sie verwenden die SQL Server-Authentifizierung. Dann haben Sie zwei Möglichkeiten: Entweder Sie erlauben das Speichern des Kennworts in den Systemtabellen von Access. Oder der Benutzer muss nach dem eigentlichen Anmelden nochmal seine Benutzerdaten eingeben, wenn der erste Zugriff auf eine Tabelle erfolgt. In dieser Lösung schauen wir uns diese Varianten an – und eine bessere, bei der Sie einfach die Tabellen beim Start neu verknüpfen.
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.
SQL Server: Zugriffe untersuchen mit XEvents
Wenn es darum ging, die Zugriffe auf eine SQL Server-Datenbank zu tracken – sei es zur Performance-Messung oder zur Optimierung einer Datenbank – war bis vor kurzem der SQL Server Profiler die Anwendung der Wahl. Mittlerweile gibt es allerdings einen in das SQL Server Management Studio integrierten Objekttyp namens »Erweiterte Ereignisse«. In diesem Beitrag wollen wir Ihnen diesen Objekttyp vorstellen. Das einfache Beispiel zu diesem Zweck stammt aus einem anderen Beitrag namens »SQL Server-Zugriff ohne gespeichertes Kennwort«. Hier wollen wir herausfinden, unter welchem Benutzer ein Zugriff auf eine SQL Server-Datenbank von Access aus erfolgt, bei dem offensichtlich gar kein Benutzer angemeldet ist.