Freigeben über


Erforderliche Berechtigungen für SQL Server-Datentools

Bevor Sie eine Aktion für eine Datenbank in Visual Studio ausführen können, müssen Sie sich mit einem Konto anmelden, das über bestimmte Berechtigungen für diese Datenbank 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 möglicherweise ausführen möchten, sowie die Berechtigungen, die Sie benötigen, um sie auszuführen.

Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank

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

Maßnahme 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 auch die VIEW DEFINITION-Berechtigung für jedes Objekt besitzen oder darüber verfügen.

Wenn die Quelldatenbank auf SQL Server 2008 oder höher basiert, müssen Sie auch die VIEW DEFINITION Berechtigung für jedes Objekt besitzen oder haben. Ihre Anmeldung muss über die VIEW SERVER STATE Berechtigung (für Datenbankverschlüsselungsschlüssel) verfügen.
Importieren von Serverobjekten und -einstellungen Sie müssen in der Lage sein, eine Verbindung mit der primären Datenbank auf dem angegebenen Server herzustellen.

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

Wenn die Quelldatenbank auf SQL Server 2008 oder höher basiert, müssen Sie über die VIEW ANY DEFINITION Berechtigung auf dem Server verfügen. Ihre Anmeldung muss über die VIEW SERVER STATE Berechtigung (für Datenbankverschlüsselungsschlüssel) verfügen.
Erstellen oder Aktualisieren eines Datenbankprojekts Sie benötigen keine Datenbankberechtigungen, um ein Datenbankprojekt zu erstellen oder zu ändern.
Bereitstellen einer neuen Datenbank oder Bereitstellen mit der Option „Datenbank immer neu erstellen“ Sie müssen entweder über die CREATE DATABASE Berechtigung verfügen oder Mitglied der Dbcreator-Rolle auf dem Zielserver sein.

Wenn Sie eine Datenbank erstellen, stellt Visual Studio eine Verbindung mit der model Datenbank und kopiert dessen Inhalt. Die anfängliche Anmeldung (z. B. IhrLogin), die Sie zum Herstellen einer Verbindung mit der Zieldatenbank verwenden, muss über db_creator und CONNECT SQL Berechtigungen verfügen. Diese Anmeldung muss über eine Benutzerzuordnung in der model Datenbank verfügen. Wenn Sie über sysadmin-Berechtigungen verfügen, können Sie die Zuordnung erstellen, indem Sie die folgende Transact-SQL-Anweisung ausgeben:

USE [model] CREATE USER yourUser FROM LOGIN yourLogin.

Der Benutzer (in diesem Beispiel IhrBenutzer) muss CONNECT und VIEW DEFINITION Berechtigungen für die model Datenbank haben. Wenn Sie über sysadmin-Berechtigungen verfügen, können Sie diese Berechtigungen erteilen, indem Sie die folgende Transact-SQL Anweisung ausgeben:

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

Wenn Sie eine Datenbank bereitstellen, die unbenannte Einschränkungen enthält und die Option CheckNewConstraints aktiviert ist, müssen Sie über db_owner- oder sysadmin-Berechtigungen verfügen, oder die Bereitstellung schlägt fehl. (CheckNewConstraints ist standardmäßig aktiviert.) Diese Anforderung gilt nur für unbenannte Einschränkungen.
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.

Wenn Sie auf die primäre Datenbank deployen, müssen Sie auch über die VIEW ANY DEFINITION Berechtigung auf dem Server verfügen, auf den Sie deployen.
Verwenden einer Assembly mit der EXTERNAL_ACCESS Option in einem Datenbankprojekt Sie müssen die TRUSTWORTHY Eigenschaft für Ihr Datenbankprojekt festlegen. Sie müssen über die EXTERNAL ACCESS ASSEMBLY Berechtigung für ihre SQL Server-Anmeldung verfügen.
Bereitstellen von Assemblys für eine neue oder vorhandene Datenbank Sie müssen Mitglied der Sysadmin-Rolle auf dem Zielbereitstellungsserver sein.

Berechtigungen zum Umgestalten einer Datenbank

Die Datenbankumgestaltung erfolgt nur innerhalb des Datenbankprojekts. Sie müssen berechtigt sein, das Datenbankprojekt zu verwenden. Sie benötigen keine Berechtigungen für eine Zieldatenbank, bis Sie Ihre Änderungen dafür bereitstellen.

Berechtigungen zum Ausführen von Komponententests in einer SQL Server-Datenbank

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

