Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Bu makalede, Azure Blob Depolama'yı yedekleme hedefi olarak kullanmak için gereken kavramlar, gereksinimler ve bileşenler açıklanır. Yedekleme ve geri yükleme işlevi, DISK veya TAPE kullanırkenkiyle aynı ya da benzerdir, ancak birkaç fark vardır. Bu farklılıklar ve birkaç kod örneği bu makalede yer alır.
Tip
SQL Server 2025 (17.x) ile başlayarak yönetilen kimlikle URL'ye yedekleme yapabilirsiniz. Yönetilen kimlik ile URL'ye yedekleme (önizleme) - Azure Arc tarafından etkinleştirilen SQL Server'ı gözden geçirin.
Overview
SQL Server 2012 Service Pack 1 CU2 ve SQL Server 2014, Azure Blob Depolama'ya güvenli bir şekilde yedekleme yazmak için tanıdık T-SQL söz dizimini kullanarak Azure Blob Depolama'ya işaret eden bir URL'ye yedekleme özelliği sunar. SQL Server 2016 (13.x), Azure Depolama güvenlik ilkesinde sertifikaların kimliğini doğrulamanın güvenli ve basit bir yolu olan paylaşılan erişim imzası (SAS) anahtarları aracılığıyla Azure'da Veritabanı Dosyaları ve güvenlik içinFile-Snapshot Yedeklemeleri'ni kullanıma sunar.
Azure Blob Depolama'ya yedekleme veya geri yükleme gerçekleştirmek için bileşenleri ve aralarındaki etkileşimi anlamak önemlidir.
Azure aboneliğinizin içinde bir Azure Depolama hesabı oluşturmak, bu işlemin ilk adımıdır. Bu depolama hesabı, depolama hesabıyla oluşturulan tüm kapsayıcılar ve nesneler üzerinde tam yönetim izinlerine sahip bir yönetim hesabıdır. SQL Server, Azure Blob Depolama'da blobların kimliğini doğrulamak ve yazmak ve okumak için Azure depolama hesabı adını ve erişim anahtarı değerini kullanabilir ya da belirli kapsayıcılarda oluşturulan ve okuma ve yazma hakları veren Paylaşılan Erişim İmzası belirtecini kullanabilir. Azure Depolama Hesapları hakkında daha fazla bilgi için bkz. Azure Depolama Hesapları Hakkında ve Paylaşılan Erişim İmzaları hakkında daha fazla bilgi için bkz. Paylaşılan Erişim İmzaları, Bölüm 1: SAS Modelini Anlama. SQL Server Kimlik Bilgisi bu kimlik doğrulama bilgilerini depolar ve yedekleme veya geri yükleme işlemleri sırasında kullanılır.
Azure Depolama ve S3 uyumlu depolama
SQL Server 2022 (16.x), yedekleme cihazı türü olarak Azure Blob Depolama kullanarak URL'ye yedekleme ile çalışmaya kavramsal olarak benzer bir yedekleme ve geri yükleme işleviyle S3 uyumlu nesne depolama alanına yedekleme yazma özelliğini tanıtır. SQL Server 2022 (16.x), REST API kullanarak yeni bir S3 bağlayıcısı için destek ekleyerek söz dizimini genişletirBACKUP/RESTORE TO/FROM URL.
Bu makale, Azure Blob Depolama için URL'ye Yedekleme'yi kullanma hakkında bilgi içerir. S3 uyumlu depolama için URL'ye Yedekleme'yi kullanma hakkında daha fazla bilgi edinmek için bkz. SQL Server, S3 uyumlu nesne depolama için URL'ye yedekleme.
Azure Depolama blok blobu veya sayfa blobuna yedekleme karşılaştırması
Azure Blob Depolama'da depolanabilen iki tür blob vardır: blok ve sayfa blobları. SQL Server 2016 ve üzeri için blok blobu tercih edilir.
Depolama anahtarı kimlik bilgileri içinde kullanılıyorsa sayfa blobu kullanılır; Paylaşılan Erişim İmzası kullanılırsa blok blobu kullanılır.
Blok blobu yedeklemesi yalnızca SQL Server 2016 veya sonraki sürümlerde Azure Blob Depolama'ya yedekleme için kullanılabilir. SQL Server 2016 veya üzerini çalıştırıyorsanız, yedekleme işlemini sayfa blobu yerine blok blobda gerçekleştirin.
Başlıca nedenler şunlardır:
- Paylaşılan Erişim İmzası, depolama anahtarına kıyasla blob erişimini yetkilendirmenin daha güvenli bir yoludur.
- Daha iyi yedekleme ve geri yükleme performansı elde etmek ve daha büyük veritabanı yedeklemesini desteklemek için birden çok blok blobu yedekleyebilirsiniz.
- Blok blobu, sayfa blobundan daha ucuzdur.
- Bir ara sunucu aracılığıyla page blob'larına yedekleme yapması gereken müşterilerin
backuptourl.exekullanmaları gerekir.
Büyük bir veritabanının Azure Blob Depolama'ya yedek alınması, Azure SQL Yönetilen Örneği T-SQL farklılıkları, sınırlamaları ve bilinen sorunlarda listelenen sınırlamalara tabidir.
Veritabanı çok büyükse:
- Yedekleme sıkıştırması kullanın veya
- Birden çok blok bloba yedekleme
Azure Arc ile etkinleştirilen Linux, kapsayıcılar ve SQL Managed Instance desteği
SQL Server örneği Linux üzerinde barındırılıyorsa, örneğin:
- Tek başına işletim sistemi
- Containers
- SQL Yönetilen Örneği Azure Arc tarafından etkinleştirildi
- Diğer Linux tabanlı ortamlar
Azure Blob Depolama için URL'ye desteklenen tek yedekleme, Paylaşılan Erişim İmzası'nı kullanarak blobları engellemektir.
Azure Blob Saklama Alanı
Depolama Hesabı: Depolama hesabı, tüm depolama hizmetlerinin başlangıç noktasıdır. Azure Blob Depolama'ya erişmek için önce bir Azure depolama hesabı oluşturun. Daha fazla bilgi için bkz . Depolama Hesabı Oluşturma
Konteyner: Kapsayıcı, bir dizi blobu gruplandırır ve sınırsız sayıda blob depolayabilir. Azure Blob Depolama'ya SQL Server yedeklemesi yazmak için en azından kök kapsayıcının oluşturulmuş olması gerekir. Bir kapsayıcıda Paylaşılan Erişim İmzası belirteci oluşturabilir ve yalnızca belirli bir kapsayıcıdaki nesnelere erişim vekleyebilirsiniz.
Blob: Herhangi bir türde ve boyutta bir dosya. Azure Blob Depolama'da depolanabilen iki tür blob vardır: blok ve sayfa blobları. SQL Server yedeklemesi, kullanılan Transact-SQL söz dizimine bağlı olarak blob türünden birini kullanabilir. Bloblar şu URL biçimi kullanılarak adreslenebilir: https://< storage account.blob.core.windows.net/>< container>/<blob>. Azure Blob Depolama hakkında daha fazla bilgi için bkz. Azure Blob Depolama'ya giriş. Sayfa ve blok blobları hakkında daha fazla bilgi için bkz. Blok ve Sayfa Bloblarını Anlama.
Azure Anlık Görüntüsü: Belirli bir noktada alınan bir Azure blobunun anlık görüntüsü. Daha fazla bilgi için bkz. Blobun Anlık Görüntüsünü Oluşturma. SQL Server yedeklemesi artık Azure Blob Depolama'da depolanan veritabanı dosyalarının Azure anlık görüntü yedeklemelerini destekliyor. Daha fazla bilgi için bkz. File-Snapshot Azure'daki Veritabanı Dosyaları İçin Yedeklemeler.
SQL Server bileşenleri
URL: URL, benzersiz bir yedekleme dosyasının Tekdüzen Kaynak Tanımlayıcısını (URI) belirtir. URL, SQL Server yedekleme dosyasının konumunu ve adını sağlamak için kullanılır. URL yalnızca bir kapsayıcıya değil gerçek bir bloba işaret etmelidir. Eğer blob mevcut değilse, oluşturalır. Mevcut bir blob belirtilirse, BACKUP blobdaki mevcut yedekleme dosyasının WITH FORMAT üzerine yazma seçeneği belirtilmediği sürece başarısız olur.
Aşağıda örnek bir URL değeri verilmişti: https://ACCOUNTNAME.blob.core.windows.net/<CONTAINER>/FILENAME.bak.
Note
HTTP kullanarak URL'ye yedekleme desteklenmez.
Kimlik bilgisi: SQL Server kimlik bilgileri, SQL Server dışındaki bir kaynağa bağlanmak için gereken kimlik doğrulama bilgilerini depolamak için kullanılan bir nesnedir. Burada SQL Server yedekleme ve geri yükleme işlemleri, Azure Blob Depolama ile kapsayıcı ve blob nesnelerinde kimlik doğrulaması yapmak için kimlik bilgilerini kullanır. Kimlik Bilgisi, depolama hesabının adını ve depolama hesabı erişim anahtarı değerlerini ya da kapsayıcı URL'sini ve Paylaşılan Erişim İmzası belirtecini depolar. Kimlik bilgisi oluşturulduktan sonra, deyimlerin BACKUP/RESTORE söz dizimi blob türünü ve gerekli kimlik bilgilerini belirler.
Paylaşılan Erişim İmzası oluşturma hakkında bir örnek için, bu makalenin devamında Paylaşılan Erişim İmzası örnekleri oluşturma bölümüne bakın ve SQL Server Kimlik Bilgisi oluşturmak için bu makalenin devamında yer alan Kimlik bilgisi örnekleri oluşturma bölümüne bakın.
Kimlik bilgileri hakkında daha fazla bilgi için bkz. Kimlik Bilgileri (Veritabanı Altyapısı).
Kimlik bilgilerinin kullanıldığı diğer örnekler hakkında bilgi için bkz. SQL Server Aracı Ara Sunucusu Oluşturma.
Azure sabit depolama desteği
SQL Server 2025 (17.x), fidye yazılımı saldırılarına karşı koruma sağlayan Azure sabit depolama desteği sunar. Sabit depolama alanına yazılan dosyalar değiştirilemezlik tarafından tanımlandığı gibi değiştirilemez veya silinemez.
Sql Server yedeklemeleri genellikle iki adımda oluşturulur. Başlangıçta, .bak yedekleme dosyası sıfırlarla oluşturulur ve ardından dosya verilerle güncelleştirilir. Sabit depolama alanında dosya değişikliğine, dosya yazıldıktan ve işlendikten sonra izin verilmediğinden, yedekleme işlemi artık sıfırlarla yedekleme dosyasını oluşturmak için ilk adımı atlar. Bunun yerine, blok bloblarına yazıldığında yedeklemenin tamamı tek adımda oluşturulur.
URL'ye SQL Server 2025 (17.x) yedeklemesiyle sabit depolama kullanmak için şu adımları izleyin:
Azure depolama kapsayıcınız için değişmezliği yapılandırın.
Veritabanınızı Azure depolama kapsayıcısına yedeklemek için BACKUP'ı sorun. Sabit depolama alanında seçeneğini kullanırsanız
WITH FORMATve aynı ada sahip bir yedekleme zaten varsa bir hata alırsınız ve yedekleme başarısız olur.BACKUP DATABASE [<Database>] TO URL = '<url>';
Azure Blob Depolama için güvenlik
Aşağıda, Azure Blob Depolama'ya yedekleme veya Azure Blob Depolama'dan geri yükleme sırasında güvenlikle ilgili dikkat edilmesi gerekenler ve gereksinimler yer alır.
Azure Blob Depolama için kapsayıcı oluştururken, erişimi özel olarak ayarlamanızı öneririz. Erişimin özel olarak ayarlanması, Azure hesabında kimlik doğrulaması yapmak için gerekli bilgileri sağlayabilen kullanıcılara veya hesaplara erişimi kısıtlar.
Important
SQL Server bir Azure hesabı adı ve erişim anahtarı kimlik doğrulaması veya Paylaşılan Erişim İmzası ve erişim belirtecinin SQL Server Kimlik Bilgileri'nde depolanmasını gerektirir. Bu bilgiler, yedekleme veya geri yükleme işlemleri gerçekleştirirken Azure hesabında kimlik doğrulaması yapmak için kullanılır.
Warning
Azure Depolama, depolama hesabı için Paylaşılan Anahtar yetkilendirmesini devre dışı bırakmayı destekler. Paylaşılan Anahtar yetkilendirmesi devre dışı bırakılırsa, SQL Server URL'ye Yedekleme çalışmaz.
BACKUPveyaRESTOREkomutlarını vermek için kullanılan kullanıcı hesabı, db_backup işleç veritabanı rolünde ve Herhangi bir kimlik bilgilerini değiştirme izinlerine sahip olmalıdır.
Azure Blob Depolama'ya yedekleme/geri yükleme sınırlamaları
SQL Server sayfa blobu kullanıldığında desteklenen en yüksek yedekleme boyutunu 1 TB ile sınırlıyor. Blok blobları kullanılarak desteklenen maksimum yedekleme boyutu yaklaşık 200 GB (50.000 blok * 4 MB
MAXTRANSFERSIZE) ile sınırlıdır. Blok blobları, çok daha büyük yedekleme boyutlarını desteklemek için şerit oluşturmayı destekler; sınır en fazla 64 URL'dir ve bu da aşağıdaki formülle sonuçlanır:64 stripes * 50,000 blocks * 4MB maxtransfersize = 12.8 TB.Important
Tek bir blok blobu tarafından desteklenen maksimum yedekleme boyutu 200 GB olsa da, SQL Server'ın daha küçük blok boyutlarında yazması mümkündür ve bu da TÜM yedekleme aktarilmeden önce SQL Server'ın 50.000 blok sınırına ulaşmasına neden olabilir. Özellikle fark veya sıkıştırılmamış yedeklemeler kullanıyorsanız blok sınırını önlemek için yedeklemeleri (200 GB'tan küçük olsalar bile) şeritleyin.
Transact-SQL, SMO, PowerShell cmdlet'lerini veya SQL Server Management Studio Yedekleme veya Geri Yükleme sihirbazını kullanarak yedekleme veya geri yükleme deyimleri oluşturabilirsiniz.
Bir Azure Depolama hesabına yedekleme yaparken, SQL Server yalnızca Paylaşılan Erişim İmzası (SAS) belirteçleri veya depolama hesabı anahtarlarıyla kimlik doğrulamasını destekler. Microsoft Entra ID (eski adıyla Azure Active Directory) ile kimlik doğrulaması da dahil olmak üzere diğer tüm kimlik doğrulama yöntemleri desteklenmez.
Mantıksal cihaz adı oluşturma desteklenmez. Bu nedenle SQL Server Management Studio kullanarak
sp_dumpdeviceveya aracılığıyla URL'yi yedekleme cihazı olarak eklemek desteklenmez.Mevcut yedekleme bloblarına ekleme desteklenmez. Mevcut bir blob üzerine yapılan yedeklemeler, yalnızca
WITH FORMATseçeneği kullanılarak yazılabilir. Ancak, dosya anlık görüntüsü yedeklemeleri kullanılırken (WITH FILE_SNAPSHOTbağımsız değişkeni kullanılarak), özgün dosya anlık görüntüsü yedeklemesiyle oluşturulmuş yetim dosya anlık görüntüsü bırakmamak içinWITH FORMATbağımsız değişkenine izin verilmez.Tek bir yedekleme işleminde birden çok bloba yedekleme yalnızca blok blobları kullanılarak ve SQL Kimlik Bilgileri için depolama hesabı anahtarı yerine Paylaşılan Erişim İmzası (SAS) belirteci kullanılarak desteklenir.
BLOCKSIZEBelirtme, sayfa blobları için desteklenmez.MAXTRANSFERSIZEBelirtme işlemi sayfa bloblarını desteklemez.Yedek kümesi seçeneklerini belirtme -
RETAINDAYSveEXPIREDATEdesteklenmemektedir.SQL Server'ın yedekleme cihazı adı için en fazla 259 karakter sınırı vardır. Belirtilen URL
BACKUP TO URLiçin kullanılan gerekli öğeler 36 karakter tüketir, bu durum hesap, kapsayıcı ve blob adları için toplam 223 karakter bırakır.SQL Server 2019 (15.x) ve önceki sürümlerin Paylaşılan Erişim İmzası (SAS) belirteçleri için 256 karakter sınırı vardır ve bu da kullanılabilecek belirteçlerin türünü sınırlar (örneğin, Kullanıcı Temsilcisi Anahtarı belirteçleri desteklenmez).
Sunucunuz bir ara sunucu aracılığıyla Azure'a erişiyorsa, izleme bayrağı 1819'ı kullanmanız ve ardından aşağıdaki yöntemlerden biriyle WinHTTP proxy yapılandırmasını ayarlamanız gerekir:
- Windows XP veya Windows Server 2003 ve önceki sürümlerde proxycfg.exe yardımcı programı.
- Windows Vista ve Windows Server 2008 veya sonraki sürümlerde netsh.exe yardımcı programı.
Azure Blob Depolama için sabit depolama desteklenmez. Sabit Depolama ilkesini false olarak ayarlayın.
URL'ye yedekleme premium depolama için desteklenmez.
Azure Blob Depolama'da desteklenen bağımsız değişkenler ve ifadeler
Azure Blob Depolama'da yedekleme/geri yükleme ifadeleri için destek sunulmaktadır.
| Backup/Restore Açıklaması | Supported | Exceptions | Comments |
|---|---|---|---|
BACKUP |
Yes |
BLOCKSIZE ve MAXTRANSFERSIZE blok blobları için desteklenir. Sayfa blobları için destek sağlanmıyor. |
BACKUP bir blok blobu için SQL Server kimlik bilgilerine kaydedilmiş bir Paylaşılan Erişim İmzası gerekir.
BACKUP page blob'a erişim, depolama hesabı anahtarının bir SQL Server kimlik bilgisi olarak kaydedilmesini ve WITH CREDENTIAL bağımsız değişkeninin belirtilmesini gerektirir. |
RESTORE |
Yes | Bir SQL Server kimlik bilgisinin tanımlanmasını gerektirir ve SQL Server kimlik bilgisi, gizli anahtar olarak depolama hesabı anahtarı kullanılarak tanımlandıysa, WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
|
RESTORE FILELISTONLY |
Yes | Bir SQL Server kimlik bilgisinin tanımlanmasını gerektirir ve SQL Server kimlik bilgisi, gizli anahtar olarak depolama hesabı anahtarı kullanılarak tanımlandıysa, WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
|
RESTORE HEADERONLY |
Yes | Bir SQL Server kimlik bilgisinin tanımlanmasını gerektirir ve SQL Server kimlik bilgisi, gizli anahtar olarak depolama hesabı anahtarı kullanılarak tanımlandıysa, WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
|
RESTORE LABELONLY |
Yes | Bir SQL Server kimlik bilgisinin tanımlanmasını gerektirir ve SQL Server kimlik bilgisi, gizli anahtar olarak depolama hesabı anahtarı kullanılarak tanımlandıysa, WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
|
RESTORE VERIFYONLY |
Yes | Bir SQL Server kimlik bilgisinin tanımlanmasını gerektirir ve SQL Server kimlik bilgisi, gizli anahtar olarak depolama hesabı anahtarı kullanılarak tanımlandıysa, WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
|
RESTORE REWINDONLY |
No |
Yedekleme deyimleri hakkında söz dizimi ve genel bilgiler için bkz . BACKUP.
Geri yükleme deyimleri hakkında söz dizimi ve genel bilgiler için bkz. RESTORE Deyimleri.
Azure Blob Depolama'da yedekleme parametrelerine destek
| Argument | Supported | Exception | Comments |
|---|---|---|---|
DATABASE |
Yes | ||
LOG |
Yes | ||
TO (URL) |
Yes | ve DISK'nin aksineTAPE, URL mantıksal ad belirtmeyi veya oluşturmayı desteklemez. |
Bu bağımsız değişken, yedekleme dosyasının URL yolunu belirtmek için kullanılır. |
MIRROR TO |
Yes | ||
WITH Seçenekler: |
|||
CREDENTIAL |
Yes |
WITH CREDENTIAL yalnızca BACKUP TO URL seçeneği kullanılarak Azure Blob Depolama'ya yedekleme yapıldığında ve SQL Server kimlik bilgisi, gizli dizi olarak depolama hesabı anahtarı kullanılarak tanımlandığında desteklenir. |
|
FILE_SNAPSHOT |
Yes | ||
ENCRYPTION |
Yes | Argüman WITH ENCRYPTION belirtildiğinde, SQL Server File-Snapshot Backup yedeklemeden önce veritabanının tamamının TDE ile şifrelenmiş olduğunu kontrol eder ve öyleyse, veritabanında TDE için belirtilen algoritmayı kullanarak dosya anlık görüntüsü yedekleme dosyasını kendisi şifreler. Veritabanının tamamında veritabanındaki tüm veriler şifrelenmemişse yedekleme başarısız olur (örneğin, şifreleme işlemi henüz tamamlanmamıştır). |
|
DIFFERENTIAL |
Yes | ||
COPY_ONLY |
Yes | ||
COMPRESSION|NO_COMPRESSION |
Yes | Dosya anlık görüntüsü yedekleme için desteklenmez | |
DESCRIPTION |
Yes | ||
NAME |
Yes | ||
EXPIREDATE | RETAINDAYS |
No | ||
NOINIT | INIT |
No | Bloblara ekleme mümkün değildir. Yedeklemenin üzerine yazmak için WITH FORMAT değişkenini kullanın. Ancak, dosya anlık görüntüsü yedeklemeleri WITH FILE_SNAPSHOT bağımsız değişkeni kullanılarak yapılırken, özgün yedeklemeyle oluşturulan yalnız kalmış dosya anlık görüntülerini önlemek için WITH FORMAT bağımsız değişkenine izin verilmez. |
|
NOSKIP | SKIP |
No | ||
NOFORMAT | FORMAT |
Yes | Mevcut bir bloba alınan yedekleme belirtilmediği sürece WITH FORMAT başarısız olur.
WITH FORMAT belirtildiğinde mevcut blobun üzerine yazılır. Ancak, dosya anlık görüntüsü yedeklemeleri kullanılırken (WITH FILE_SNAPSHOT bağımsız değişkeni kullanılarak), özgün dosya anlık görüntüsü yedeklemesiyle oluşturulmuş yetim dosya anlık görüntüsü bırakmamak için FORMAT bağımsız değişkenine izin verilmez. Ancak, dosya anlık görüntüsü yedeklemeleri WITH FILE_SNAPSHOT bağımsız değişkeni kullanılarak yapılırken, özgün yedeklemeyle oluşturulan yalnız kalmış dosya anlık görüntülerini önlemek için WITH FORMAT bağımsız değişkenine izin verilmez. |
|
MEDIADESCRIPTION |
Yes | ||
MEDIANAME |
Yes | ||
BLOCKSIZE |
Yes | Sayfa blobu için desteklenmez. Blok blobu için desteklenir. | Blok blobunda izin verilen 50.000 bloğun kullanımını iyileştirmenizi öneririz BLOCKSIZE=65536 . |
BUFFERCOUNT |
Yes | ||
MAXTRANSFERSIZE |
Yes | Sayfa blobu için desteklenmez. Blok blobu için desteklenir. | Varsayılan değer 1048576. Değer, 65.536 baytlık artışlarla 4 MB'a kadar değişebilir. Blok blobunda izin verilen 50.000 bloğun kullanımını iyileştirmenizi öneririz MAXTRANSFERSIZE=4194304 . |
NO_CHECKSUM | CHECKSUM |
Yes | ||
STOP_ON_ERROR | CONTINUE_AFTER_ERROR |
Yes | ||
STATS |
Yes | ||
REWIND | NOREWIND |
No | ||
UNLOAD | NOUNLOAD |
No | ||
NORECOVERY | STANDBY |
Yes | ||
NO_TRUNCATE |
Yes |
Yedekleme bağımsız değişkenleri hakkında daha fazla bilgi için bkz. YEDEKLEME.
Azure Blob Depolama'da geri yükleme parametreleri desteği
| Argument | Supported | Exceptions | Comments |
|---|---|---|---|
DATABASE |
Yes | ||
LOG |
Yes | ||
FROM (URL) |
Yes |
FROM URL bağımsız değişkeni, yedekleme dosyasının URL yolunu belirtmek için kullanılır. |
|
WITH Seçenekler: |
|||
CREDENTIAL |
Yes |
WITH CREDENTIAL yalnızca Azure Blob Depolama'dan geri yükleme seçeneği kullanılırken RESTORE FROM URL desteklenir. |
|
PARTIAL |
Yes | ||
RECOVERY | NORECOVERY | STANDBY |
Yes | ||
LOADHISTORY |
Yes | ||
MOVE |
Yes | ||
REPLACE |
Yes | ||
RESTART |
Yes | ||
RESTRICTED_USER |
Yes | ||
FILE |
No | ||
PASSWORD |
Yes | ||
MEDIANAME |
Yes | ||
MEDIAPASSWORD |
Yes | ||
BLOCKSIZE |
Yes | ||
BUFFERCOUNT |
No | ||
MAXTRANSFERSIZE |
No | ||
CHECKSUM | NO_CHECKSUM |
Yes | ||
STOP_ON_ERROR | CONTINUE_AFTER_ERROR |
Yes | ||
FILESTREAM |
Yes | Anlık görüntü yedekleme için desteklenmez | |
STATS |
Yes | ||
REWIND | NOREWIND |
No | ||
UNLOAD | NOUNLOAD |
No | ||
KEEP_REPLICATION |
Yes | ||
KEEP_CDC |
Yes | ||
ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER |
Yes | ||
STOPAT | STOPATMARK | STOPBEFOREMARK |
Yes |
Geri yükleme bağımsız değişkenleri hakkında daha fazla bilgi için bkz. RESTORE Deyimleri - Bağımsız Değişkenler.
SSMS ile yedekleme
SQL Server Kimlik Bilgilerini kullanarak SQL Server Management Studio'daki Yedekleme görevi aracılığıyla veritabanını URL'ye yedekleyebilirsiniz.
Note
SQL Server dosya anlık görüntüsü yedeklemesi oluşturmak veya var olan bir medya kümesinin üzerine yazmak için SQL Server Management Studio'da Yedekleme görevi yerine Transact-SQL, PowerShell veya C# kullanmanız gerekir.
Aşağıdaki adımlarda, Sql Server Management Studio'daki Veritabanını Yedekle görevinde Azure depolamaya yedeklemeye izin vermek için yapılan değişiklikler açıklanmaktadır:
Nesne Gezginisql server veritabanı altyapısının bir örneğine bağlanın ve bu örneği genişletin.
Veritabanları'nı genişletin, istediğiniz veritabanına sağ tıklayın, Görevler'in üzerine gelin ve ardından Yedekle... seçeneğini belirleyin.
Genel sayfasındaki Hedef bölümünde URL seçeneği Yedekle: açılır listesindeki seçenekler arasında mevcuttur. URL seçeneği, Azure depolamaya yedekleme oluşturmak için kullanılır. Ekle'yi seçtiğinizde Yedekleme Hedefi Seç iletişim kutusu açılır:
Azure depolama kapsayıcısı: Yedekleme dosyalarını depolamak için Azure depolama kapsayıcısının adı. Açılan listeden mevcut bir kapsayıcıyı seçin veya kapsayıcıyı el ile girin.
Paylaşılan Erişim İlkesi: El ile girilen kapsayıcı için Paylaşılan Erişim İmzası'nı girin. Mevcut bir kapsayıcı seçildiyse bu alan kullanılamaz.
Yedekleme Dosyası: Yedekleme dosyasının adı.
Yeni Kapsayıcı: Paylaşılan Erişim İmzanız olmayan mevcut bir kapsayıcıyı kaydetmek için kullanılır. Bkz. Microsoft Azure Aboneliğine Bağlanma (URL'ye Yedekleme).
Note
Ekle , tek bir medya kümesi için birden çok yedekleme dosyasını ve depolama kapsayıcısını destekler.
Hedef olarak URL'yi seçtiğinizde , Medya Seçenekleri sayfasındaki bazı seçenekler devre dışı bırakılır. Aşağıdaki makalelerde Veritabanını Yedekle iletişim kutusu hakkında daha fazla bilgi yer alır:
- Veritabanını Yedekle (Genel Sayfa)
- Veritabanını Yedekle (Medya Seçenekleri sayfası)
- Veritabanını Yedekle (Yedekleme Seçenekleri Sayfası)
- Kimlik Bilgisi Oluşturma - Azure Depolama'da kimlik doğrulaması
Bakım planını yedekleme için kullanın
Daha önce açıklanan yedekleme görevine benzer şekilde, SQL Server Management Studio'daki Bakım Planı Sihirbazı hedef seçeneklerden biri olarak URL'yi ve SQL Kimlik Bilgileri gibi Azure depolamaya yedeklemek için gereken diğer destekleyici nesneleri içerir. Aynı şekildedir Daha fazla bilgi için Bakım Planı Kullanma Sihirbazı'ndakiYedekleme Görevlerini Tanımlama bölümüne bakın.
Note
Paylaşılan Erişim belirtecini kullanarak şeritli yedekleme kümesi, SQL Server dosya anlık görüntüsü yedeklemesi veya SQL kimlik bilgileri oluşturmak için Bakım Planı Sihirbazı'nda Yedekleme görevi yerine Transact-SQL, PowerShell veya C# kullanmanız gerekir.
SSMS ile geri yükleme
Veritabanını Geri Yükle görevi, geri yükleneceği cihaz olarak URL'yi içerir. Aşağıdaki adımlar, Azure Blob Depolama'dan geri yüklemek için Geri Yükleme görevini kullanmayı açıklar:
Veritabanları'ya sağ tıklayın ve Veritabanını Geri Yükle...'yi seçin.
Genel sayfasında, Kaynak bölümünün altında Cihaz'ı seçin.
Yedek cihazları seç iletişim kutusunu açmak için gözat (...) düğmesini seçin.
Yedekleme medya türü: açılan listesinden URL'yi seçin. Yedek Dosya Konumu Seç iletişim kutusunu açmak için Ekle'yi seçin.
Azure depolama kapsayıcısı: Yedekleme dosyalarını içeren Azure depolama kapsayıcısının tam adı. Açılır listeden var olan bir kapsayıcıyı seçin veya tam nitelikli kapsayıcı adını manuel olarak girin.
Paylaşılan Erişim İmzası: Belirlenen kapsayıcı için Paylaşılan Erişim İmzası girmek için kullanılır.
Eklemek: Paylaşılan Erişim İmzanız olmayan mevcut bir kapsayıcıyı kaydetmek için kullanılır. Bkz. Microsoft Azure Aboneliğine Bağlanma (URL'ye Yedekleme).
TAMAM: SQL Server, sağladığınız SQL Kimlik Bilgileri bilgilerini kullanarak Azure depolamaya bağlanır ve Microsoft Azure'da Yedekleme Dosyasını Bul iletişim kutusunu açar. Depolama kapsayıcısında bulunan yedekleme dosyaları bu sayfada görüntülenir. Geri yüklemek için kullanmak istediğiniz dosyayı seçin ve Tamam'ı seçin. Bu işlem sizi Yedekleme Cihazlarını Seç iletişim kutusuna geri götürür ve bu iletişim kutusunda Tamam'ı seçerek geri yüklemeyi tamamlayabileceğiniz ana Geri Yükleme iletişim kutusuna geri dönersiniz.
Kod örnekleri
Bu bölüm aşağıdaki örnekleri içerir.
- Paylaşılan Erişim İmzası Oluşturma
- Kimlik bilgisi oluşturma
- Tam veritabanı yedeklemesi gerçekleştirme
- STOPAT kullanarak belirli bir noktaya geri yükleme
Note
Sql Server 2016'yı Azure Blob Depolama ile kullanma öğreticisi için bkz . Öğretici: SQL Server ile Azure Blob Depolama'yı kullanma
Paylaşılan Erişim İmzası Oluşturma
Aşağıdaki örnek, yeni oluşturulan bir kapsayıcıda SQL Server Kimlik Bilgisi oluşturmak için kullanılabilecek Paylaşılan Erişim İmzaları oluşturur. Betik, Saklı Erişim İlkesi ile ilişkili bir Paylaşılan Erişim İmzası oluşturur. Daha fazla bilgi için bkz. Paylaşılan Erişim İmzaları, Bölüm 1: SAS Modelini Anlama. Betik ayrıca SQL Server'da kimlik bilgilerini oluşturmak için gereken T-SQL komutunu yazar.
Note
Örnek için Azure PowerShell gerekir. Azure PowerShell'i yükleme ve kullanma hakkında bilgi için bkz. Azure PowerShell'i yükleme ve yapılandırma. Bu betikler Azure PowerShell 5.1.15063 kullanılarak doğrulanmıştır.
Bir Saklı Erişim İlkesi ile ilişkili Paylaşılan Erişim İmzası
# Define global variables for the script
$prefixName = '<a prefix name>' # used as the prefix for the name for various objects
$subscriptionName = '<your subscription name>' # the name of subscription name you will use
$locationName = '<a data center location>' # the data center region you will use
$storageAccountName = $prefixName + 'storage' # the storage account name you will create or use
$containerName = $prefixName + 'container' # the storage container name to which you will attach the SAS policy with its SAS token
$policyName = $prefixName + 'policy' # the name of the SAS policy
# Set a variable for the name of the resource group you will create or use
$resourceGroupName = $prefixName + 'rg'
# adds an authenticated Azure account for use in the session
Connect-AzAccount
# set the tenant, subscription and environment for use in the rest of
Set-AzContext -SubscriptionName $subscriptionName
# create a new resource group - comment out this line to use an existing resource group
New-AzResourceGroup -Name $resourceGroupName -Location $locationName
# Create a new ARM storage account - comment out this line to use an existing ARM storage account
New-AzStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type Standard_RAGRS -Location $locationName
# Get the access keys for the ARM storage account
$accountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName
# Create a new storage account context using an ARM storage account
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].value
# Creates a new container in Azure Blob Storage
$container = New-AzStorageContainer -Context $storageContext -Name $containerName
$cbc = $container.CloudBlobContainer
# Sets up a Stored Access Policy and a Shared Access Signature for the new container
$policy = New-AzStorageContainerStoredAccessPolicy -Container $containerName -Policy $policyName -Context $storageContext -ExpiryTime $(Get-Date).ToUniversalTime().AddYears(10) -Permission "rwld"
$sas = New-AzStorageContainerSASToken -Policy $policyName -Context $storageContext -Container $containerName
Write-Host 'Shared Access Signature= '$($sas.TrimStart('?'))''
# Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature
Write-Host 'Credential T-SQL'
$tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.Uri, $sas.TrimStart('?')
$tSql | clip
Write-Host $tSql
Betiği başarıyla çalıştırdıktan sonra CREATE CREDENTIAL komutunu bir sorgu aracına kopyalayın, SQL Server örneğine bağlanın ve paylaşılan erişim imzası kullanarak kimlik bilgisini oluşturmak için komutu çalıştırın.
Kimlik oluşturma
Aşağıdaki örneklerde Azure Blob Depolama kimlik doğrulaması için SQL Server kimlik bilgileri oluşturulur. Aşağıdakilerden birini yapın.
Paylaşılan Erişim İmzası Kullanma
Paylaşılan Erişim İmzasını oluşturmak için önceki betiği çalıştırdıysanız, oluşan
CREATE CREDENTIALdeğerini SQL Server örneğinize bağlı bir sorgu düzenleyicisine kopyalayın ve komutu çalıştırın.Aşağıdaki T-SQL, Paylaşılan Erişim İmzası kullanmak için kimlik bilgilerini oluşturan bir örnektir.
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';Depolama hesabı kimliğini ve erişim anahtarını kullanma
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = '<mycredentialname>') CREATE CREDENTIAL [<mycredentialname>] WITH IDENTITY = '<mystorageaccountname>', SECRET = '<mystorageaccountaccesskey>';
Tam veritabanı yedeklemesi gerçekleştirme
Aşağıdaki örnekler, AdventureWorks2025 veritabanının tam yedeğini Azure Blob Depolama'ya gerçekleştirir. Aşağıdaki örneklerden birini kullanın:
Paylaşılan Erişim İmzası kullanarak URL'ye
BACKUP DATABASE AdventureWorks2022 TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak'; GODepolama hesabı kimliği ve erişim anahtarı kullanılarak URL'ye erişim
BACKUP DATABASE AdventureWorks2022 TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak' WITH CREDENTIAL = '<mycredentialname>', COMPRESSION, STATS = 5; GO
STOPAT kullanarak belirli bir zamana geri yükleme
Aşağıdaki örnek, AdventureWorks2025 adlı örnek veritabanını belirli bir andaki durumuna geri yükler ve bir geri yükleme işlemini gösterir.
Paylaşılan Erişim İmzası'nın kullanıldığı URL'den
RESTORE DATABASE AdventureWorks2022
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_16_00_00.bak'
WITH MOVE 'AdventureWorks2022_data' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.mdf',
MOVE 'AdventureWorks2022_log' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.ldf',
NORECOVERY, REPLACE, STATS = 5;
GO
RESTORE LOG AdventureWorks2022
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_18_00_00.trn'
WITH RECOVERY, STOPAT = 'May 18, 2015 5:35 PM';
GO
İlgili içerik
- SQL Server'ı Microsoft Azure Blob Depolama en iyi yöntemleri ve sorun giderme için URL'ye yedekleme
- Yedekleme ve geri yükleme: Sistem veritabanları (SQL Server)
- Kılavuz: SQL Server ile Azure Blob Depolama'yı Kullanma