Share via


Gewusst wie: Ändern der Zielplattform und Veröffentlichen eines Datenbankprojekts

 

Sie können die SQL Server-Zielversion für ein SQL Server Data Tools (SSDT)-Datenbankprojekt in jede unterstützte Instanz von SQL Server (SQL Server 2005, 2008, 2008 R2, Microsoft SQL Server 2012 oder SQL Azure) ändern. Hierdurch können Sie die Datenbankentwicklung in einem einzelnen Projekt bündeln, das Projekt jedoch bei Bedarf in mehreren SQL Server-Instanzen veröffentlichen.

SSDT vereinfacht auch diese Aufgabe durch Berücksichtigung der Zielplattform und automatisches Erkennen sämtlicher Fehler im Code (z. B. bei Verwendung von nicht unterstützten Funktionen für ein Projekt, das in SQL Azure veröffentlicht werden soll).

Warnung

In den folgenden Prozeduren werden die Entitäten verwendet, die in vorherigen Prozeduren in den Abschnitten Entwicklung verbundener Datenbanken und Projektorientierte Offlinedatenbankentwicklung erstellt wurden.

So ändern Sie die Zielplattform eines Projekts

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Klicken Sie links auf die Registerkarte Projekteinstellungen, um die Eigenschaftenseite Projekteinstellungen zu öffnen.

  2. Die Dropdownliste Zielplattform auf dieser Seite enthält alle unterstützten SQL Server-Plattformen, auf denen ein Datenbankprojekt veröffentlicht werden kann. Wählen Sie für diese Prozedur SQL Azure aus.

So verwenden Sie beim Bearbeiten von Skripts Plattformüberprüfung

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Tabelle Products, und wählen Sie Code anzeigen aus, um die Tabelle im Transact-SQL-Editor zu öffnen.

  2. Fügen Sie an das Ende der ON [PRIMARY]-Anweisung CREATE TABLE an.

  3. Beachten Sie, dass im Bereich Fehlerliste der folgende Fehler angezeigt wird: SQL70015: "Dateigruppenverweis und Partitionierungsschema" wird in SQL Azure nicht unterstützt..

    SSDT überprüft das Skript automatisch auf Grundlage der Zielplattform. Da Dateigruppen in SQL Azure nicht unterstützt werden, gibt SSDT in diesem Fall einen Fehler zurück. Eine Liste der in SQL Azure nicht unterstützten Transact-SQL -Anweisungen finden Sie unter Teilweise unterstützte Transact-SQL-Anweisungen (Microsoft Azure SQL-Datenbank).

  4. Entfernen Sie die ON-Klausel. Beachten Sie, dass der Fehler unmittelbar darauf nicht mehr in der Fehlerliste angezeigt wird.

