Freigeben über


Trennen einer skalierbaren gemeinsam genutzten Datenbank

Mit der Zeit werden die Berichtsdaten zu alt, um noch nützlich zu sein, und die Berichtsdatenbank wird dann als veraltet bezeichnet. Das Aktualisieren einer skalierbaren gemeinsam genutzten Datenbank beinhaltet einen Aktualisierungszyklus mit drei Phasen, der mit der Trennungsphase beginnt. Im Wesentlichen geht es bei der Trennungsphase um das Trennen einer veralteten Berichtsdatenbank und das Aufheben der Bereitstellung der Berichtsdatenträger der Berichtsserver. Nach dem Trennen von einer gegebenen Serverinstanz ist die veraltete Berichtsdatenbank keine skalierbare gemeinsam genutzte Datenbank auf dieser Serverinstanz mehr.

Die Schritte der Trennungsphase

In dieser Phase führen Sie folgende Aktionen auf jedem der Berichtsserver aus:

  1. Deaktivieren Sie optional neue Abfragen für die Datenbank, und erlauben Sie die normale Beendigung aktueller Abfragen. Weitere Informationen finden Sie unter "Vorbereitende Strategien für das Trennen einer veralteten Berichtsdatenbank" weiter unten in diesem Thema.

  2. Trennen Sie die Datenbank von jeder der Serverinstanzen.
    Sie können dies mithilfe der folgenden Transact-SQL-Anweisung ausführen:

    sp_detach_db @dbname='<database_name>'
    

    Dabei ist <database_name> der Name der Datenbank.

  3. Heben Sie die Bereitstellung der Gruppe der Berichtsdatenträger auf jedem der Berichtsserver auf.
    Geben Sie die folgenden Befehle an der Eingabeaufforderung ein, um die Bereitstellung eines Datenträgers mithilfe des Dienstprogramms DiskPart aufzuheben:
    DiskPart
    DISKPART> select volume=<drive-number>
    DISKPART> remove
    DISKPART> exit
    Dabei ist <drive-letter> der dem Berichtsdatenträger zugewiesene Laufwerkbuchstabe. Wenn die Datenbank mehrere Berichtsdatenträger verwendet, führen Sie diesen Schritt für jeden der Datenträger durch.

  4. Maskieren Sie die LUN (Logical Unit Number), die dem Berichtsdatenträger entspricht, um sie für die Berichtsserver auszublenden. Verwenden Sie dazu die Dienstprogramme Ihres Hardwareherstellers. Wenn die Datenbank mehrere Berichtsdatenträger verwendet, führen Sie diesen Schritt für jeden der Datenträger durch.

ms345510.note(de-de,SQL.90).gifHinweis:
Die Trennungsphase ist die erste Phase eines Aktualisierungszyklus für eine gegebene Gruppe von Berichtsdatenträgern. Sie können jedoch zwei alternative Gruppen von Berichtsdatenträgern für die veraltete und die neue Version einer Berichtsdatenbank verwenden. Dies ermöglicht Ihnen einander überschneidende Trennungs- und Aktualisierungsphasen der beiden Datenträgergruppen. Weitere Informationen finden Sie unter Maximieren der Verfügbarkeit einer skalierbaren, freigegebenen Datenbank.

Vorbereitende Strategien für das Trennen einer veralteten Berichtsdatenbank

Wenn Sie die veraltete Version einer Datenbank ersetzen, müssen Sie die geschäftlichen Anforderungen an Ihre Berichtsumgebung berücksichtigen. Sie sollten abwägen, welche der folgenden geschäftlichen Anforderungen wichtiger ist: die Beendigung gerade ausgeführter Abfragen oder eine möglichst schnelle Durchführung der Aktualisierung.

Je nachdem, welche Anforderung wichtiger ist, können Sie entscheiden, wie Sie die Trennungsphase auf jedem Ihrer Berichtsserver verwalten.

  • Zulassen der Beendigung von Abfragen
    Zur Beibehaltung aller laufenden Abfragen beginnen Sie die Trennungsphase durch Stoppen des Transaktionsflusses zur Datenbank, z. B. durch Stoppen der E/A-Aktivitäten. Warten Sie dann auf jeder Serverinstanz, bis alle aktuellen Abfragen beendet sind. Wenn die Datenbank von allen Serverinstanzen getrennt wurde, können Sie die Bereitstellung des Berichtsdatenträgers aufheben.

  • Möglichst schnelles Aktualisieren der Datenbank
    Zur schnellen Ausführung der Aktualisierung verschaffen Sie sich exklusiven Zugriff auf die Datenbank auf jeder der Serverinstanzen, indem Sie alle Abfragen sofort oder nach einer angegebenen Anzahl von Sekunden beenden. Beendete Abfragen können erneut gestartet werden, nachdem eine aktualisierte Version der Datenbank angefügt wurde.
    Beispiel: Verwenden Sie folgende Transact-SQL-Anweisung, um aktuellen Abfragen 60 Sekunden Zeit zu lassen, bevor alle verbleibenden Abfragen beendet werden:

    USE master;
    ALTER DATABASE AdventureWorks
    SET SINGLE_USER
    WITH ROLLBACK AFTER 60;
    GO
    

    Sie können jetzt die Datenbank von jeder der Serverinstanzen trennen und die Bereitstellung der Berichtsdatenträger von jedem der Berichtsserver aufheben.

Weitere Informationen finden Sie unter ALTER DATABASE (Transact-SQL).

An diesem Punkt ist die entfernte Gruppe von Berichtsdatenträgern bereit für die Erstellungs- oder Aktualisierungsphase des nächsten Aktualisierungszyklus.

Alternativ können Sie die Datenbank auf einer alternativen Gruppe von Berichtsdatenträgern aktualisieren, bevor Sie mit der Trennungsphase für die derzeit bereitgestellte Gruppe von Berichtsdatenträgern beginnen. Weitere Informationen finden Sie unter Maximieren der Verfügbarkeit einer skalierbaren, freigegebenen Datenbank.

Siehe auch

Aufgaben

Vorgehensweise: Trennen einer Datenbank (SQL Server Management Studio)

Konzepte

Anfügen einer Berichtsdatenbank als eine skalierbare freigegebene Datenbank
Erstellen bzw. Aktualisieren einer Berichtsdatenbank
Sicherstellen einer richtigen Umgebung für skalierbare freigegebene Datenbanken
Maximieren der Verfügbarkeit einer skalierbaren, freigegebenen Datenbank
Übersicht über skalierbare freigegebene Datenbanken

Andere Ressourcen

sp_detach_db (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005