AWSSqlExpress备份到S3桶出现问题
创始人
2024-09-27 12:01:37
0次

问题描述:在AWS Sql Express上备份数据库时,将备份文件上传到S3桶时出现错误。

错误消息示例: Msg 3201, Level 16, State 1, Line 10, Cannot open backup device 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Backup\mydb.bak'. Operating system error 3(The system cannot find the path specified.).

  1. 确认S3存储桶的访问权限是否正确配置。确保当前访问密钥具有读写S3桶的权限。如果需要设置访问密钥,请在IAM中创建一个用户并获取其访问密钥。

  2. 确认SQL Server实例的服务账户是否有足够的权限访问备份文件和S3桶。为了解决此问题,请确保将正确的策略附加到服务账户。

  3. 请确保在备份脚本中指定正确的文件路径和命名约定。可以使用以下脚本进行备份:

BACKUP DATABASE mydb TO DISK='S3://mybucket/mydb.bak' WITH COMPRESSION, STATS=5;

其中,mybucket是您要备份到的S3 Bucket的名称。

  1. 确认是否将正确的存储桶Endpoint指定为S3 URL中的端点。这些端点因区域而异。可以通过以下脚本检查端点:
SELECT @@SERVERNAME, 
	SSL_CertVerification 
FROM sys.dm_exec_connections 
CROSS APPLY sys.dm_exec_endpoint_url_enrichment (CONNECTION_ID()) 
WHERE protocol_desc = 'HTTP' 
AND net_transport IN ('Internet','InternetProxy') 
AND endpoint_url like '%s3.amazonaws.%';

检查此脚本的结果是否包含Bucket的正确Endpoint。

  1. 检查是否启用了S3 VPC Endpoint。S3的VPC Endpoint的目的是使通过VPC的实例可以更快地访问S3,同时仅在VPC中传输数据。这可以防止数据在Internet中传输时被拦截。如需启用,只需将S3 VPC Endpoint添加到VPC中即可。

  2. 最后,确保您的AWS SDK和SQL Server的版本兼容。如果使用的是更旧的AWS SDK,则无法访问S3 V4签名,这可能导致无法连接到S3。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...