So veröffentlichen Sie ein Datenbankprojekt

  1. Wenn Sie Zugriff auf eine SQL Azure-Instanz haben, können Sie mit dem nächsten Schritt fortfahren. Klicken Sie andernfalls im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt TradeDev, und wählen Sie Eigenschaften aus, um auf die Eigenschaftenseite Projekteinstellungen zuzugreifen. Verwenden Sie die Dropdownliste Zielplattform, um die SQL Server-Plattform auszuwählen, auf der Sie das Projekt veröffentlichen möchten.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt TradeDev, und wählen Sie Veröffentlichen aus. SSDT beginnt mit dem Erstellen des Projekts. Wenn kein Buildfehler auftritt, wird das Dialogfeld Datenbank veröffentlichen angezeigt.

  3. Klicken Sie im Dialogfeld Datenbank veröffentlichen auf Bearbeiten, um die Zieldatenbankverbindung zu bearbeiten.

  4. Geben Sie im Dialogfeld Verbindungseigenschaften zur Authentifizierung den Namen der SQL Server-Instanz und Ihre Anmeldeinformationen ein. Geben Sie in Mit Datenbank verbinden den Wert NewTrade ein. Hierdurch wird versucht, das Datenbankprojekt in einer neuen Datenbank zu veröffentlichen. Sie können zum Veröffentlichen des Projekts auch eine vorhandene Datenbank auswählen. Wenn Sie z. B. die vorhandene Datenbank TradeDev auswählen, werden alle Änderungen, die Sie im Offlineprojekt TradeDev an den Objekten (als Skripts) vorgenommen haben, an die Livedatenbank TradeDev weitergegeben.

    Wenn Sie über die Berechtigung verfügen, Änderungen an der Datenbank vorzunehmen, in der Sie das Projekt veröffentlichen möchten, klicken Sie auf die Schaltfläche Veröffentlichen. Wenn Sie jedoch keinen Schreibzugriff auf eine Produktionsdatenbank haben, können Sie auf die Schaltfläche Skript generieren klicken, um ein Transact-SQL-Veröffentlichungsskript zu erzeugen, das anschließend an einen Datenbankadministrator übergeben werden kann. Der Datenbankadministrator kann dann das Skript ausführen, um den Produktionsserver zu aktualisieren, damit dessen Schema mit dem Datenbankprojekt synchron ist.

  5. Im Fenster Datentoolvorgänge werden der Status der Veröffentlichungsvorgänge und ggf. Fehlermeldungen angezeigt. In diesem neuen Fenster können Sie ggf. auch die Vorschau der Bereitstellung, das generierte Skript oder sämtliche Veröffentlichungsergebnisse anzeigen.

  6. Sie können auch die Veröffentlichungseinstellungen in einem Profil speichern, damit Sie für zukünftige Veröffentlichungsvorgänge die gleichen Einstellungen wiederverwenden können. Klicken Sie hierzu im Dialogfeld Datenbank veröffentlichen auf die Schaltfläche Profil speichern unter. Wenn Sie vorhandene Einstellungen in der Zukunft erneut laden möchten, können Sie auf die Schaltfläche Profil laden klicken.

  7. Beachten Sie die Meldungen im Fenster Datentoolvorgänge. Klicken Sie rechts von Veröffentlichungsvorschau wird erstellt auf den Link "Vorschau anzeigen". Dadurch wird der Bereitstellungsvorschaubericht geöffnet. Wenn die Zielplattform des Projekts nicht mit dem Datenbankserver identisch ist, auf dem das Projekt veröffentlicht wird, gibt SSDT in diesem Bericht eine Warnung aus. Wenn z. B. die Zielplattform des Projekts Microsoft SQL Server 2012 ist und Sie versuchen, das Projekt in einer SQL Server 2008 R2-Serverinstanz zu veröffentlichen, wird im Ausgabefenster die folgende Warnung angezeigt:

    Bei einem Projekt, das Microsoft SQL Server 2012 als Zielplattform angibt, können Kompatibilitätsprobleme mit SQL Server 2008 auftreten

    Wenn ein solches Projekt die mit Microsoft SQL Server 2012 eingeführten Entitäten (z. B. ein Sequenzobjekt) enthält, schlägt die Veröffentlichung fehl.

    Bei der Bereitstellung tritt ein Fehler auf, wenn Objektprädikate CONTAINS oder FREETEXT für einen neu erstellten Volltextindex verwenden und Transaktionsskripts eingesetzt werden. Wenn die Option zum Einschließen von Transaktionsskripts während der Bereitstellung aktiviert ist, werden Prozeduren und Sichten innerhalb einer Transaktion definiert, während ein Volltextindex außerhalb einer Transaktion am Ende des Bereitstellungsskripts definiert wird. Aufgrund dieser im Skript vorgegebenen Reihenfolge werden Prozeduren oder Sichten, die CONTAINS oder FREETEXT verwenden, nicht anhand des Volltextindexes aufgelöst, was zu einem Bereitstellungsfehler führt.