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.

  • Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank

  • Berechtigungen zum Umgestalten einer Datenbank

  • Permissions to Perform Unit Tests on a SQL Server Database (Berechtigungen zum Ausführen von Komponententests in einer SQL Server-Datenbank)

  • Berechtigungen zum Generieren von Daten

  • Berechtigungen zum Vergleichen von Schemas und Daten

  • Berechtigungen zum Ausführen des Transact-SQL-Editors

  • Berechtigungen für SQL CLR-Projekte (SQL Server Common Language Runtime)

Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank

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

Aktionen Erforderliche Berechtigungen
Importieren von Datenbankobjekten und -einstellungen Sie 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 -einstellungen Sie 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 Datenbankprojekts Zum Erstellen oder Ändern eines Datenbankprojekts benötigen Sie keine Datenbankberechtigungen.
Bereitstellen einer neuen Datenbank oder Bereitstellen mit der Option Datenbank immer neu erstellen Sie 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 Datenbank Sie 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 Datenbankprojekt Sie 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 Datenbank Sie müssen Mitglied der sysadmin-Rolle auf dem Zielserver der Bereitstellung sein.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

Berechtigungen zum Umgestalten einer Datenbank

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.

Berechtigungen zum Durchführen von Komponententests für eine SQL Server-Datenbank

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

Aktionen Erforderliche Berechtigungen
Ausführen einer Testaktion Sie 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 Nachtestaktion Sie 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 TestCleanup Sie müssen die Datenbankverbindung für den privilegierten Kontext verwenden.
Bereitstellen von Datenbankänderungen vor Ausführung von Tests Sie 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 Tests Sie müssen die Datenbankverbindung für den privilegierten Kontext verwenden. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren der Ausführung von SQL Server-Komponententests.

Berechtigungen zum Generieren von Daten

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.

Berechtigungen zum Vergleichen von Schemas und Daten

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

Aktionen Erforderliche Berechtigungen
Vergleichen der Schemas von zwei Datenbanken Sie 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 Datenbankprojekts Sie 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 Zieldatenbank Sie 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 Datenbanken Neben 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.

Berechtigungen zum Ausführen des Transact-SQL-Editors

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

Berechtigungen für SQL CRL-Projekte (SQL Server Common Language Run-time)

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

Aktionen Erforderliche Berechtigungen
Bereitstellen (Erstbereitstellung oder inkrementelle Bereitstellung) einer Assembly mit SAFE-Berechtigungssatz db_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-Berechtigungssatz db_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-Berechtigungssatz db_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-Assembly Sie müssen über die feste Rollenberechtigung "sysadmin" verfügen.

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.

Siehe auch

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