2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SqlServerにmdf,ldfファイルをリストアする(on Docker)

Posted at

はじめに

  • Docker 上で SqlServer を立ててそこにリストアする手順

環境

  • macOS BigSur

前提

  • Docker for Mac インストール済み
  • ldf ファイルを持っている(sample_log.ldf)
  • mdf ファイルを持っている(sample.mdf)

手順

SqlServerを立てる

  1. コンテナー イメージをプルして実行する

      sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  2. コンテナー イメージの実行

       sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2019-latest
    
    • docker ps -aで起動が確認できれば OK

データベースを復元する

  1. バックアップ ファイルをコンテナーにコピーする

    • バックアップファイルが置いてあるディレクトリに移動
      docker exec -it sql1 mkdir /var/opt/mssql/backup
      docker cp RH25_JP.mdf sql1:/var/opt/mssql/backup
      docker cp RH25_JP_log.ldf sql1:/var/opt/mssql/backup
    
  2. SQL を発行する

    • DBに入る
      docker exec -it sql1 bash
      /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourStrong!Passw0rd>"
    
    • SQL発行
         1> CREATE DATABASE MyDatabase3 ON (FILENAME='/var/opt/mssql/backup/RH25_JP.mdf'),(FILENAME='/var/opt/mssql/backup/RH25_JP_log.ldf') FOR ATTACH
         2> go
         1>
    

復元した DB を確認

  • DBeaver などの DB ツールで接続する
  • ユーザ名:SA
  • パスワード:<YourStrong!Passw0rd>
  • address:localhost
  • port: 1401
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?