Maßnahme 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.
Führen Sie TestInitialize und TestCleanup Skripte aus 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 How to: Configure SQL Server unit test execution.
Generieren von Daten vor Ausführung von Tests Sie müssen die Datenbankverbindung für den privilegierten Kontext verwenden. Weitere Informationen finden Sie unter How to: Configure SQL Server unit test execution.

Berechtigungen zum Generieren von Daten

Um Testdaten mithilfe des Datengenerators zu generieren, müssen Sie über INSERT für SELECT verfügen. Wenn Sie Daten löschen, bevor Sie Daten generieren, müssen Sie auch über Berechtigungen für die Objekte in der Zieldatenbank verfügen DELETE . Um die IDENTITY Spalte in einer Tabelle zurückzusetzen, müssen Sie die Tabelle besitzen, oder Sie müssen 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.

Maßnahme Erforderliche Berechtigungen
Vergleichen der Schemas von zwei Datenbanken Sie müssen über Berechtigungen zum Importieren von Objekten und Einstellungen aus den Datenbanken verfügen, wie unter "Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank" beschrieben.
Vergleichen der Schemas einer Datenbank und eines Datenbankprojekts Sie müssen über Berechtigungen zum Importieren von Objekten und Einstellungen aus der Datenbank verfügen, wie unter "Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank" beschrieben. Außerdem muss das Datenbankprojekt in Visual Studio geöffnet sein.
Schreiben von Aktualisierungen in eine Zieldatenbank Sie müssen über Berechtigungen zum Bereitstellen von Updates für die Zieldatenbank verfügen, wie unter "Berechtigungen zum Erstellen oder Bereitstellen einer Datenbank" beschrieben.
Vergleichen der Daten von zwei Datenbanken Zusätzlich zu den Berechtigungen, die Sie zum Vergleichen der Schemas zweier Datenbanken benötigen, benötigen Sie die SELECT Berechtigung für alle Tabellen, die Sie vergleichen möchten. Sie benötigen auch die VIEW DATABASE STATE Berechtigung.

Berechtigungen zum Ausführen des Transact-SQL-Editors

Ihr Ausführungskontext in der Zieldatenbank bestimmt, was Sie im Transact-SQL-Editor tun können.

Berechtigungen für SQL Server CLR-Projekte

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die Sie zum Bereitstellen oder Debuggen von ClR-Projekten (Common Language Runtime) benötigen.

Maßnahme Erforderliche Berechtigungen
Bereitstellen (anfänglich oder inkrementell) einer sicheren Berechtigungs-Assembly Die db_DDLAdmin Berechtigung gewährt CREATE und ALTER Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen.

Die Berechtigung auf Datenbankebene VIEW DEFINITION ist für die Bereitstellung erforderlich.

Die Berechtigung auf Datenbankebene CONNECT gewährt die Möglichkeit, eine Verbindung mit der Datenbank herzustellen.
Bereitstellen einer Berechtigungssatz-Assembly für externen Zugriff Die db_DDLAdmin Berechtigung gewährt CREATE und ALTER Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen.

Die Berechtigung auf Datenbankebene VIEW DEFINITION ist für die Bereitstellung erforderlich.

Die Berechtigung auf Datenbankebene CONNECT gewährt die Möglichkeit, eine Verbindung mit der Datenbank herzustellen.

Sie müssen auch die TRUSTWORTHY-Datenbankoption auf ON setzen.

Die Anmeldung, die Sie für die Bereitstellung verwenden, muss über die Berechtigung " Assembly für externen Zugriff " verfügen.
Bereitstellen einer Assembly mit UNSAFE-Berechtigungssatz Die db_DDLAdmin Berechtigung gewährt CREATE und ALTER Berechtigungen für die Assemblys und Objekttypen, die Sie bereitstellen.

Die Berechtigung auf Datenbankebene VIEW DEFINITION ist für die Bereitstellung erforderlich.

Die Berechtigung auf Datenbankebene CONNECT gewährt die Möglichkeit, eine Verbindung mit der Datenbank herzustellen.

Sie müssen auch die TRUSTWORTHY-Datenbankoption auf ON setzen.

Die Anmeldung, die Sie für die Bereitstellung verwenden, muss über die Berechtigung "Unsichere Assemblyserver " verfügen.
Remotedebugging einer SQL CLR-Assembly Sie müssen über die Berechtigung der festen Rolle sysadmin verfügen.

Wichtig

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