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.
Applies to:SQL Server
Azure SQL Managed Instance
Bu makalede, yedekleme hedefi olarak Azure Blob Storage 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 yedekleyebilirsiniz. SQL Server'ın Azure Arc ile etkinleştirilen yönetilen kimlik (önizleme) özellikli 'URL'ye Yedekleme' özelliğini gözden geçirin.
Overview
SQL Server 2012 Service Pack 1 CU2 ve SQL Server 2014, tanıdık T-SQL söz dizimini kullanarak yedekleri güvenli bir şekilde Azure depolama alanına yazmak üzere Azure Blob Storage'a işaret eden bir URL'ye yedekleme yapma özelliğini tanıtmıştır. SQL Server 2016 (13.x) Azure'daki Veritabanı Dosyaları için Dosya Anlık Görüntü Yedeklemeleri ve paylaşılan erişim imzası (SAS) anahtarları aracılığıyla güvenlik sunarak kullanıma sunulmuştur. Bu, Azure Storage güvenlik ilkesine sertifikalar yerine SAS anahtarları yoluyla güvenli ve basit bir kimlik doğrulama yöntemi sağlar.
Azure Blob Storage yedekleme veya geri yükleme gerçekleştirmek için bileşenleri ve aralarındaki etkileşimi anlamak önemlidir.
bu işlemin ilk adımı, Azure aboneliğinizde Azure Storage hesabı oluşturmaktı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 Storage için 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 Storage Accounts hakkında daha fazla bilgi için bkz. About Azure Storage Accounts ve Paylaşılan Erişim İmzaları hakkında daha fazla bilgi için bkz. Shared Access signatures, 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 Storage ve S3 uyumlu depolama
SQL Server 2022 (16.x), yedekleme cihaz türü olarak Azure Blob Storage 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ği sunar. SQL Server 2022 (16.x), REST API kullanarak yeni bir S3 bağlayıcısı için destek ekleyerek BACKUP/RESTORE TO/FROM URL söz dizimini genişletir.
Bu makale, Azure Blob Storage için URL'ye Yedekleme 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 Storage'a yedekleme: Blok blobu ve sayfa blobu
Azure Blob Storage 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 yedekleme yalnızca SQL Server 2016 veya sonraki sürümlerde Azure Blob Storage yedekleme için kullanılabilir. SQL Server 2016 veya üzerini çalıştırıyorsanız sayfa blobu yerine blok blobu yedekleme.
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 Storage yedeklemesi, Azure SQL Managed Instance T-SQL farklılıkları, sınırlamaları ve bilinen sorunlar'da 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 tarafından etkinleştirilen Linux, kapsayıcılar ve SQL Managed Instance desteği
SQL Server örneği Aşağıdakiler dahil olmak üzere Linux'ta barındırılıyorsa:
- Tek başına işletim sistemi
- Containers
- Azure Arc tarafından etkinleştirilen SQL Managed Instance
- Diğer Linux tabanlı ortamlar
Azure Blob Storage url'sine desteklenen tek yedekleme, Paylaşılan Erişim İmzası'nı kullanarak blobları engellemektir.
Azure Blob Depolama
Depolama Hesabı: Depolama hesabı, tüm depolama hizmetlerinin başlangıç noktasıdır. Azure Blob Storage 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 Storage'a SQL Server bir yedekleme 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 Storage depolanabilen iki tür blob vardır: blok ve sayfa blobları. SQL Server yedekleme, 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 Storage hakkında daha fazla bilgi için bkz. Azure Blob Storage'a giriş. Sayfa ve blok blobları hakkında daha fazla bilgi için bkz. Blok ve Sayfa Bloblarını Anlama.
Azure Snapshot: 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 yedekleme artık Azure Blob Storage depolanan veritabanı dosyalarının Azure anlık görüntü yedeklemelerini destekliyor. Daha fazla bilgi için bkz. Azure'da Veritabanı Dosyaları için
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.
Credential: SQL Server kimlik bilgisi, 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 Storage ve kapsayıcısı ile blob nesneleri için 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ı Oluşturma örneklerine bakın ve SQL Server Kimlik Bilgisi oluşturmak için bu makalenin devamında Kimlik bilgisi oluşturma örneklerine bakın.
Kimlik bilgileri hakkında daha fazla bilgi için bkz. Credentials (Database Engine).
Kimlik bilgilerinin kullanıldığı diğer örnekler hakkında bilgi için bkz. SQL Server Agent Ara Sunucusu oluşturma.
Azure değiştirilemez 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.
Genellikle SQL Server yedeklemeler 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.
Azure depolama, kapsayıcı düzeyi ve sürüm düzeyi olmak üzere iki tür değişmezlik sağlar. Şu anda yalnızca kapsayıcı düzeyinde sabit depolama desteklenir.
SQL Server 2025 (17.x) yedeklemesini URL'ye yaparak değişmez 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 dosyasını verin. 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 Storage için güvenlik
Aşağıda, Azure Blob Storage'a yedekleme veya geri yükleme sırasında güvenlikle ilgili dikkat edilmesi gerekenler ve gereksinimler yer alır.
Azure Blob Storage için kapsayıcı oluştururken erişimi private olarak ayarlamanızı öneririz. Özel erişimin ayarlanması, erişimin Azure hesabında kimlik doğrulaması yapmak için gerekli bilgileri sağlayabilen kullanıcılara veya hesaplara erişimini kısıtlar.
Important
SQL Server, Azure hesap adı ve erişim anahtarı kimlik doğrulaması ya da 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 Storage depolama hesabı için disabling Paylaşılan Anahtar yetkilendirmesini 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 Storage yedekleme/geri yükleme sınırlamaları
SQL Server, sayfa blobu kullanılarak desteklenen maksimum yedekleme boyutunu 1 TB ile sınırlar. Blok blobları kullanılarak desteklenen maksimum yedekleme boyutu yaklaşık 195,3 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 yaklaşık 195,3 GB olsa da, SQL Server daha küçük blok boyutlarında yazması mümkündür ve bu da yedeklemenin tamamı aktarilmeden önce SQL Server 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.
İşlem günlüğü yedeklemeleri, birden çok yedekleme dosyasına yedek alırken kullanıcı tarafından belirtilen
MAXTRANSFERSIZE'i yoksayar. Bunun yerine, yedekleme komutundaki değerden bağımsız olarakMAXTRANSFERSIZEbirden fazla dosya belirtilirse 64 KB kullanılır. Bu nedenle, URL'ye bir işlem günlüğü yedeklemesinin en büyük boyutu yaklaşık 195,3 GB'tır (50.000 blok * 4 MBMAXTRANSFERSIZE* 1 dosya VEYA 50.000 blok * 64 KB * 64 dosya). Sıkıştırma, daha büyük bir işlem günlüğünün yedeklenebilmesini sağlayabilir, ancak sıkıştırma oranları farklılık gösterir.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.
Azure Storage 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 (formerly Azure Active Directory) ile kimlik doğrulaması dahil olmak üzere diğer tüm kimlik doğrulama yöntemleri desteklenmez.
Mantıksal cihaz adı oluşturma desteklenmez. Bu nedenle
sp_dumpdevicekullanarak veya SQL Server Management Studio 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 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 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ı.
2025'ten önce SQL Server, Azure Blob Storage için sabit depolamayı desteklemez. Sabit Depolama ilkesini false olarak ayarlayın.
SQL Server 2025 ve sonraki sürümlerde destek için bkz. Azure sabit depolama desteği.
- Azure depolama, kapsayıcı düzeyi ve sürüm düzeyi olmak üzere iki tür değişmezlik sağlar. Şu anda yalnızca kapsayıcı düzeyinde sabit depolama desteklenir.
URL'ye yedekleme premium depolama için desteklenmez.
Azure Blob Storage'de desteklenen bağımsız değişkenler ve ifadeler
Azure Blob Storage'da yedekleme/geri yükleme işlemleri için destek
| 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. |
Blok blobunda BACKUP, SQL Server kimlik bilgilerine kaydedilmiş bir Paylaşılan Erişim İmzası gerektirir. Sayfa blobunda BACKUP, depolama hesabı anahtarının SQL Server kimlik bilgilerine kaydedilmesini ve WITH CREDENTIAL bağımsız değişkeninin belirtilmesi gerekir. |
RESTORE |
Yes | SQL Server kimlik bilgisi tanımlanmalıdır ve SQL Server kimlik bilgisi, depolama hesabı anahtarı gizli olarak tanımlanıyorsa WITH CREDENTIAL bağımsız değişkeni belirtilmelidir. |
|
RESTORE FILELISTONLY |
Yes | SQL Server kimlik bilgisi tanımlanmalıdır ve SQL Server kimlik bilgisi, depolama hesabı anahtarı gizli olarak tanımlanıyorsa WITH CREDENTIAL bağımsız değişkeni belirtilmelidir. |
|
RESTORE HEADERONLY |
Yes | SQL Server kimlik bilgisi tanımlanmalıdır ve SQL Server kimlik bilgisi, depolama hesabı anahtarı gizli olarak tanımlanıyorsa WITH CREDENTIAL bağımsız değişkeni belirtilmelidir. |
|
RESTORE LABELONLY |
Yes | SQL Server kimlik bilgisi tanımlanmalıdır ve SQL Server kimlik bilgisi, depolama hesabı anahtarı gizli olarak tanımlanıyorsa WITH CREDENTIAL bağımsız değişkeni belirtilmelidir. |
|
RESTORE VERIFYONLY |
Yes | SQL Server kimlik bilgisi tanımlanmalıdır ve SQL Server kimlik bilgisi, depolama hesabı anahtarı gizli olarak tanımlanıyorsa WITH CREDENTIAL bağımsız değişkeni belirtilmelidir. |
|
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 Storage'de yedekleme için argüman desteği
| 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 Azure Blob Storage yedeklemek için BACKUP TO URL seçeneği kullanıldığında ve yalnızca SQL Server kimlik bilgisi gizli dizi olarak depolama hesabı anahtarı kullanılarak tanımlandığında desteklenir |
|
FILE_SNAPSHOT |
Yes | ||
ENCRYPTION |
Yes |
WITH ENCRYPTION bağımsız değişkeni belirtildiğinde, SQL Server Dosya-Anlık Görüntüsü Yedekleme, yedekleme yapılmadan önce veritabanının tamamının TDE ile şifrendiğinden emin olur ve eğer öyleyse, veritabanı için TDE'de belirtilen algoritmayı kullanarak anlık görüntü dosyasının yedekleme dosyasını ş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 Storage'da geri yükleme argümanları 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 Storage'dan geri yüklemek için RESTORE FROM URL seçeneği kullanıldığında 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 Bilgisi 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 Yedekleme görevi yerine Transact-SQL, PowerShell veya C# kullanmanız gerekir.
Aşağıdaki adımlarda, Azure depolamayı yedeklemeye izin vermek için SQL Server Management Studio'daki Veritabanını Yedekle görevinde yapılan değişiklikler açıklanmaktadır:
Object Explorer'da SQL Server Database Engine ö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 depolama alanına yedekleme oluşturmak için kullanılır. Ekle'yi seçtiğinizde Yedekleme Hedefi Seç iletişim kutusu açılır:
Azure storage container: 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ştur - Azure Depolama için Kimlik Doğrulaması Yapın
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 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
Şeritli yedekleme kümesi, SQL Server dosya anlık görüntüsü yedeklemesi veya Paylaşılan Erişim belirteci kullanan bir SQL kimlik bilgisi 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 Storage 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 storage container: 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).
OK: SQL Server sağladığınız SQL Kimlik Bilgisi ile Azure depolamaya bağlanır ve Microsoft Azure'da Yedek Dosyası 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
Azure Blob Storage ile SQL Server 2016 kullanma kılavuzu için bkz. Azure Blob Storage ile SQL Server Kullanma Kılavuzu
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 bilgisi oluşturmak için gereken T-SQL komutunu yazar.
Note
Örnek için Azure PowerShell gerekir. Azure PowerShell yükleme ve kullanma hakkında bilgi için bkz. Azure PowerShell 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 İmzası ile kimlik bilgilerini oluşturmak için komutunu çalıştırın.
Kimlik oluşturma
Aşağıdaki örneklerde Azure Blob Storage 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ı oluşturmak için önceki betiği çalıştırdıysanız,
CREATE CREDENTIALSQL Server örneğine bağlı bir sorgu düzenleyicisine kopyalayın ve komutunu ç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 Azure Blob Storage tam veritabanı yedeğini 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