Bagikan melalui


Mencadangkan dan memulihkan database SQL Server di Linux

Berlaku untuk:SQL Server di 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 penyimpanan jarak jauh, atau ke cadangan URL SQL Server untuk Microsoft Azure Blob Storage.

Penting

SQL Server di Linux hanya mendukung backup ke penyimpanan Azure Blob menggunakan blok blob. Menggunakan kunci penyimpanan untuk backup dan pemulihan akan mengakibatkan penggunaan halaman blog, yang tidak didukung. Gunakan Tanda Tangan Akses Bersama sebagai gantinya. Untuk informasi mengenai perbedaan antara blok blob dan halaman blob, lihat Pencadangan ke blok blob vs. halaman blob.

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 meminta kata sandi. Setelah Anda memasukkan kata sandi, shell akan menampilkan hasil dari proses 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"

Kiat

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 membuat database Anda berfungsi.

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 SQL Server Management Studio (SSMS) dari komputer Windows untuk menyambungkan ke database Linux dan mengambil cadangan melalui antarmuka pengguna.

Catatan

Instal versi terbaru SQL Server Management Studio (SSMS). Untuk informasi selengkapnya tentang cara menggunakan SQL Server Management Studio, lihat Menggunakan SQL Server Management Studio di Windows untuk mengelola SQL Server di Linux.

Langkah-langkah berikut panduan untuk membuat 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 cadangan basis data.

Memulihkan dengan SQL Server Management Studio (SSMS)

Langkah-langkah berikut memandu Anda untuk memulihkan database dengan SQL Server Management Studio.

  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 Mengedit dokumentasi Microsoft Learn.