Übersicht über Verbindungszeichenfolgen und Berechtigungen

 

Zum Ausführen von SQL Server-Komponententests muss eine Verbindung mit einem Datenbankserver hergestellt werden, indem eine oder zwei spezifische Verbindungszeichenfolgen verwendet werden.Jede Verbindungszeichenfolge stellt ein Konto dar. Das Konto muss über spezifische Berechtigungen zum Ausführen einer oder mehrerer Aufgaben in einem bestimmten Skript im Rahmen des Tests verfügen.Sie können diese Zeichenfolgen im Dialogfeld SQL Server-Testkonfiguration angeben oder die Datei app.config für das Testprojekt manuell bearbeiten.

Verbindungszeichenfolgen

Im Dialogfeld SQL Server-Testkonfiguration können Sie Verbindungszeichenfolgen für jedes der folgenden Konten angeben.

Hinweis

Der Ausführungskontext und der privilegierte Kontext unterscheiden sich nur bei Verwendung der SQL Server-Authentifizierung.Bei Verwendung der Windows-Authentifizierung werden für beide Verbindungszeichenfolgen dieselben Anmeldeinformationen verwendet.

  • Ausführungskontext (erforderlich): Ein Benutzerkonto zum Ausführen des Testskripts.Diese Verbindungszeichenfolge sollte über dieselben Anmeldeinformationen verfügen, die auch für Ihre Benutzer vorgesehen sind.Auf diese Weise wird sichergestellt, dass die geeigneten Berechtigungen auf die Datenbank angewendet wurden.Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren der Ausführung von SQL Server-Komponententests.

    In der Datei „app.config“ des Testprojekts entspricht dies dem ExecutionContext-Element.

  • Privilegierter Kontext (optional): Ein Konto für dieselbe Datenbank, das über höhere Berechtigungen zum Ausführen der Vortest- und Nachtestaktion sowie des TestInitialize- und TestCleanup-Skripts verfügt.Durch diese Skripts wird der Datenbankzustand festgelegt. Außerdem können sie in der Nachtestaktion zum Überprüfen von Objekten in der Datenbank verwendet werden.Darüber hinaus wird diese Verbindungszeichenfolge zum Bereitstellen von Datenbankänderungen und Generieren von Daten verwendet.

    In der Datei „app.config“ des Testprojekts entspricht dies dem PrivilegedContext -Element.Wenn in den SQL Server-Komponententests nur das Testskript ausgeführt wird, muss kein privilegierter Kontext angegeben werden.

Die im Dialogfeld „Projektkonfiguration“ angegebenen Zeichenfolgen werden in der Datei „app.config“ des Testprojekts gespeichert.Sie können diese Datei auch direkt bearbeiten und das Projekt neu erstellen. In diesem Fall werden die neuen Werte im Dialogfeld angezeigt.

Windows-Authentifizierung im Vergleich zur SQL Server-Authentifizierung

Bei der Angabe von Verbindungszeichenfolgen müssen Sie festlegen, ob die Windows- oder SQL-Authentifizierung verwendet werden soll.Ein Grund für die Wahl der Windows-Authentifizierung liegt darin, dass sie die Verwendung von Tests im Team besser unterstützt als die SQL Server-Authentifizierung.Bei Verwendung der SQL Server-Authentifizierung werden die Verbindungszeichenfolgen basierend auf den Benutzeranmeldeinformationen mithilfe der Datenschutz-API (DPAPI) verschlüsselt.Dies bedeutet, dass Tests in diesem Testprojekt nur für Sie, nicht aber für Teammitglieder ausgeführt werden, die Tests nach dem Einchecken über das Quellcodeverwaltungssystem erhalten.Zum Ausführen von Test in diesem Testprojekt müssen andere Mitglieder Ihres Teams das Testprojekt umkonfigurieren und dafür ihre eigenen Anmeldeinformationen verwenden.Dazu könnten sie ihr Exemplar der Datei „app.config“ bearbeiten oder das Dialogfeld „Projektkonfiguration“ verwenden.

Berechtigungen

Das Testskript wird mit der Berechtigungsstufe "Ausführungskontext" ausgeführt, die der Berechtigungsstufe für Benutzerbefehle bei einer normalen Datenbanknutzung entspricht.Die Vortest- und Nachtestaktion sowie das TestInitialize- und TestCleanup-Skript werden mit der Berechtigungsstufe "Privilegierter Kontext" ausgeführt.

Da für die Verbindung, die für das Skript der Nachtestaktion verwendet wird, höhere Berechtigungen gelten, können Sie in diesem Rahmen eine Überprüfung ausführen.Außerdem können Sie in diesem Skript Skriptbefehle zum Testen von Berechtigungen ausführen.Weitere Informationen zu Berechtigungen finden Sie im Abschnitt zu SQL Server-Komponententests von Erforderliche Berechtigungen für SQL Server Data Tools.

Siehe auch

Erstellen und Definieren von SQL Server-Komponententests
Skripts in SQL Server-Komponententests
SQL Server-Komponententestdateien