如何触发从客户端计算机到服务器计算机的 SQL 服务器数据库还原查询

How to trigger the SQL Server database restore query from client machine to the server machine

我的服务器上有一个备份 .bak 文件,我正在使用包含

的 SQL 脚本恢复它
Declare @dbname varchar(20)
Set @dbname = 'abc'

Declare @dbpath varchar(100)
set @dbpath = 'db_Path\abc.bak' ;  

RESTORE DATABASE @dbname
FROM DISK = @dbpath

现在我想自动执行我为其创建了批处理文件的脚本。

我需要从客户端计算机恢复服务器计算机上的数据库。

有什么办法吗?

或者我可以从客户端计算机在服务器计算机上执行批处理文件吗?

基本上我需要使用任务计划程序从我的客户端计算机恢复我在服务器计算机上的数据库,.bak 将在服务器计算机上可用。 SQL客户端计算机上未安装服务器。

如果您的脚本运行在服务器中正常,即

sqlcmd -i "restoring_script.cmd" 

您可以创建服务器计划任务

schtasks /create /SC ONCE /ST "00:00" /RL HIGHEST /TR "script_to_run" /S "server" /U "user" /P "p@ssword" /TN "task_name" /F 

并从客户端执行

schtasks /run /S "server" /U "user" /P "p@ssword" /I /TN "task_name"

schtasks /create /?
schtasks /run /?

了解更多详情

另外,您可以在客户端系统中安装sql命令行工具。您需要三个包裹

SqlCmdLnUtils.msi (x86 or x64)
sqlncli.msi (x86 or x64)
SQLSysClrTypes.msi (x86 or x64)

SQL version 2012 SP1下载命令行工具SQL version 2008R2 SP1

和运行客户端对服务器的查询

另见 sqlcmd utility