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

이 항목 적용 대상: 예SQL Server (Linux 전용)없음Azure SQL Database없음Azure SQL Data Warehouse없음 병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

다른 플랫폼 것과 동일한 도구를 사용 하 여 Linux의 SQL Server 2017에서 데이터베이스의 백업을 수행할 수 있습니다.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 finishes the restore and leaves 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를 시작 하 고 Linux의 SQL Server 2017에서 서버에 연결 합니다.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