Azure-Sql-Database
定期將數據存檔到 Azure
我有一個數據庫——稱之為
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 自動化創建計劃任務來執行/執行這兩個儲存過程。