Linux에서 SQL Server 데이터베이스 백업 및 복원Backup and restore SQL Server databases on Linux

이 항목 적용 대상: 예(Linux에만 해당) SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스없는병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

다른 플랫폼으로 같은 도구를 사용 SQL Server 2017 linux에서 데이터베이스의 백업을 수행할 수 있습니다.You can take backups of databases from SQL Server 2017 on Linux with the same tools as other platforms. Linux 서버에서 사용할 수 있습니다 sqlcmd SQL Server에 연결 하 고 백업을 수행 합니다.On a Linux server, you can use sqlcmd to connect to the SQL Server and take backups. Windows에서는 Linux에서 SQL Server에 연결할 수 있으며 사용자 인터페이스와 백업을 수행할 수 있습니다.From Windows, you can connect to SQL Server on Linux and take backups with the user interface. 백업 기능은 플랫폼에서 동일 합니다.The backup functionality is the same across platforms. 로컬, 원격 드라이브 또는 데이터베이스를 백업할 수 예를 들어 Microsoft Azure Blob 저장소 서비스합니다.For example, you can backup databases locally, to remote drives, or to Microsoft Azure Blob storage service.

데이터베이스 백업Backup a database

다음 예에서 sqlcmd 로컬 SQL Server 인스턴스에 연결 하 고 전체 라는 사용자 데이터베이스의 백업을 가져갑니다 demodb합니다.In the following example sqlcmd connects to the local SQL Server instance and takes a full backup of a user database called 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"

명령을 실행 하면 SQL Server 암호를 입력 합니다.When you run the command, SQL Server will prompt for a password. 암호를 입력 한 후 셸 백업 진행률 결과 반환 합니다.After you enter the password, the shell will return the results of the backup progress. 예를 들어For example:

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

트랜잭션 로그 백업Backup the transaction log

데이터베이스를 전체 복구 모델에 있으면, 보다 세부적인 복원 옵션에 대 한 트랜잭션 로그 백업도 만들 수 있습니다.If your database is in the full recovery model, you can also make transaction log backups for more granular restore options. 다음 예에서 sqlcmd 로컬 SQL Server 인스턴스에 연결 하 고 트랜잭션 로그 백업입니다.In the following example, sqlcmd connects to the local SQL Server instance and takes a transaction log backup.

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"

데이터베이스 복원Restore a database

다음 예에서 sqlcmd SQL Server의 로컬 인스턴스에 연결 하 고 demodb 데이터베이스를 복원 합니다.In the following example sqlcmd connects to the local instance of SQL Server and restores the demodb database. NORECOVERY 옵션이를 로그 파일 백업을 복원할 때는 추가 허용 하는 데 사용 됩니다.Note that the NORECOVERY option is used to allow for additional restores of log file backups. 추가 로그 파일을 복원 하지 않을 경우 제거 된 NORECOVERY 옵션입니다.If you do not plan to restore additional log files, remove the NORECOVERY option.

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 매개 변수 없이 추가 합니다.If you accidentally use NORECOVERY but do not have additional log file backups, run the command RESTORE DATABASE demodb with no additional parameters. 복원이 완료 되 고 데이터베이스 작동 유지 합니다.This will finish the restore and leave your database operational.

트랜잭션 로그 복원Restore the transaction log

다음 명령은 이전 트랜잭션 로그 백업을 복원합니다.The following command restores the previous transaction log backup.

sqlcmd -S localhost -U SA -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

SQL Server Management Studio (SSMS)를 사용한 백업 및 복원Backup and Restore with SQL Server Management Studio (SSMS)

Linux 데이터베이스에 연결 하 고 사용자 인터페이스를 통해 백업을 수행 하려면 Windows 컴퓨터에서 SSMS를 사용할 수 있습니다.You can use SSMS from a Windows computer to connect to a Linux database and take a backup through the user-interface.

참고

최신 버전의 SSMS 사용 하 여 SQL Server에 연결 합니다.Use the latest version of SSMS to connect to SQL Server. 참조를 다운로드 하 여 최신 버전을 설치 하려면 SSMS 다운로드합니다.To download and install the latest version, see Download SSMS. SSMS를 사용 하는 방법에 대 한 자세한 내용은 참조 하십시오. Linux에서 SQL Server 관리를 사용 하 여 SSMS합니다.For more information on how to use SSMS, see Use SSMS to Manage SQL Server on Linux.

다음 단계 SSMS 사용 하 여 백업을 수행 하는 과정을 안내 합니다.The following steps walk through taking a backup with SSMS.

  1. SSMS를 시작 하 고 SQL Server 2017 linux에 서버에 연결 합니다.Start SSMS and connect to your server in SQL Server 2017 on Linux.

  2. 개체 탐색기에서 마우스 오른쪽 단추로 클릭 하면 데이터베이스를 클릭 작업, 클릭 하 고 백업... .In Object Explorer, right-click on your database, Click Tasks, and then click Back Up....

  3. 데이터베이스 백업 대화 상자에서 매개 변수 및 옵션을 확인 하 고 클릭 확인합니다.In the Backup Up Database dialog, verify the parameters and options, and click OK.

SQL Server 데이터베이스 백업을 완료합니다.SQL Server completes the database backup.

SQL Server Management Studio (SSMS)를 사용 하 여 복원Restore with SQL Server Management Studio (SSMS)

다음 단계 과정을 단계별로 SSMS 사용 하 여 데이터베이스를 복원 합니다.The following steps walk you through restoring a database with SSMS.

  1. SSMS에서 마우스 오른쪽 단추로 클릭 데이터베이스 클릭 데이터베이스 복원... .In SSMS right-click Databases and click Restore Databases....

  2. 아래 소스 클릭 장치: 한 다음 줄임표 (...)를 클릭 합니다.Under Source click Device: and then click the ellipses (...).

  3. 데이터베이스 백업 파일을 찾아 클릭 확인합니다.Locate your database backup file and click OK.

  4. 아래 복원 계획, 백업 파일 및 설정을 확인 합니다.Under Restore plan, verify the backup file and settings. 확인을 클릭합니다.Click OK.

  5. SQL Server 데이터베이스를 복원합니다.SQL Server restores the database.

참고 항목See also