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 makale, SQL Server yedekleme ve Microsoft Azure Blob Depolama'ya geri yükleme işlemleri için en iyi yöntemleri ve sorun giderme ipuçlarını içerir.
SQL Server yedekleme veya geri yükleme işlemleri için Azure Blob Depolama'yı kullanma hakkında daha fazla bilgi için bkz:
Microsoft Azure Blob Depolama ile SQL Server Yedekleme ve Geri Yükleme
Öğretici: SQL Server Yedekleme ve Geri Yükleme Azure Blob Depolama
Yedeklemeleri yönetme
Aşağıdaki liste, yedeklemeleri yönetmeye yönelik genel önerileri içerir:
Blobların üzerine yanlışlıkla yazılmasını önlemek için her yedekleme için benzersiz dosya adı önerilir.
Kapsayıcı oluştururken erişim düzeyini özel olarak ayarlamanız gerekir; böylece kapsayıcıdaki blobları yalnızca gerekli kimlik doğrulama bilgilerini sağlayabilecek kullanıcılar veya hesaplar okuyabilir veya yazabilir.
Azure Sanal Makinesinde çalışan bir SQL Server örneğindeki SQL Server veritabanları için, bölgeler arasında veri aktarımı maliyetlerini önlemek için sanal makineyle aynı bölgede bir depolama hesabı kullanın. Aynı bölgenin kullanılması, yedekleme ve geri yükleme işlemleri için en iyi performansı sağlar.
Başarısız yedekleme etkinliği geçersiz bir yedekleme dosyasına neden olabilir. Başarısız yedeklemelerin düzenli aralıklarla tanımlanmasını ve blob dosyalarının silinmesini öneririz. Daha fazla bilgi için, Etkin Kiralar Olan Yedekleme Blob Dosyalarını Silmeye ilişkin 'e bakın.
Yedekleme sırasında
WITH COMPRESSIONseçeneğini kullanmak depolama maliyetlerinizi ve depolama işlemi maliyetlerinizi en aza indirgeyebilir. Ayrıca yedekleme işlemini tamamlamak için geçen süreyi azaltabilir.MAXTRANSFERSIZEveBLOCKSIZEbağımsız değişkenlerini SQL Server'ı URL'e yedekleme için önerilen şekilde ayarlayın.SQL Server, kullanılan depolama yedekliliği türünden bağımsızdır. Sayfa bloblarını ve blok bloblarını yedekleme, her tür depolama yedekliliği (LRS/ZRS/GRS/RA-GRS/RA-GZRS vb.) için desteklenmektedir.
Büyük dosyaları işleme
SQL Server yedekleme işlemi, Azure Blob Depolama'ya veri aktarımını iyileştirmek için birden çok iş parçacığı kullanır. Ancak performans, ISV bant genişliği ve veritabanının boyutu gibi çeşitli faktörlere bağlıdır. Büyük veritabanlarını veya dosya gruplarını şirket içi SQL Server veritabanından yedeklemeyi planlıyorsanız, önce bazı aktarım hızı testlerini yapmanız gerekir. Depolama için Azure SLA'sı, bloblar için dikkate almanız gereken maksimum işlem sürelerine sahiptir.
WITH COMPRESSION bölümünde önerilen seçeneğinin kullanılması, büyük dosyaları yedeklerken önemlidir.
URL'ye yedekleme veya URL'den geri yükleme sorunlarını giderme
Aşağıda, Azure Blob Depolama'ya yedekleme veya Azure Blob Depolama'dan geri yükleme sırasında oluşan hataları gidermenin bazı hızlı yolları verilmiştır.
Desteklenmeyen seçenekler veya sınırlamalar nedeniyle oluşan hataları önlemek için, Sql Server Yedekleme ve Microsoft Azure Blob Depolama ile Geri Yükleme BACKUPmakaledeki sınırlama listesini ve RESTORE ve komut bilgileri desteğini gözden geçirin.
Başlatma başarısız oldu
Aynı bloba yapılan paralel yedeklemelerden biri "Başlatma başarısız" hatasıyla başarısız olur.
SQL Server 2016 (13.x) ve sonraki sürümlerinde URL'ye yedekleme için blok blobu tercih edilir.
Eğer
BACKUP TO URLile sayfa blobları kullanıyorsanız, belirli bir hata günlüğünde kaydı şu formatta açmak için izleme bayrağı 3051'i kullanabilirsiniz:BackupToUrl-\<instname>-\<dbname>-action-\<PID>.logburada\<action>bunlardan biri:DBFILELISTONLYLABELONLYHEADERONLYVERIFYONLY
Uygulama günlükleri içinde, Windows Olay Görüntüleyicisi'ni gözden geçirerek de bilgi bulabilirsiniz.
G/Ç cihazı hatası nedeniyle istek gerçekleştirilemedi.
Büyük veritabanlarını yedeklerken COMPRESSION, MAXTRANSFERSIZE, BLOCKSIZEve birden çok URL bağımsız değişkenlerini göz önünde bulundurun.
VLDB'nin Azure Blob Depolama'ya yedeklenmesine bakın
Hata:
Msg 3202, Level 16, State 1, Line 1
Write on "https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak" failed:
1117(The request could not be performed because of an I/O device error.)
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.
Örnek çözüm:
BACKUP DATABASE TestDb
TO URL = 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak',
URL = 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_1.bak',
URL = 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_2.bak'
WITH COMPRESSION, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536;
Cihazdaki Mesaj Dosya İşareti hizalı değil
Sıkıştırılmış bir yedeklemeden geri yükleme yaparken aşağıdaki hatayı görebilirsiniz:
SqlException 3284 occurred. Severity: 16 State: 5
Message Filemark on device 'https://mystorage.blob.core.windows.net/mycontainer/TestDbBackupSetNumber2_0.bak' is not aligned.
Reissue the Restore statement with the same block size used to create the backupset: '65536' looks like a possible value.
Bu hatayı çözmek için RESTORE belirtilmiş olarak BLOCKSIZE = 65536 deyimini yeniden yayınlayın.
Başarısız yedekleme etkinliği, aktif kiralara sahip bloblarla sonuçlanabilir.
Üzerinde aktif kiralama olan bloblar nedeniyle yedekleme sırasında hata oluştu: Failed backup activity can result in blobs with active leases.
Bir yedekleme deyimi yeniden denenirse, yedekleme işlemi şöyle bir hatayla başarısız olabilir:
Backup to URL received an exception from the remote endpoint. Exception Message:
The remote server returned an error: (412) There is currently a lease on the blob and no lease ID was specified in the request.
Etkin kiralaması olan bir yedekleme blob dosyasında geri yükleme deyimi denenirse, geri yükleme işlemi aşağıdakine benzer bir hatayla başarısız olur:
Exception Message: The remote server returned an error: (409) Conflict..
Böyle bir hata oluştuğunda blob dosyalarının silinmesi gerekir. Bu senaryo ve bu sorunu düzeltme hakkında daha fazla bilgi için bkz. Active Leases ile Yedekleme Blob Dosyalarını Silme.
İşletim sistemi hatası 50: İstek desteklenmiyor
Veritabanını yedeklerken aşağıdaki nedenlerle hata Operating system error 50(The request is not supported) görebilirsiniz:
- Belirtilen depolama hesabı Genel Amaçlı V1/V2 değil.
- SAS belirteci kimlik bilgisi oluşturulduğunda, belirtecin başında
?sembolü vardı. Evet ise kaldırın. - Mevcut bağlantı, Depolama Gezgini veya SQL Server Management Studio (SSMS) kullanarak mevcut makineden depolama hesabına bağlanılamıyor.
- SAS belirtecine atanan ilkenin süresi doldu. Azure Depolama Gezgini'ni kullanarak yeni bir ilke oluşturun ve ilkeyi kullanarak yeni bir SAS belirteci oluşturun veya kimlik bilgilerini değiştirip yedeklemeyi yeniden deneyin.
- Güvenilen Kök Sertifikalar deposunda kök sertifika bulunmuyor. Daha fazla bilgi için bkz. Azure Kök Sertifika Yetkilileri.
Kimlik doğrulama hataları
WITH CREDENTIAL yeni bir seçenektir ve Azure Blob Depolama'ya yedeklemek veya geri yüklemek için gereklidir.
Kimlik bilgileriyle ilgili hatalar şunlar olabilir: The credential specified in the **BACKUP** or **RESTORE** command does not exist.
Bu sorunu önlemek için, yedekleme ifadesinde yoksa kimlik bilgilerini oluşturmak amacıyla T-SQL ifadelerini ekleyebilirsiniz. Aşağıdaki örneklerden birini kullanabilirsiniz:
IF NOT EXISTS (
SELECT *
FROM sys.credentials
WHERE credential_identity = 'mycredential'
)
CREATE CREDENTIAL [<credential name>]
WITH IDENTITY = 'mystorageaccount',
SECRET = '<storage access key>';
Kimlik bilgisi var, ancak yedekleme komutunu çalıştırmak için kullanılan oturum açma bilgilerinin kimlik bilgilerine erişme izinleri yok. db_backupoperator rolünde herhangi bir kimlik bilgisi izinlerini değiştirme bir hesap kullanın.
Depolama hesabı adını ve anahtar değerlerini doğrulayın. Kimlik bilgisinde depolanan bilgiler, yedekleme ve geri yükleme işlemlerinde kullandığınız Azure depolama hesabının özellik değerleriyle eşleşmelidir.
400 (Hatalı İstek) hataları
SQL Server 2012 'yi (11.x) kullanarak aşağıdaki çıkışa benzer bir yedekleme gerçekleştirirken hatayla karşılaşabilirsiniz:
Backup to URL received an exception from the remote endpoint. Exception Message:
The remote server returned an error: (400) Bad Request.
Bunun nedeni Azure Depolama Hesabı tarafından desteklenen TLS sürümüdür. Desteklenen TLS sürümünü değiştirme veya KB4017023'de listelenen geçici çözümü kullanma.
Proxy sunucu hataları
İnternet'e erişmek için Proxy Sunucuları kullanıyorsanız aşağıdaki sorunları görebilirsiniz:
Proxy sunucular tarafından bağlantı kısıtlaması
Proxy sunucuları, dakika başına bağlantı sayısını sınırlayan ayarlara sahip olabilir. URL'ye Yedekleme işlemi çok iş parçacıklı bir işlemdir ve bu nedenle bu sınırı aşabilir. Bu durumda, ara sunucu bağlantıyı sonlar. Bu sorunu çözmek için, SQL Server'ın ara sunucuyu kullanmaması için ara sunucu ayarlarını değiştirin. Aşağıda, hata günlüğünde görebileceğiniz tür veya hata iletilerine bazı örnekler verilmiştir:
Write on "https://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak" failed: Backup to URL received an exception from the remote endpoint. Exception Message: Unable to read data from the transport connection: The connection was closed.
A nonrecoverable I/O error occurred on file "https://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Error could not be gathered from Remote Endpoint.
Msg 3013, Level 16, State 1, Line 2
BACKUP DATABASE is terminating abnormally.
BackupIoRequest::ReportIoError: write failure on backup device https://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak'. Operating system error Backup to URL received an exception from the remote endpoint. Exception Message: Unable to read data from the transport connection: The connection was closed.
Sayfa blobları kullanıyorsanız, 3051 izleme bayrağı ile ayrıntılı günlük kaydını etkinleştirirsiniz, günlüklerde aşağıdaki iletiyi de görebilirsiniz: HTTP status code 502, HTTP Status Message Proxy Error (The number of HTTP requests per minute exceeded the configured limit. Contact your ISA Server administrator.)
Varsayılan ara sunucu ayarları algılanmıyor
Bazen varsayılan ayarlar algılanmadığında aşağıdakiler gibi ara sunucu kimlik doğrulama hatalarına yol açar:
A nonrecoverable I/O error occurred on file "https://storageaccount.blob.core.windows.net/container/BackupAzurefile.bak:" Backup to URL received an exception from the remote endpoint. Exception Message: The remote server returned an error: (407)* **Proxy Authentication Required.
Bu sorunu çözmek için, aşağıdaki adımları kullanarak URL'ye Yedekleme işleminin varsayılan ara sunucu ayarlarını kullanmasına izin veren bir yapılandırma dosyası oluşturun:
Aşağıdaki xml içeriğiyle
BackuptoURL.exe.configadlı bir yapılandırma dosyası oluşturun:<?xml version ="1.0"?> <configuration> <system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy usesystemdefault="true" /> </defaultProxy> </system.net> </configuration>Yapılandırma dosyasını SQL Server Örneğinin
Binnklasörüne yerleştirin. Örneğin, SQL Server'ım makineninCsürücüsünde yüklüyse, yapılandırma dosyasınıC:\Program Files\Microsoft SQL Server\MSSQL13.\<InstanceName>\MSSQL\Binnyerleştirin.BackuptoURL.exeSAS anahtarları kullanılırken çağrılmaz, ancak erişim anahtarıkullanılırken tetikler. Erişim anahtarlarını kullandığınızdan emin olun veya aşağıdaki hatayı alabilirsiniz:İşletim sistemi hatası 50(İstek desteklenmiyor.)
Yaygın hatalar ve çözümler
| Sorun | Çözüm |
|---|---|
Hatası 3063: Yedek blok blob cihazına yazma https://storageaccount/container/name.bak başarısız oldu. Cihaz izin verilen blok sınırına ulaştı. |
Bu sorunu çözmek için, yedekleme hedefinizi birden çok dosyayla serileştirerek yedekleyin ve yedekleme komutunda aşağıdaki parametreleri kullandığınızdan emin olun: COMPRESSION, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536. |
| Hatası 3035: Değişiklik yedeklemesi bir veya birden çok veritabanı için başarısız oluyor. | Sql veritabanlarını yedeklemek için Azure Backup hizmeti yapılandırdıysanız veya yalnızca kopya yedekleme oluşturmayan bir sanal makine (VM) anlık görüntüsü yapılandırdıysanız bu durum, bakım planınızın veya SQL aracısı işinizin isteğe bağlı yedeklemelerinin başarısız olmasına neden olur. Bunu düzeltmek için bu kayıt defteri anahtarlarını ekleyin ve [HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\BCDRAGENT]ekleyin. |
| Hatası 3201: Yedekleme başarısız oluyor - İşletim sistemi hatası 50 (İstek desteklenmiyor). | Depolama Gezgini'ni kullanarak paylaşılan erişim imzası (SAS) belirtecini yeniden oluşturun: Azure Depolama Gezgini'ni kullanarak yeni bir ilke oluşturabilir ve Azure Depolama Gezgini'nden bu ilkeyle yeni bir SAS belirteci oluşturabilirsiniz. Azure Depolama'dan oluşturulan bu yeni SAS belirtecini kullanarak kimlik bilgileri yeniden oluşturun ve yedeklemeyi yeniden deneyin. Daha fazla bilgi için URL'ye YEDEKLEME ile ilgili bilinen sorunlarkısmına bakın. Ağ güvenlik grubunuzun (NSG) ve/veya güvenlik duvarınızın 1433 ve 443 bağlantı noktalarında gelen ve giden bağlantıya izin verdiğinden emin olun. |
| Hatası 3271: TLS hatası nedeniyle yedekleme başarısız - URL'ye yedekleme uzak uç noktadan bir istisna aldı. | Bu, SQL Server 2012, 2014 ve 2016 sürümlerinde gerçekleşebilir. Microsoft Azure Blob Depolama hizmeti URL'sine yedekleme TLS 1.2 ile uyumlu değildir ve KB4017023yönergeleri izlenerek düzeltilebilir. |
| Hatası 3271: URL'ye yapılan yedekleme uzak uç noktadan bir istisna aldı. Hata Mesajı: Uzaktaki ad çözümlenemedi. | Yedeklemeyi yapılandırmak için yanlış bir kimlik bilgisi, gizli dizi veya SAS anahtarı kullanıldıysa bu iletiyi görürsünüz. Kimlik bilgisini silin ve yeniden oluşturun. SQL Server 2012/2014 için depolama hesabı kimliği ve erişim anahtarı kullanın ve SQL Server 2016 ve sonraki sürümleri için SASkullanın. |
| Hatası 18210: Özel Durum: Uzak sunucu bir hata döndürdü: (400) Hatalı İstek. | Sorunu çözmek için, depolama hesabının en düşük TLS sürümünü 1.0 (Depolama Hesabı>Yapılandırma>En Düşük TLS Sürümü) olarak değiştirin veya KB4017023'de belgelendiği gibi güçlü şifrelemeyi etkinleştirin. |
| Özel Durum İletisi: Uzak sunucu bir hata döndürdü: (412) Şu anda blobda kira var ve istekte kira kimliği belirtilmedi. | Azure Depolama Gezgini'nde 1 TB boyutunda blobları belirleyin, kirayı sonlandırın, blobsilin ve yedekleme işlemini yeniden deneyin. |
| Hatası: Uzak sunucu bir hata döndürdü: (403) Yasak. | Sorunu çözmek için depolama hesabını, kimlik bilgilerini ve SAS belirtecini yeniden oluşturun. |
| SQL Server 2012/2014'te 1 TB veritabanı için Yedekleme başarısız oluyor. | 1 TB yedeklemeler, SQL Server 2016 (13.x) öncesi sayfa bloblarında bilinen bir sınırlamadır. T-SQL yedekleme deyiminize 'WITH COMPRESSION' yan tümcesini ekleyerek yedekleme sıkıştırmasını kullanın veya SQL Server örneğinizi SQL Server 2016 (13.x) ve sonraki sürümlerine yükseltin. |
| Hatası: URL'ye yedekleme uzak uç birimden bir istisna aldı. Özel Durum İletisi: Uzak sunucu bir hata döndürdü: (416) Belirtilen sayfa aralığı geçersiz. | SQL Server 2012 (11.x) ve SQL Server 2014 (12.x) kullanıyorsanız ve yedekleme boyutunuz 1 TB'a çıkıyorsa bunu görebilirsiniz. Yedekleme dosyalarınıza şerit uygulayın ve/veya sorunu çözmek için yedekleme sıkıştırmasını kullanın. |
| Yedekleme, bakım planı kullanılırken başarısız oldu. | Bakım planında birkaç hata vardır. Yedeklemenizi yürütmek için T-SQL kullanmayı deneyin. T-SQL çalışıyorsa veritabanlarınızı yedeklemek için çalıştırılacak bir SQL Aracısı işi oluşturabilirsiniz. |
| vm sınırlarına ulaşıldı nedeniyle Yedekleme başarısız oldu. | Disk IOPS/VM sınırına ulaşıldığına ilişkin hatalar alıyorsanız yedeklemeler yavaşlayabilir veya başarısız olabilir. IOPS/VM sınırlarını izlemek için Azure İzleyici Ölçümleri'ni kullanın ve gerekirse sorunu çözmek için VM/diski yeniden boyutlandırın. |
| Uzak sunucu bir hata döndürdü (409): SQL Server 2012/2014 için çakışma hatası | hiyerarşik ad alanına sahip depolama hesapları, sayfa blobları için değil, blok blobları için uygundur. Bu özelliğe sahip olmayan depolama hesapları, SQL Server 2014'te (12.x) URL'ye YEDEKLEME için kullanılmamalıdır. |