Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn mehrere Datenbanken auf die gleichen Serverobjekte verweisen, können Sie ein Projekt für jede Datenbank und ein Serverprojekt erstellen, in das Sie Objekte, wie freigegebene Anmeldungen, Schlüssel oder benutzerdefinierte Fehlermeldungen, importieren. In dieser exemplarischen Vorgehensweise richten Sie eine isolierte Entwicklungsumgebung für eine Datenbank ein, die auf freigegebene Anmeldungen verweist, die Sie in ein Serverprojekt importieren. Diese Umgebung basiert auf dem Datenbankprojekt, das die Definitionen für alle Objekte in der Produktionsdatenbank enthält.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Einrichten des freigegebenen Serverprojekts
Erstellen des zusammengesetzten Datenbankprojekts
Bereitstellen des Projekts für das Team (optional)
Vorbereitungsmaßnahmen
Visual Studio Premium muss installiert sein, und Sie müssen Zugriff auf eine Kopie von SQL Server haben, aus der Sie Serverobjekte importieren können. Diese Kopie von SQL Server muss auf einem Server ausgeführt werden, auf dem Sie das Datenbankprojekt bereitstellen können.
Einrichten des freigegebenen Serverprojekts
Wenn Sie auf freigegebene Anmeldungen in einer Entwicklungsumgebung verweisen, sind diese Anmeldungen normalerweise in einem Serverprojekt definiert, das bereits vorhanden ist und vom Serveradministrator gewartet wird.
So erstellen Sie das Serverprojekt
Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt.
Das Dialogfeld Neues Projekt wird angezeigt.
Erweitern Sie unter Installierte Vorlagen den Knoten Datenbank, und klicken Sie dann auf SQL Server.
Tipp
Navigieren Sie bei Verwendung von Visual Studio Professional zu Installierte Vorlagen, erweitern Sie den Knoten Datenbank, erweitern Sie den Knoten SQL Server, und klicken Sie anschließend auf Erweitert.
Klicken Sie in der Liste der Vorlagen auf SQL Server 2008 Server-Projekt.
Geben Sie im Feld Name die Zeichenfolge "SharedServerProject" ein.
Die Werte unter Speicherort und Projektmappenname müssen nicht geändert werden.
Aktivieren Sie ggf. das Kontrollkästchen Projektmappenverzeichnis erstellen.
Deaktivieren Sie ggf. das Kontrollkästchen Zur Quellcodeverwaltung hinzufügen, und klicken Sie auf OK.
Der Projektmappe wird ein leeres Serverprojekt hinzugefügt, das im Projektmappen-Explorer angezeigt wird.
Als Nächstes importieren Sie die Serverobjekte und -einstellungen.
So importieren Sie die Serverobjekte und -einstellungen
Klicken Sie im Projektmappen-Explorer auf das SharedServerProject-Projekt.
Klicken Sie im Menü Projekt auf Objekte und Einstellungen importieren.
Tipp
Als Alternative zu Schritt 1 und Schritt 2 können Sie mit der rechten Maustaste auf "SharedServerProject" klicken. Klicken Sie dann auf Objekte und Einstellungen importieren.
Geben Sie im Assistenten zum Importieren von Datenbanken eine Verbindung zum Server an, von dem Sie Objekte und Einstellungen importieren möchten, und klicken Sie dann auf Start.
Wichtig
Für diese exemplarische Vorgehensweise müssen Sie den gleichen Server angeben, auf dem Sie auch das Datenbankprojekt bereitstellen werden.
Die Objekte und die Einstellungen für den Server werden in das Projekt importiert.
Klicken Sie auf Fertig stellen, wenn die Objekte und die Einstellungen importiert wurden.
Klicken Sie im Menü Ansicht auf Schemaansicht der Datenbank.
Erweitern Sie nacheinander die Knoten SharedServerProject, Objekte auf Serverebene, Sicherheit und Anmeldungen.
Ermitteln und notieren Sie eine der angezeigten Anmeldungen zur späteren Verwendung in dieser exemplarischen Vorgehensweise.
Als Nächstes erstellen Sie das Serverprojekt.
So erstellen Sie das Serverprojekt
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Wenn Sie die Projektmappe erstellen, erstellen Sie eine SharedServerProject.dbschema-Datei, die die Definitionen für die Objekte und die Einstellungen im Serverprojekt enthält. Sie werden später in der exemplarischen Vorgehensweise auf diese Datei verweisen.
Anschließend erstellen Sie ein Datenbankprojekt, das eine Anmeldung verwendet, die in diesem Serverprojekt definiert ist.
Erstellen des zusammengesetzten Datenbankprojekts
So erstellen Sie das Datenbankprojekt
Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt.
Das Dialogfeld Neues Projekt wird angezeigt.
Erweitern Sie unter Installierte Vorlagen den Knoten Datenbank, und klicken Sie dann auf SQL Server.
Tipp
Navigieren Sie bei Verwendung von Visual Studio Professional zu Installierte Vorlagen, erweitern Sie den Knoten Datenbank, erweitern Sie den Knoten SQL Server, und klicken Sie anschließend auf Erweitert.
Klicken Sie in der Liste der Vorlagen auf SQL Server 2008-Datenbankprojekt.
Geben Sie im Feld Name die Zeichenfolge "CompositeDBProject" ein.
Die Werte unter Speicherort und Projektmappenname müssen nicht geändert werden.
Aktivieren Sie ggf. das Kontrollkästchen Projektmappenverzeichnis erstellen.
Deaktivieren Sie ggf. das Kontrollkästchen Zur Quellcodeverwaltung hinzufügen, und klicken Sie auf OK.
Der Projektmappe wird ein leeres Datenbankprojekt hinzugefügt, das im Projektmappen-Explorer angezeigt wird.
Als Nächstes fügen Sie einen Verweis auf die Ausgabe des Serverprojekts hinzu, das Sie zuvor in dieser exemplarischen Vorgehensweise definiert haben.
So fügen Sie dem Serverprojekt einen Verweis hinzu
Erweitern Sie im Projektmappen-Explorer den Knoten für das CompositeDBProject-Projekt, und klicken Sie auf den Knoten Verweise.
Klicken Sie im Menü Projekt auf Datenbankverweis hinzufügen.
Tipp
Als Alternative zu Schritt 1 und Schritt 2 können Sie mit der rechten Maustaste auf den Knoten Verweise klicken. Klicken Sie dann auf Datenbankverweis hinzufügen.
Das Dialogfeld Datenbankverweis hinzufügen wird angezeigt. Da die Projektmappe nur ein Datenbankprojekt enthält, ist Datenbankprojektschema (.dbschema) ausgewählt.
Klicken Sie auf Durchsuchen.
Das Dialogfeld Datenbankdatei auswählen wird geöffnet.
Geben Sie die SharedServerProject.dbschema-Datei an, die zuvor in dieser exemplarischen Vorgehensweise erstellt wurde.
Sie können beispielsweise den folgenden Speicherort angeben:
Eigene Dateien\Visual Studio 2010\Projects\SharedServerProject\SharedServerProject\sql\debug\SharedServerProject.dbschema
Klicken Sie auf Öffnen.
Wenn Sie einen Verweis auf eine DBSCHEMA-Datei erstellen, die mithilfe eines Serverprojekts erstellt wurde, wird für den Verweis standardmäßig das Literal mit dem Wert "Master" verwendet, um auf die Objekte zu verweisen. Dies ist kein zusammengesetzter Verweis, da Sie einen Datenbankvariablenwert definiert haben. Eine Datenbankvariable muss nur definiert werden, wenn eine andere Datenbank dargestellt wird.
Klicken Sie auf OK.
Dem Serverprojekt wird ein Verweis hinzugefügt. Sie können nun beliebige Objekte, die in diesem Serverprojekt definiert sind, so verwenden, als wären sie im aktuellen Datenbankprojekt definiert.
Als Nächstes fügen Sie dem Datenbankprojekt ein Benutzerobjekt hinzu. Das Benutzerobjekt verwendet eine Anmeldung, die im Serverprojekt definiert ist.
So fügen Sie dem Datenbankprojekt einen Benutzer hinzu
Klicken Sie im Menü Ansicht auf Schemaansicht der Datenbank.
Erweitern Sie den Knoten CompositeDBProject, erweitern Sie den Knoten Sicherheit, klicken Sie mit der rechten Maustaste auf den Knoten Benutzer, zeigen Sie auf Hinzufügen, und klicken Sie auf Benutzer.
Das Dialogfeld Neues Element hinzufügen wird angezeigt.
Geben Sie im Feld Name die Zeichenfolge "MyUser" ein, und klicken Sie auf Hinzufügen.
Der Benutzer wird dem Datenbankprojekt hinzugefügt und in der Schemaansicht angezeigt. Der Transact-SQL-Editor wird geöffnet und zeigt die Definition für den Benutzer an.
Aktualisieren Sie im Transact-SQL-Editor die Benutzerdefinition so, dass sie mit dem folgenden Beispiel übereinstimmt:
CREATE USER [MyUser] FOR LOGIN [SharedLogin] WITH DEFAULT_SCHEMA = dbo;Wichtig
Sie müssen [SharedLogin] durch die in Schritt 7 des Verfahrens "So importieren Sie die Serverobjekte und -einstellungen" identifizierte Anmeldung ersetzen.
Klicken Sie im Menü Datei auf MyUser.user.sql speichern.
Als Nächstes definieren Sie eine Datenbankrolle.
So definieren Sie eine Datenbankrolle
Erweitern Sie in der Schemaansicht nacheinander die Knoten CompositeDBProject, Sicherheit und Rollen.
Klicken Sie mit der rechten Maustaste auf den Knoten Datenbankrollen, zeigen Sie auf Hinzufügen, und klicken Sie auf Datenbankrolle.
Das Dialogfeld Neues Element hinzufügen wird angezeigt.
Geben Sie im Feld Name die Zeichenfolge "DbAccounting" ein, und klicken Sie auf Hinzufügen.
Die Rolle wird dem Datenbankprojekt hinzugefügt und in der Schemaansicht angezeigt. Der Transact-SQL-Editor wird geöffnet und zeigt die Definition für die Rolle an.
Klicken Sie im Menü Datei auf DbAccounting.role.sql speichern.
Konfigurieren Sie nun die Bereitstellungseigenschaften für das Datenbankprojekt.
So ordnen Sie den Benutzer der neuen Datenbankrolle zu
Erweitern Sie den Knoten Skripts, erweitern Sie den Knoten Nach der Bereitstellung, und doppelklicken Sie auf Script.PostDeployment.sql.
Der Transact-SQL-Editor wird geöffnet und zeigt das Skript nach der Bereitstellung an.
Fügen Sie die folgende Transact-SQL-Anweisung am Ende des Skripts nach der Bereitstellung hinzu:
exec sp_addrolemember 'DbAccounting','MyUser';Klicken Sie im Menü Datei auf Script.PostDeployment.sql speichern.
Konfigurieren Sie nun die Bereitstellungseigenschaften für das Datenbankprojekt.
So konfigurieren Sie das Datenbankprojekt für die Bereitstellung
Klicken Sie im Projektmappen-Explorer auf CompositeDBProject (das Datenbankprojekt).
Klicken Sie im Menü Projekt auf CompositeDBProject-Eigenschaften.
Die Eigenschaften für das Projekt werden angezeigt.
Klicken Sie auf die Registerkarte Bereitstellen.
Klicken Sie in der Liste Bereitstellungsvorgang auf Bereitstellungsskript erstellen und in Datenbank bereitstellen (.sql).
Klicken Sie unter Einstellungen für die Zieldatenbank auf Bearbeiten, und geben Sie eine Verbindung zum Server und zu der Datenbank an, auf dem bzw. der Sie das Datenbankprojekt bereitstellen möchten.
Tipp
Wenn Sie nicht den gleichen Server angeben, von dem Sie auch die Serverobjekte importiert haben, schlägt die Bereitstellung fehl, da die Anmeldungen auf diesem Server definiert sind.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern.
Als Nächstes erstellen Sie das Datenbankprojekt.
So erstellen Sie das Datenbankprojekt
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Das Projekt wird fehlerfrei erstellt.
Als Nächstes stellen Sie das Datenbankprojekt auf dem Zielserver und der Zieldatenbank bereit.
So stellen Sie das Datenbankprojekt bereit
Klicken Sie im Menü Erstellen auf CompositeDBProject bereitstellen.
Das Projekt wird fehlerfrei bereitgestellt.
Bereitstellen des Projekts für das Team (optional)
So stellen Sie das Projekt unter Versionskontrolle
Klicken Sie im Projektmappen-Explorer auf den Knoten für die CompositeDBProject-Projektmappe.
Zeigen Sie im Menü Datei auf Quellcodeverwaltung, und klicken Sie auf Projektmappe zur Quellcodeverwaltung hinzufügen.
Tipp
An diesem Punkt findet eine Interaktion mit der installierten Software zur Versionskontrolle statt. Diese exemplarische Vorgehensweise veranschaulicht die erforderlichen Schritte zum Hinzufügen des Projekts zu Visual Studio Team Foundation Server. Wenn Sie eine andere Software zur Versionskontrolle installiert haben, ersetzen Sie die entsprechenden Schritte.
Wenn Sie Team Foundation Server verwenden, wird das Dialogfeld Mit Team Foundation Server verbinden angezeigt.
Klicken Sie im Dialogfeld Mit Team Foundation Server verbinden auf den Server, auf dem das Teamprojekt gehostet wird, dem Sie die Projektmappe hinzufügen möchten.
Tipp
Weitere Informationen für den Fall, dass Sie über kein Teamprojekt verfügen, dem Sie das Datenbankprojekt hinzufügen können, erhalten Sie unter Planen und Nachverfolgen von Projekten.
Klicken Sie unter Teamprojekte auf das Teamprojekt, dem Sie das Datenbankprojekt hinzufügen möchten, und klicken Sie anschließend auf OK.
Das Dialogfeld Der Quellcodeverwaltung Projektmappe "CompositeDBProject" hinzufügen wird angezeigt.
Klicken Sie auf OK, um die Standardwerte zu übernehmen.
Das Datenbankprojekt sowie die darin enthaltenen Dateien werden unter Versionskontrolle gestellt. Sie sind zu Beginn noch ausgecheckt. Damit die anderen Teammitglieder darauf zugreifen können, müssen Sie sie einchecken.
Zeigen Sie im Menü Ansicht auf Weitere Fenster, und klicken Sie auf Ausstehende Änderungen.
Das Fenster Ausstehende Änderungen wird angezeigt.
Geben Sie im Feld Kommentar den Text "Ursprüngliche Datenbankprojekterstellung" ein.
Klicken Sie auf der Symbolleiste für das Fenster Ausstehende Änderungen auf Einchecken.
Das Dialogfeld Eincheckstatus wird angezeigt, während das Datenbankprojekt und die darin enthaltenen Dateien eingecheckt sind. Die Symbole im Projektmappen-Explorer werden geändert, um anzuzeigen, dass die Dateien in die Versionskontrolle eingecheckt wurden.
Nächste Schritte
Auch wenn das Datenbankprojekt in die Versionskontrolle eingecheckt ist, können die Teammitglieder das Datenbankprojekt weiter entwickeln. Datenbankentwickler müssen das Serverprojekt nicht ändern. Daher können Sie seine Berechtigungen so einschränken, dass die Entwickler die freigegebenen Objekte zwar sehen, aber nicht ändern können.
Siehe auch
Konzepte
Teamentwicklung von Datenbanken, die auf freigegebene Serverobjekte verweisen
Übersicht über Datenbank- und Serverprojekte
Beginnen der Teamentwicklung von Datenbanken
Teamentwicklung von Datenbanken mit Verweisen auf andere Datenbanken