如何使用本地凭据将 MSSQL 备份到 NAS 存储

如何使用本地凭据将 MSSQL 备份到 NAS 存储

我有带本地凭据身份验证的 Synology NAS。如何从 MSSQL 创建备份到此类共享?我唯一的选择是使用用户名/密码组合进行身份验证,因为 Synology UI 不允许添加任何其他内容。

答案1

如果使用 powershell 安排任务是一种选择,你可以使用以下脚本编写数据库工具

使用以下方式将共享挂载为驱动器:净使用量并使用 dbatools 命令备份Dba数据库备份至该驱动器。

您甚至可以通过创建Powershell 类型步骤在工作中。

我猜甚至可以将凭据添加到凭据管理器并直接备份到 UNC 路径而无需先挂载。

使用默认工具备份到网络驱动器(不推荐)

您需要在备份操作之前执行此操作。另外:我从未用过它来执行常规备份。但偶尔使用时效果很好。

来源:使网络路径在 SSMS 中对 SQL Server 备份和还原可见

激活 xp-cmdshell

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO

连接驱动器

微软 SQL 2008

EXEC XP_CMDSHELL 'net use /user:[Domain]\[Username] H: \\RemoteServerName\ShareName [Password]'

MSSQL 2012 +

EXEC XP_CMDSHELL 'net use H: \\RemoteServerName\ShareName'

删除驱动器

EXEC XP_CMDSHELL 'net use H: /delete'

答案2

在本地系统下运行 mssql 时我认为没有直接的方法。

您可以

  • 在用户帐户中运行 mssql(通过服务配置)您已提供并永久存储的登录凭据或
  • 你可以准备备份net use \\nasname\sharename /user:username到本地目录,然后使用附加批处理作业(任务调度程序或类似程序)以及批处理中的明确用户登录(与先前net use \\nasname\sharename /user:username /savecred的同一用户登录)将其复制或移动到 NAS 。

我更喜欢后者,其好处是当 NAS 身份验证失败时备份仍可运行。

相关内容