備份和還原 Linux 上的 SQL Server 數據庫


備份數據庫

在下面的示例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'"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM