最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL?Server?2022新功能之如何將數(shù)據(jù)庫備份到S3兼容的對象存儲

 更新時間:2025年02月10日 08:47:55   作者:樺仔  
本文介紹了如何使用SQL Server 2022將數(shù)據(jù)庫備份到S3兼容的對象存儲,主要功能包括配置S3連接器、創(chuàng)建憑據(jù)、使用URL進行備份和恢復(fù),并支持加密和壓縮選項,此外,還討論了在Linux平臺上的特殊配置要求和區(qū)域參數(shù)的使用,感興趣的朋友一起看看吧

本文介紹將S3兼容的對象存儲用作數(shù)據(jù)庫備份目標所需的概念、要求和組件。 數(shù)據(jù)庫備份和恢復(fù)功能在概念上類似于使用SQL Server備份到Azure Blob存儲的URL作為備份設(shè)備類型。

要注意的是,不只是amazon S3對象存儲,只要兼容S3協(xié)議的對象存儲都可以備份。

對象存儲集成功能

SQL Server 2022(16.x)引入了對象存儲集成功能,使您可以將SQL Server與S3兼容的對象存儲集成。為了提供這種集成,SQL Server支持一個S3連接器,它使用S3 REST API連接到任何S3兼容的對象存儲提供商。SQL Server 2022(16.x)通過增加對使用REST API的新S3連接器的支持,擴展了現(xiàn)有的BACKUP/RESTORE TO/FROM URL命令的語法。

  • 指向S3兼容資源的URL以s3://為前綴,表示正在使用S3連接器。以s3://開頭的URL始終假定底層協(xié)議為https。

  • 文件編號和文件大小限制 為了存儲數(shù)據(jù),S3兼容對象存儲提供商必須將文件分割成多個稱為“部分”的塊,這類似于微軟Azure Blob存儲中的塊Blob。

S3端點的前提條件

S3端點必須按以下方式配置:

  • 1、必須配置TLS。假定所有連接將通過HTTPS而非HTTP進行安全傳輸。端點通過安裝在SQL Server操作系統(tǒng)主機上的證書進行驗證。

  • 2、在S3兼容的對象存儲中創(chuàng)建憑據(jù),具有執(zhí)行操作所需的適當權(quán)限。在存儲層上創(chuàng)建的用戶和密碼被稱為訪問密鑰ID(Access Key ID)和秘密密鑰ID(Secret Key ID)。您需要這兩個密鑰才能對S3端點進行身份驗證。

  • 3、至少配置了一個存儲桶。

Linux平臺支持

SQL Server使用 WinHttp 實現(xiàn)其所使用的HTTP REST API客戶端。它依賴操作系統(tǒng)證書存儲來驗證由HTTP(S)端點提供的TLS證書。然而,在Linux平臺上運行的SQL Server的CA證書必須放置在一個預(yù)定義的位置,即/var/opt/mssql/security/ca-certificates 文件夾中,且該文件夾最多只能存儲和支持前50個證書。在啟動SQL Server進程之前,必須將CA證書放置在該位置。SQL Server在啟動時從該文件夾讀取證書,并將它們添加到信任存儲中。

示例

  • 創(chuàng)建憑據(jù)

憑據(jù)的名稱應(yīng)提供存儲路徑,并且根據(jù)存儲平臺的不同有多個標準。

當使用S3連接器時,IDENTITY應(yīng)始終為 'S3 Access Key'。 Access Key ID和Secret Key ID中不得包含冒號。 Access Key ID和Secret Key ID是在S3兼容的對象存儲上創(chuàng)建的用戶名和密碼。 Access Key ID 必須具有適當?shù)臋?quán)限來訪問S3兼容的對象存儲中的數(shù)據(jù)。 使用CREATE CREDENTIAL創(chuàng)建服務(wù)器級憑據(jù)以進行與S3兼容的對象存儲端點的身份驗證。

AWS S3 支持兩種不同的 URL 標準。

S3://<BUCKET_NAME>.S3.<REGION>.AMAZONAWS.COM/<FOLDER>(默認)
S3://S3.<REGION>.AMAZONAWS.COM/<BUCKET_NAME>/<FOLDER>

代碼如下:

USE [master];
GO
CREATE CREDENTIAL [s3://<endpoint>:<port>/<bucket>]
WITH
        IDENTITY    = 'S3 Access Key',
        SECRET      = '<AccessKeyID>:<SecretKeyID>';
GO
BACKUP DATABASE [SQLTestDB]
TO      URL = 's3://<endpoint>:<port>/<bucket>/SQLTestDB.bak'
WITH    FORMAT ,STATS = 10, COMPRESSION;

有多種方法可以為AWS的S3對象存儲創(chuàng)建憑據(jù)。

  • S3 存儲桶名稱:datavirtualizationsample
  • S3 存儲桶區(qū)域:us-west-2
  • S3 存儲桶文件夾:backup
CREATE CREDENTIAL [s3://datavirtualizationsample.s3.us-west-2.amazonaws.com/backup]
WITH    
        IDENTITY    = 'S3 Access Key'
,       SECRET      = 'accesskey:secretkey';
GO
BACKUP DATABASE [AdventureWorks2022]
TO URL  = 's3://datavirtualizationsample.s3.us-west-2.amazonaws.com/backup/AdventureWorks2022.bak'
WITH COMPRESSION, FORMAT, MAXTRANSFERSIZE = 20971520;
GO
--或者
CREATE CREDENTIAL [s3://s3.us-west-2.amazonaws.com/datavirtualizationsample/backup]
WITH    
        IDENTITY    = 'S3 Access Key'
,       SECRET      = 'accesskey:secretkey';
GO
BACKUP DATABASE [AdventureWorks2022]
TO URL  = 's3://s3.us-west-2.amazonaws.com/datavirtualizationsample/backup/AdventureWorks2022.bak'
WITH COMPRESSION, FORMAT, MAXTRANSFERSIZE = 20971520;
GO

備份到 URL和從 URL 恢復(fù)

備份到 URL

以下示例將執(zhí)行完整的數(shù)據(jù)庫進行備份文件分割,然后備份到對象存儲端點:
BACKUP DATABASE <db_name>
TO      URL = 's3://<endpoint>:<port>/<bucket>/<database>_01.bak'
,       URL = 's3://<endpoint>:<port>/<bucket>/<database>_02.bak'
,       URL = 's3://<endpoint>:<port>/<bucket>/<database>_03.bak'
WITH    FORMAT ,STATS = 10, COMPRESSION;

從 URL 恢復(fù)

以下示例將從對象存儲端點位置執(zhí)行數(shù)據(jù)庫恢復(fù):
RESTORE DATABASE <db_name>
FROM    URL = 's3://<endpoint>:<port>/<bucket>/<database>_01.bak'
,       URL = 's3://<endpoint>:<port>/<bucket>/<database>_02.bak'
,       URL = 's3://<endpoint>:<port>/<bucket>/<database>_03.bak'
WITH    REPLACE ,  STATS  = 10;

加密和壓縮備份選項

以下示例展示如何使用加密和壓縮來備份和恢復(fù) AdventureWorks2022 數(shù)據(jù)庫:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = <password>;
GO
CREATE CERTIFICATE AdventureWorks2022Cert
    WITH SUBJECT = 'AdventureWorks2022 Backup Certificate';
GO
-- 備份數(shù)據(jù)庫
BACKUP DATABASE AdventureWorks2022
TO URL = 's3://<endpoint>:<port>/<bucket>/AdventureWorks2022_Encrypt.bak'
WITH FORMAT, COMPRESSION,
ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = AdventureWorks2022Cert)
GO
-- 恢復(fù)數(shù)據(jù)庫
RESTORE DATABASE AdventureWorks2022
FROM URL = 's3://<endpoint>:<port>/<bucket>/AdventureWorks2022_Encrypt.bak'
WITH REPLACE

使用區(qū)域參數(shù)進行備份和恢復(fù)

以下示例展示如何使用REGION_OPTIONS選項進行備份和恢復(fù) AdventureWorks2022 數(shù)據(jù)庫:

您可以在每個BACKUP / RESTORE命令中添加區(qū)域參數(shù)。 請注意,在BACKUP_OPTIONS和RESTORE_OPTIONS中使用了S3存儲特定的區(qū)域字符串, 例如 '{"s3": {"region":"us-west-2"}}'。默認區(qū)域是 us-east-1。

-- 備份數(shù)據(jù)庫
BACKUP DATABASE AdventureWorks2022
TO URL = 's3://<endpoint>:<port>/<bucket>/AdventureWorks2022.bak'
WITH BACKUP_OPTIONS = '{"s3": {"region":"us-west-2"}}'
-- 恢復(fù)數(shù)據(jù)庫
RESTORE DATABASE AdventureWorks2022
FROM URL = 's3://<endpoint>:<port>/<bucket>/AdventureWorks2022.bak'
WITH  RESTORE_OPTIONS = '{"s3": {"region":"us-west-2"}}'

SQL Server 2008的壓縮備份是一個新特性,根據(jù)實際使用中的觀察,壓縮比至少在1:5左右,也就是備份時增加了壓縮選項(COMPRESSION)后可以至少壓縮到數(shù)據(jù)文件大小的20%甚至更低,
可以很大程度上加快備份執(zhí)行時間,減輕IO壓力和節(jié)省備份服務(wù)器的磁盤存儲空間。

-- 備份數(shù)據(jù)庫
BACKUP DATABASE SQLTestDB TO DISK = 'c:\tmp\SQLTestDB.bak'  WITH stats =5 , COMPRESSION 
GO

總結(jié)

SQL Server 2022通過新引入的S3連接器,SQL Server能夠支持通過REST API與S3兼容存儲集成。用戶可以配置存儲桶和憑據(jù),通過URL指向存儲位置進行備份和恢復(fù)。此外,還提供了加密、壓縮等備份選項,以及在Linux平臺上的特殊配置要求。示例展示了如何創(chuàng)建憑據(jù)、執(zhí)行備份和恢復(fù)操作,支持區(qū)域參數(shù)指定備份和恢復(fù)的地域。

參考文章

https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url-s3-compatible-object-storage?view=sql-server-ver16&viewFallbackFrom=sql-server-ver15

https://aws.amazon.com/cn/blogs/modernizing-with-aws/backup-sql-server-to-amazon-s3/

https://www.mssqltips.com/sqlservertip/7302/backup-sql-server-2022-database-aws-s3-storage/

到此這篇關(guān)于SQL Server 2022新功能:將數(shù)據(jù)庫備份到S3兼容的對象存儲的文章就介紹到這了,更多相關(guān)SQL Server數(shù)據(jù)庫備份到S3兼容的對象存儲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL Server使用Windows身份驗證與JDBC連接數(shù)據(jù)庫的操作流程

    SQL Server使用Windows身份驗證與JDBC連接數(shù)據(jù)庫的操作流程

    在企業(yè)級應(yīng)用中,數(shù)據(jù)庫的安全性是非常重要的,SQL Server 提供了多種身份驗證方式,其中 Windows 身份驗證是一種較為安全且方便的管理方式,本文將介紹如何在 Java 中使用 JDBC 連接 SQL Server 數(shù)據(jù)庫,并且通過 Windows 身份驗證來確保數(shù)據(jù)訪問的安全性
    2024-12-12
  • 將所有符合條件的結(jié)果拼接成一列并用逗號隔開的一個sql語句

    將所有符合條件的結(jié)果拼接成一列并用逗號隔開的一個sql語句

    把所有符合條件的結(jié)果拼接成一列,用逗號隔開的一個sql語句。
    2010-06-06
  • SQL Server存儲過程中使用表值作為輸入?yún)?shù)示例

    SQL Server存儲過程中使用表值作為輸入?yún)?shù)示例

    這篇文章主要介紹了SQL Server存儲過程中使用表值作為輸入?yún)?shù)示例,使用表值參數(shù),可以不必創(chuàng)建臨時表或許多參數(shù),即可向 Transact-SQL 語句或例程(如存儲過程或函數(shù))發(fā)送多行數(shù)據(jù),這樣可以省去很多自定義的代碼,需要的朋友可以參考下
    2015-07-07
  • SQL使用登錄名連接數(shù)據(jù)庫報錯(錯誤代碼18456問題)

    SQL使用登錄名連接數(shù)據(jù)庫報錯(錯誤代碼18456問題)

    18456是因密碼或用戶名錯誤而使身份驗證失敗,如果用戶名密碼正確,則該登錄名沒有連接數(shù)據(jù)庫引擎權(quán)限,本文就來介紹一下解決方法,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • SQL Server數(shù)據(jù)庫按百分比查詢出表中的記錄數(shù)

    SQL Server數(shù)據(jù)庫按百分比查詢出表中的記錄數(shù)

    這篇文章主要介紹了SQL Server數(shù)據(jù)庫在一個表中按百分比查詢出記錄條數(shù)的方法及代碼示例,需要的朋友可以參考下
    2015-08-08
  • 使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表操作指南

    使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表操作指南

    這篇文章主要給大家介紹了關(guān)于使用SQL語句創(chuàng)建數(shù)據(jù)庫與創(chuàng)建表操作的相關(guān)資料,創(chuàng)建數(shù)據(jù)庫是數(shù)據(jù)庫管理的第一步,而SQL語句是創(chuàng)建數(shù)據(jù)庫的基本工具,需要的朋友可以參考下
    2023-08-08
  • 最新評論

    鸡东县| 崇礼县| 阳信县| 麻栗坡县| 原平市| 长白| 蒲城县| 乐平市| 阳城县| 刚察县| 开远市| 招远市| 高密市| 平塘县| 清流县| 诸城市| 出国| 洞头县| 奈曼旗| 攀枝花市| 会东县| 宝鸡市| 大埔县| 香港 | 洛川县| 新津县| 西畴县| 乐山市| 西贡区| 内江市| 徐水县| 玛曲县| 昭觉县| 磐安县| 上饶市| 永仁县| 内丘县| 景德镇市| 花垣县| 礼泉县| 乐山市|