Open dkozlowski569 opened 2 years ago
I would assume so. I haven't scripted it but I do it manually with the following:
ALTER DATABASE "THE_DB" SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE "THE_DB" FROM DISK = 'some\path\to\my.bak' WITH REPLACE,STATS=1
ALTER DATABASE "TH_DB" SET ONLINE
You can run this query to see the restore progress
SELECT
session_id as SPID, command, a.text AS Query, start_time, percent_complete,
dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
If you take a look at mssql-cli -h
the -i
or --input_file
parameters should let you pass in a script.
RESTORE FROM DISK runs into server, so if the mssql-cli connection is from remote I think this doesn't work
Can MSQL-CLI be used to automate the restore of a DB ?