Linux'ta SQL Server veritabanlarını yedekleme ve geri yükleme

Şunlar için geçerlidir:Linux üzerinde SQL Server

Linux'ta SQL Server veritabanlarını birçok şekilde yedekleyebilirsiniz. Linux sunucusunda SQL Server'a bağlanmak ve veritabanlarını yedeklemek için kullanılabilirsqlcmd. Windows'tan Linux üzerinde SQL Server'a bağlanabilir ve kullanıcı arayüzüyle veritabanlarını yedekleyebilirsiniz. Yedekleme işlevi platformlar arasında aynıdır. Örneğin, veritabanlarını yerel olarak, uzak sürücülere veya SQL Server'a yedekleme yaparak Azure Blob Depolama için URL'ye yedekleme yapabilirsiniz.

Important

Linux üzerinde SQL Server sadece blok bloblarla Azure Blob Depolama'e yedeklemeyi destekler. Yedeklik ve geri yükleme için depolama anahtarı kullanmak bir sayfa blob'u kullanıyor ki bu desteklenmiyor. Bunun yerine paylaşılan erişim imzası (SAS) kullanın. Blok blobları ile sayfa blobları arasındaki farklar hakkında bilgi için Blok blobuna karşı sayfa blobuna yedekleme başlığına bakın.

Veritabanını yedekleme

Aşağıdaki örnekte, sqlcmd yerel SQL Server örneğine bağlanır ve adlı demodbbir kullanıcı veritabanının tam yedeğini alır.

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"

Komutunu çalıştırdığınızda, SQL Server parola ister. Şifreyi girdikten sonra, shell yedekleme ilerlemesinin sonuçlarını döndürür. Örneğin:

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

İşlem günlüğünü yedekleme

Veritabanınız tam kurtarma modelindeyse, işlem günlüğünü de yedeklemek için daha ayrıntılı geri yükleme seçenekleri yapabilirsiniz. Aşağıdaki örnekte, sqlcmd yerel SQL Server örneğine bağlanır ve bir işlem günlüğü yedeği alır.

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"

Veritabanını geri yükleme

Aşağıdaki örnekte, sqlcmd SQL Server yerel örneğine bağlanır ve demodb veritabanını geri yükler. Bu NORECOVERY seçenek, günlük dosyalarının ek olarak geri yüklenmesine olanak tanır. Ek günlük dosyalarını geri yüklemeyi planlamıyorsanız NORECOVERY seçeneğini kaldırın.

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

Yanlışlıkla NORECOVERY kullanırsanız ama ek log dosyası yedekleriniz yoksa komutu RESTORE DATABASE demodb ek parametre olmadan çalıştırın. Bu komut geri yüklemeyi bitirir ve veritabanınızı çalışır hale getirir.

İşlem günlüğünü geri yükleme

Aşağıdaki komut, önceki işlem günlüğü yedeklemesini geri yükler.

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

SQL Server Management Studio (SSMS) ile yedekleme ve geri yükleme

Windows Yönetimi Studio'dan SQL Server Management Studio (SSMS) kullanarak Linux veritabanına bağlanabilir ve kullanıcı arayüzü üzerinden yedek alabilirsiniz.

Note

SQL Server Management Studio'nun (SSMS) en son sürümünü yükleyin. SSMS'yi kullanma hakkında daha fazla bilgi için bkz. Linux üzerinde SQL Server'ı yönetmek için Windows üzerinde SQL Server Management Studio kullanma.

Aşağıdaki adımlar, SSMS ile yedek alma sürecini adım adım açıklar.

  1. SSMS'yi başlatın ve Linux üzerinde SQL Server örneğine bağlanın.

  2. Nesne Gezgini'da veritabanınıza sağ tıklayın, Görevler'i seçin ve ardından Yedekleme...'yi seçin.

  3. Yedek Veritabanı diyalogunda parametreleri ve seçenekleri doğrulayın ve OK seçin.

SQL Server veritabanı yedeklemesini tamamlar.

SQL Server Management Studio (SSMS) ile geri yükleme

Aşağıdaki adımlar SSMS ile veritabanını geri yükleme işleminde size yol gösterir.

  1. SSMS'de, Veritabanları'na sağ tıklayın ve Veritabanlarını Restore et...'i seçin.

  2. Kaynak altında Cihaz: seçin ve ardından üç noktayı (...) seçin.

  3. Veritabanı yedekleme dosyanızı bulun ve tamam seçin.

  4. Planı geri yükle'nin altında yedekleme dosyasını ve ayarlarını doğrulayın. Tamam'ı seçin.

  5. SQL Server veritabanını geri yükler.

SQL belgelerine katkıda bulunma

SQL içeriğini kendiniz düzenleyebildiğinizi biliyor muydunuz? Bunu yaparsanız, belgelerimizin geliştirilmesine yardımcı olmakla kalmaz, aynı zamanda sayfaya katkıda bulunan olarak da kabul edilirsiniz.

Daha fazla bilgi için Bkz. Microsoft Learn belgelerini düzenleme.