備份數據庫
在下面的示例sqlcmd連接到本地 SQL Server 實例,並采用完整備份的名為的用戶數據庫demodb
。
sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
備份事務日志
如果你的數據庫處於完整恢復模式,您還可以更精細的還原選項的事務日志備份。 在以下示例中, sqlcmd連接到本地 SQL Server 實例,並將事務日志備份。
bash
sqlcmd -S localhost -U SA -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"
還原數據庫
在下面的示例sqlcmd連接到 SQL Server 的本地實例,並將 demodb 數據庫還原。 請注意,NORECOVERY
選項用於允許其他的日志文件備份還原。 如果不打算還原其他日志文件,刪除NORECOVERY
選項。
bash
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"
提示
如果你意外地使用 NORECOVERY,但不是具有額外的日志文件備份,運行命令RESTORE DATABASE demodb
不帶任何其他參數。 這完成還原並保持您的數據庫操作狀態。
還原事務日志
以下命令將還原以前的事務日志備份。
sqlcmd -S localhost -U SA -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"