我有一个在本地SQL Server实例上运行的数据库。我已经设置了一个SQL代理来每晚备份数据库并将其存储在Azure的容器中。但是,作业运行后,我看到以下错误:
Message
Executed as user: NT SERVICE\SQLSERVERAGENT. Cannot open backup device 'https://mystorageaccount.blob.core.windows.net/mystoragecontainer/20200102/MYDATABASE_0.bak'. Operating system error 50(The request is not supported.). [SQLSTATE 42000] (Error 3201) BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013)
Azure存储帐户是“存储”(通用v1)。
SQL Server 13.0.5233.0 Microsoft SQL Server管理Studio 14.0.17213.0 Microsoft Analysis Services客户端工具14.0.1016.232 Microsoft数据访问组件(MDAC)10.0.14393.0 Microsoft MSXML 3.0 6.0 Microsoft Internet Explorer 9.11.14393.0 Microsoft .NET Framework 4.0.30319.42000操作系统6.3.14393
有没有一种方法可以配置NT SERVICE \ SQLSERVERAGENT连接到Azure存储容器?
所有评论在一定程度上都是有效的。最后,我修复了使用SAS(共享访问签名)凭据将SQL Server数据库备份到Azure存储容器(松散地使用的术语)的情况。
IF NOT EXISTS
(SELECT * FROM sys.credentials
WHERE name = 'https://mystorageaccount.blob.core.windows.net/mycontainer')
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/mycontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=_my_sas_key_without_?';
BACKUP DATABASE [mydatabase]
TO URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/mydatabase_03012020120400.bak'
WITH FORMAT,
COMPRESSION,
STATS=5,
BLOCKSIZE=65536,
MAXTRANSFERSIZE=4194304;
GO
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句