Erforderliche Berechtigungen für SQL Server Data Tools

 

Bevor Sie eine Aktion für eine Datenbank in Visual Studio ausführen können, müssen Sie sich mit einem Konto anmelden, das für diese Datenbank über bestimmte Berechtigungen verfügt. Welche Berechtigungen Sie benötigen, hängt von der Aktion ab, die Sie ausführen möchten. In den folgenden Abschnitten werden die einzelnen Aktionen beschrieben, die Sie ausführen können, sowie die dafür benötigten Berechtigungen.

Zum Erstellen oder Bereitstellen einer Datenbank müssen Sie über folgende Berechtigungen verfügen.

AktionenErforderliche Berechtigungen
Importieren von Datenbankobjekten und -einstellungenSie müssen sich mit der Quelldatenbank verbinden können.

Wenn die Quelldatenbank auf SQL Server 2005 basiert, müssen Sie außerdem für jedes Objekt über die Berechtigung VIEW DEFINITION verfügen.

Wenn die Quelldatenbank auf SQL Server 2008 oder später basiert, müssen Sie außerdem für jedes Objekt über die Berechtigung VIEW DEFINITION verfügen. Für Ihre Anmeldung muss die Berechtigung VIEW SERVER STATE vorliegen (für Datenbankverschlüsselungsschlüssel).
Importieren von Serverobjekten und -einstellungenSie müssen sich mit der Masterdatenbank auf dem angegebenen Server verbinden können.

Wenn auf dem Server SQL Server 2005 ausgeführt wird, müssen Sie für den Server über die Berechtigung VIEW ANY DEFINITION verfügen.

Wenn die Quelldatenbank auf SQL Server 2008 oder höher basiert, müssen Sie für den Server über die Berechtigung VIEW ANY DEFINITION verfügen. Für Ihre Anmeldung muss die Berechtigung VIEW SERVER STATE vorliegen (für Datenbankverschlüsselungsschlüssel).
Erstellen oder Aktualisieren eines DatenbankprojektsZum Erstellen oder Ändern eines Datenbankprojekts benötigen Sie keine Datenbankberechtigungen.
Bereitstellen einer neuen Datenbank oder Bereitstellen mit der Option Datenbank immer neu erstellenSie müssen entweder die Berechtigung CREATE DATABASE besitzen oder Mitglied der Rolle dbcreator auf dem Zielserver sein.

Wenn Sie eine Datenbank erstellen, stellt Visual Studio eine Verbindung zur Modelldatenbank her und kopiert deren Inhalt. Für die erste Anmeldung (z.B. MeineAnmeldung), mit der Sie sich mit der Zieldatenbank verbinden, müssen die Berechtigungen db_creator und CONNECT SQL vorliegen. Diese Anmeldung muss über eine Benutzerzuordnung in der Modelldatenbank verfügen. Wenn Sie sysadmin-Berechtigungen besitzen, können Sie die Zuordnung durch Ausgabe der folgenden Transact-SQL-Anweisungen erstellen:

USE [model] CREATE USER yourUser FROM LOGIN yourLogin

Der Benutzer (in diesem Beispiel yourUser) muss über die Berechtigungen CONNECT und VIEW DEFINITION für die Modelldatenbank verfügen. Wenn Sie die Berechtigungen sysadmin besitzen, können Sie diese Berechtigungen durch Ausgabe der folgenden Transact-SQL-Anweisungen erteilen:

USE [model] GRANT CONNECT to yourUser GRANT VIEW DEFINITION TO yourUser

Wenn Sie eine Datenbank bereitstellen, die unbenannte Einschränkungen enthält, und wenn die Option CheckNewContraints aktiviert ist (standardmäßig aktiviert), müssen Sie die Berechtigungen db_owner oder sysadmin besitzen, andernfalls schlägt die Bereitstellung fehl. Dies gilt nur für unbenannte Einschränkungen. Weitere Informationen zur Option CheckNewConstraints finden Sie unter Database Project Settings.
Bereitstellen von Aktualisierungen für eine vorhandene DatenbankSie müssen ein gültiger Datenbankbenutzer sein. Sie müssen außerdem Mitglied der Rolle db_ddladmin, Besitzer des Schemas oder der Objekte sein, die Sie für die Zieldatenbank erstellen oder ändern möchten. Sie benötigen zusätzliche Berechtigungen, um mit erweiterten Merkmalen zu arbeiten, wie z. B. Anmeldungen oder verknüpfte Server in Ihren Skripts vor oder nach der Bereitstellung.

HINWEIS: Wenn Sie eine Bereitstellung für die Masterdatenbank vornehmen, müssen Sie auch über die Berechtigung VIEW ANY DEFINITION für den betreffenden Server verfügen.
Verwenden einer Assembly mit der Option EXTERNAL_ACCESS in einem DatenbankprojektSie müssen die Eigenschaft TRUSTWORTHY für Ihr Datenbankprojekt festlegen. Für Ihre Anmeldung bei SQL Server muss die Berechtigung EXTERNAL ACCESS ASSEMBLY vorliegen.
Bereitstellen von Assemblys für eine neue oder vorhandene DatenbankSie müssen Mitglied der sysadmin-Rolle auf dem Zielserver der Bereitstellung sein.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

Eine Datenbankumgestaltung findet nur innerhalb des Datenbankprojekts statt. Sie müssen berechtigt sein, das Datenbankprojekt zu verwenden. Sie benötigen erst dann Berechtigungen für eine Zieldatenbank, wenn Sie Änderungen daran bereitstellen.

