Ich muss eine Datenbankprotokolldatei auf eine neue Partition verschieben, ohne die Datenbank offline zu schalten.
Normalerweise wird dazu die Datenbank getrennt, die Protokolldatei verschoben und anschließend die Datenbank erneut angefügt.
Ist es möglich, dies zu tun, ohne die Datenbank selbst offline zu schalten, und wenn ja, wie?
sql-server
sql-server-2008-r2
Nicht ich
quelle
quelle
Antworten:
Mit einer Online-Datenbank ist dies nicht möglich.
Wenn Sie eine Datenbankdatei (
ALTER DATABASE ... MODIFY FILE
) verschieben, erhalten Sie sogar die folgende Meldung:Das ist nicht die "normale" oder akzeptierte Art und Weise, wie ich es tun würde. Um Datenbankdateien zu verschieben, gehe ich wie folgt vor:
Siehe diese Referenz in TechNet: Benutzerdatenbanken verschieben
quelle
Wenn Sie die Dateien verschieben möchten, ohne die gesamte SQL Server-Instanz zu stoppen ( gemäß dem Verweis auf TechNet Move User Databases aus der Antwort von Thomas Stringer ), sollte die Reihenfolge wie folgt lauten:
Beachte zuerst die OFFLINE. Verschieben Sie anschließend die Dateien und teilen Sie SQL Server die neuen Speicherorte mit.
Wenn Sie die gesamte SQL Server-Instanz herunterfahren müssen (siehe "Umzug für geplante Datenträgerwartung"), sollten Sie zuerst die Speicherorte der Dateien ändern, damit beim Neustart der Instanz keine Probleme beim Suchen der Dateien auftreten in den neuen Standorten.
quelle
Ich weiß, dass dies eine alte Frage ist, aber können Sie nicht einfach eine zweite Protokolldatei (die dann von der Datenbank anstelle des Originals verwendet wird) am neuen Speicherort hinzufügen und dann das Original verkleinern / entfernen?
quelle