日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server in Docker - 还原数据库

發(fā)布時間:2023/12/4 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server in Docker - 还原数据库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQL Server in Docker 還原數(shù)據(jù)庫

上一回演示了如果在Docker環(huán)境下安裝SQL Server(使用Docker運行SQL Server),這次我們來演示下如何還原一個數(shù)據(jù)庫備份文件到數(shù)據(jù)庫實例上。

使用winscp上傳bak文件到linux服務(wù)器

上一回我們啟動docker容器的時候使用了-v參數(shù)掛賬了本地目錄/hd2/sqlserver2019_data到容器內(nèi)目錄/var/opt/mssql,所以我們只需要把文件testdb.bak上傳到/hd2/sqlserver2019_data目錄,docker容器即可訪問。

我使用了下Sql Server Management Studio的還原功能試了下,沒有成功,不知是不是SSMS版本的問題。既然SSMS不能還原,那就使用命令行來試試吧。

使用docker exec命令在容器內(nèi)執(zhí)行命令

因為SQL Server安裝在Docker容器內(nèi),所以執(zhí)行命令行都需要進(jìn)入到容器內(nèi)。

sudo docker exec -it sqlserver2019 /bin/bash


接下來的命令全部在sqlserver2019容器內(nèi)執(zhí)行。

使用RESTORE FILELISTONLY命令列出備份數(shù)據(jù)文件的邏輯名

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/testdb.bak"' | tr -s ' ' | cut -d ' ' -f 1-2


使用該命令可以把數(shù)據(jù)庫的數(shù)據(jù)文件,日志文件名稱顯示出來。在接下來的恢復(fù)操作中有用。

使用RESTORE DATABASE命令還原數(shù)據(jù)庫

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE DATABASE testdb FROM DISK = "/var/opt/mssql/testdb.bak" WITH MOVE "testdb" TO "/var/opt/mssql/data/testdb.mdf" , MOVE "testdb_log" TO "/var/opt/mssql/data/testdb.ldf"'



看到RESTORE DATABASE successfully的時候表示數(shù)據(jù)庫還原成功了。讓我們使用SSMS看看數(shù)據(jù)庫是否真的還原成功了。

可以看到數(shù)據(jù)庫已經(jīng)還原上去,里面的表,數(shù)據(jù)都可以正常操作。至此,數(shù)據(jù)庫文件還原成功。

總結(jié)

以上是生活随笔為你收集整理的SQL Server in Docker - 还原数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。