Deaktivieren von Stretch Database und Zurückbringen von Remotedaten

Gilt für: SQL Server 2016 (13.x) und höher – nur Windows

Wichtig

Stretch Database ist in SQL Server 2022 (16.x) und der Azure SQL-Datenbank veraltet. Diese Funktion wird in einer zukünftigen Version der Datenbank-Engine entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Sie können Transact-SQL verwenden, um Stretch Database für eine Tabelle oder eine Datenbank zu deaktivieren.

Nach dem Deaktivieren von Stretch Database für eine Tabelle wird die Datenmigration beendet und die Abfrageergebnisse enthalten nicht mehr die Ergebnisse aus der Remotetabelle.

Wenn Sie die Datenmigration anhalten möchten, finden Sie Informationen dazu unter Anhalten und Fortsetzen der Datenmigration (Stretch Database).

Hinweis

Durch das Deaktivieren von Stretch Database für eine Tabelle oder eine Datenbank wird das Remoteobjekt nicht gelöscht. Wenn Sie die Remotetabelle oder Remotedatenbank löschen möchten, müssen Sie sie mithilfe des Azure-Verwaltungsportals löschen. Die Remoteobjekte erzeugen weiterhin Azure-Kosten, bis Sie die Objekte löschen. Weitere Informationen finden Sie unter SQL Server Stretch Database – Preise.

Deaktivieren von Stretch Database für eine Tabelle

Verwenden von Transact-SQL

  • Führen Sie den folgenden Befehl aus, um Stretch für eine Tabelle zu deaktivieren und die Remotedaten einer Tabelle aus Azure zurück zu SQL Server zu kopieren. Nachdem die Remotedaten von Azure zurück zu SQL Server kopiert wurden, wird Stretch für die Tabelle deaktiviert.

    Dieser Befehl kann nicht abgebrochen werden.

    USE [<Stretch-enabled database name>];
    GO
    ALTER TABLE [<Stretch-enabled table name>]
       SET ( REMOTE_DATA_ARCHIVE ( MIGRATION_STATE = INBOUND ) );
    GO
    

    Das Kopieren der Remotedaten der Tabelle von Azure zurück zu SQL Server generiert Datenübertragungskosten. Weitere Informationen finden Sie unter Datenübertragungen – Preisdetails.

  • Führen Sie den folgenden Befehl aus, um Stretch für eine Tabelle zu deaktivieren und die Remotedaten zu verwerfen.

    USE <Stretch-enabled database name>;
    GO
    ALTER TABLE <Stretch-enabled table name>
       SET ( REMOTE_DATA_ARCHIVE = OFF_WITHOUT_DATA_RECOVERY ( MIGRATION_STATE = PAUSED ) );
    GO
    

    Durch das Deaktivieren von Stretch Database für eine Tabelle werden die Remotedaten oder die Remotetabelle nicht gelöscht. Wenn Sie die Remotetabelle löschen möchten, müssen Sie sie mithilfe des Azure-Verwaltungsportals löschen. Die Remotetabelle erzeugt weiterhin Kosten in Azure, bis Sie sie löschen. Weitere Informationen finden Sie unter SQL Server Stretch Database – Preise.

Deaktivieren von Stretch Database für eine Datenbank

Vor dem Deaktivieren von Stretch Database für eine Datenbank müssen Sie Stretch Database für die einzelnen Stretch-fähigen Tabellen in der Datenbank deaktivieren.

Verwenden von Transact-SQL

Führen Sie den folgenden Befehl aus.

ALTER DATABASE [<Stretch-enabled database name>]
    SET REMOTE_DATA_ARCHIVE = OFF;
GO

Durch das Deaktivieren von Stretch Database für eine Datenbank wird die Remotedatenbank nicht gelöscht. Wenn Sie die Remotedatenbank löschen möchten, müssen Sie sie mithilfe des Azure-Verwaltungsportals entfernen. Die Remotedatenbank erzeugt weiterhin Kosten in Azure, bis Sie sie löschen. Weitere Informationen finden Sie unter SQL Server Stretch Database – Preise.

Siehe auch