Zum Durchführen von Komponententests für eine Datenbank müssen Sie über folgende Berechtigungen verfügen.

AktionenErforderliche Berechtigungen
Ausführen einer TestaktionSie müssen die Datenbankverbindung für den Ausführungskontext verwenden. Weitere Informationen finden Sie unter Übersicht über Verbindungszeichenfolgen und Berechtigungen.
Ausführen einer Vortest- oder NachtestaktionSie müssen die Datenbankverbindung für den privilegierten Kontext verwenden. Diese Datenbankverbindung verfügt über mehr Berechtigungen als die Verbindung für den Ausführungskontext.
Ausführen der Skripts TestInitialize und TestCleanupSie müssen die Datenbankverbindung für den privilegierten Kontext verwenden.
Bereitstellen von Datenbankänderungen vor Ausführung von TestsSie müssen die Datenbankverbindung für den privilegierten Kontext verwenden. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren der Ausführung von SQL Server-Komponententests.
Generieren von Daten vor Ausführung von TestsSie müssen die Datenbankverbindung für den privilegierten Kontext verwenden. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren der Ausführung von SQL Server-Komponententests.

Sie müssen die Berechtigungen INSERT und SELECT für die Objekte in der Zieldatenbank besitzen, um Testdaten mithilfe des Datengenerators zu generieren. Wenn Sie vor der Datengenerierung eine Bereinigung durchführen, müssen Sie außerdem die DELETE-Berechtigungen für die Objekte in der Zieldatenbank besitzen. Um die Spalte IDENTITY in einer Tabelle zurückzusetzen, müssen Sie Besitzer der Tabelle oder Mitglied der Rolle „db_owner“ oder „db_ddladmin“ sein.

Zum Vergleichen von Schemas oder Daten müssen Sie über folgende Berechtigungen verfügen.

AktionenErforderliche Berechtigungen
Vergleichen der Schemas von zwei DatenbankenSie müssen die Berechtigungen zum Importieren von Objekten und Einstellungen aus den Datenbanken wie unter Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank beschrieben besitzen.
Vergleichen der Schemas einer Datenbank und eines DatenbankprojektsSie müssen die Berechtigungen zum Importieren von Objekten und Einstellungen aus der Datenbank wie unter Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank beschrieben besitzen. Außerdem muss das Datenbankprojekt in Visual Studio geöffnet sein.
Schreiben von Aktualisierungen in eine ZieldatenbankSie müssen die Berechtigungen zum Bereitstellen von Aktualisierungen für die Zieldatenbank wie unter Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank beschrieben besitzen.
Vergleichen der Daten von zwei DatenbankenNeben den Berechtigungen, die Sie zum Vergleichen der Schemas von zwei Datenbanken benötigen, müssen Sie auch die Berechtigung SELECT für alle Tabellen besitzen, die Sie vergleichen möchten, sowie die Berechtigung VIEW DATABASE STATE.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

Welche Aktionen Sie im Transact-SQL-Editor ausführen können, hängt von Ihrem Ausführungskontext für die Zieldatenbank ab.

Die folgende Tabelle enthält die Berechtigungen, die Sie besitzen müssen, um CLR-Projekte bereitzustellen oder zu debuggen:

AktionenErforderliche Berechtigungen
Bereitstellen (Erstbereitstellung oder inkrementelle Bereitstellung) einer Assembly mit SAFE-Berechtigungssatzdb_DDLAdmin – gewährt CREATE- und ALTER-Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen

VIEW DEFINITION auf Datenbankebene – erforderlich für Bereitstellung

CONNECT auf Datenbankebene – gewährt die Fähigkeit, eine Verbindung zur Datenbank herzustellen
Bereitstellen einer Assembly mit EXTERNAL ACCESS-Berechtigungssatzdb_DDLAdmin – gewährt CREATE- und ALTER-Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen

VIEW DEFINITION auf Datenbankebene – erforderlich für Bereitstellung

CONNECT auf Datenbankebene – gewährt die Fähigkeit, eine Verbindung zur Datenbank herzustellen

Weitere Voraussetzungen:

TRUSTWORTHY-Datenbankoption muss aktiviert sein.

Für die Anmeldung für die Bereitstellung muss die Serverberechtigung EXTERNAL ACCESS ASSEMBLY vorliegen.
Bereitstellen einer Assembly mit UNSAFE-Berechtigungssatzdb_DDLAdmin – gewährt CREATE- und ALTER-Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen

VIEW DEFINITION auf Datenbankebene – erforderlich für Bereitstellung

CONNECT auf Datenbankebene – gewährt die Fähigkeit, eine Verbindung zur Datenbank herzustellen

Weitere Voraussetzungen:

TRUSTWORTHY-Datenbankoption muss aktiviert sein.

Für die Anmeldung, die Sie für die Bereitstellung verwenden, muss die Serverberechtigung UNSAFE ASSEMBLY vorliegen.
Remote-Debuggen einer SQL CLR-AssemblySie müssen über die feste Rollenberechtigung "sysadmin" verfügen.
System_CAPS_ICON_important.jpg Wichtig


In allen Fällen muss der Assemblybesitzer der Benutzer sein, den Sie verwenden, um die Assembly bereitzustellen, oder der Besitzer muss eine Rolle innehaben, von der dieser Benutzer Mitglied ist. Diese Anforderung gilt auch für alle Assemblys, auf die von der von Ihnen bereitgestellten Assembly verwiesen wird.

Erstellen und Definieren von SQL Server-Komponententests
SQL Server Data Tools

Anzeigen: