Azure-Sql-Database

定期將數據存檔到 Azure

  • July 10, 2019

我有一個數據庫——稱之為Jacob。每天,SQL 代理作業都會將所有超過 15 天的記錄複製到另一個名為Jacob_Archive

我想遷移Jacob_Archive到 Azure,我已經使用表創建了一個數據庫,但是當我嘗試移動數據時,我得到:

消息 40515,級別 15,狀態 1,第 16 行引用 Jacob_Archive.dbo.MasterResults` 中的數據庫和/或伺服器名稱在此版本的 SQL Server 中不受支持。

請指教

在 Jacob_Archive 數據庫上,您需要創建一個引用源數據庫的外部數據源。

CREATE EXTERNAL DATA SOURCE RemoteReferenceData
WITH
(
   TYPE=RDBMS,
   LOCATION='myserver.database.windows.net',
   DATABASE_NAME='ReferenceData',
   CREDENTIAL= SqlUser
);

然後為源數據庫上要歸檔數據的所有表創建外部表。

CREATE EXTERNAL TABLE [dbo].[zipcode](
   [zc_id] int NOT NULL,
   [zc_cityname] nvarchar(256) NULL,
   [zc_zipcode] nvarchar(20) NOT NULL,
   [zc_country] nvarchar(5) NOT NULL
)
WITH
(
   DATA_SOURCE = RemoteReferenceData
);

然後使用彈性查詢從遠端表中提取您想要的所有數據。您可以創建一個儲存過程來提取要歸檔的數據並將其放在 Jacob_Archive 數據庫上的表中。

提取資訊後,您可以在源表上執行儲存過程以刪除歸檔數據。你可以使用 Azure 自動化創建計劃任務來執行/執行這兩個儲存過程。

引用自:https://dba.stackexchange.com/questions/242367