Mencadangkan dan memulihkan database SQL Server di Linux

Berlaku untuk:SQL Server - Linux

Anda dapat mengambil cadangan database dari SQL Server di Linux dengan berbagai opsi. Di server Linux, Anda dapat menggunakan sqlcmd untuk terhubung ke SQL Server dan mengambil cadangan. Dari Windows, Anda dapat terhubung ke SQL Server di Linux dan mengambil cadangan dengan antarmuka pengguna. Fungsionalitas pencadangan sama di seluruh platform. Misalnya, Anda dapat mencadangkan database secara lokal, ke drive jarak jauh, atau ke Microsoft Azure Blob Storage.

Penting

SQL Server di Linux hanya mendukung pencadangan ke penyimpanan Azure Blob menggunakan blob blok. Menggunakan kunci penyimpanan untuk pencadangan dan pemulihan akan mengakibatkan blog halaman digunakan, yang tidak didukung. Gunakan Tanda Tangan Akses Bersama sebagai gantinya. Untuk informasi tentang blog blok versus blog halaman, lihat Pencadangan untuk memblokir blob vs. blob halaman.

Mencadangkan database

Dalam contoh berikut sqlcmd terhubung ke instans SQL Server lokal dan mengambil cadangan penuh database pengguna yang disebut 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"

Saat Anda menjalankan perintah, SQL Server akan meminta kata sandi. Setelah Anda memasukkan kata sandi, shell akan mengembalikan hasil kemajuan cadangan. Contohnya:

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).

Mencadangkan log transaksi

Jika database Anda berada dalam model pemulihan penuh, Anda juga dapat membuat cadangan log transaksi untuk opsi pemulihan yang lebih terperinci. Dalam contoh berikut, sqlcmd terhubung ke instans SQL Server lokal dan mengambil cadangan log transaksi.

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"

Memulihkan database

Dalam contoh berikut sqlcmd tersambung ke instans lokal SQL Server dan memulihkan database demodb. Opsi NORECOVERY ini digunakan untuk memungkinkan pemulihan tambahan cadangan file log. Jika Anda tidak berencana memulihkan file log tambahan, hapus NORECOVERY opsi .

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"

Tip

Jika Anda tidak sengaja menggunakan NORECOVERY tetapi tidak memiliki cadangan file log tambahan, jalankan perintah RESTORE DATABASE demodb tanpa parameter tambahan. Ini menyelesaikan pemulihan dan meninggalkan operasional database Anda.

Memulihkan log transaksi

Perintah berikut memulihkan cadangan log transaksi sebelumnya.

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

Pencadangan dan pemulihan dengan SQL Server Management Studio (SSMS)

Anda dapat menggunakan SSMS dari komputer Windows untuk menyambungkan ke database Linux dan mengambil cadangan melalui antarmuka pengguna.

Catatan

Gunakan versi terbaru SSMS untuk menyambungkan ke SQL Server. Untuk mengunduh dan menginstal versi terbaru, lihat Mengunduh SSMS. Untuk informasi selengkapnya tentang cara menggunakan SSMS, lihat Menggunakan SQL Server untuk Mengelola SQL Server di Linux.

Langkah-langkah berikut menelusuri pengambilan cadangan dengan SSMS.

  1. Mulai SSMS dan sambungkan ke SQL Server Anda di instans Linux.

  2. Di Object Explorer, klik kanan pada database Anda, pilih Tugas, lalu pilih Cadangkan....

  3. Dalam dialog Pencadangan Database, verifikasi parameter dan opsi, dan pilih OK.

SQL Server menyelesaikan pencadangan database.

Memulihkan dengan SQL Server Management Studio (SSMS)

Langkah-langkah berikut memandikan Anda memulihkan database dengan SQL Server Management Directory.

  1. Di SQL Server Management Studio klik kanan Database dan pilih Pulihkan Database....

  2. Di bawah Sumber, pilih Perangkat: lalu pilih elipsis (...).

  3. Temukan file cadangan database Anda dan pilih OK.

  4. Di bawah Rencana pemulihan, verifikasi file dan pengaturan cadangan. Pilih OK.

  5. SQL Server memulihkan database.

Berkontribusi pada dokumentasi SQL

Tahukah Anda bahwa Anda dapat mengedit konten SQL sendiri? Jika Anda melakukannya, Anda tidak hanya membantu meningkatkan dokumentasi kami, tetapi Anda juga dikreditkan sebagai kontributor ke halaman.

Untuk informasi selengkapnya, lihat Cara berkontribusi pada dokumentasi SQL Server