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:Azure SQL Managed Instance
Bu makalede, olağanüstü durum kurtarma veya geçiş amacıyla SQL Server Management Studio (SSMS) veya PowerShell kullanarak SQL Server ve Azure SQL Managed Instance arasında linked veritabanının yük devretmesi öğretilir.
Önkoşullar
Veritabanlarınızı bağlantı aracılığıyla ikincil çoğaltmaya yük devretmek için aşağıdaki önkoşullara ihtiyaç duyarsınız.
- Etkin bir Azure aboneliği. Aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
- Gerekli hizmet güncellemesi yüklenmiş desteklenen SQL Server sürümü.
- Birincil ve ikincil çoğaltıcı arasındaki bağlantı yapılandırıldı.
- SQL Server 2022 CU13 (KB5036432) ile başlayan Transact-SQL kullanarak bağlantının yükünü devredebilirsiniz.
İş yükünü durdurma
Veritabanınızı ikincil çoğaltmaya devretmeye hazırsanız, önce bakım saatlerinizde birincil çoğaltmadaki tüm uygulama iş yüklerini durdurun. Bu, veri kaybı olmadan ikincilye yük devredebilmeniz için veritabanı çoğaltmasının ikincil çoğaltmayı yakalamasını sağlar. Uygulamalarınızın, yük devretmeden önce işlemleri birincil sisteme işlenmediğinden emin olun.
Çoğaltma gecikmesini kontrol et
İkincil kopyanın planlı bir yük devretme gerçekleştirilmeden önce birincil kopyayı yakalaması önemlidir. İkincil çoğaltma birincil çoğaltmanın çok gerisinde kalırsa planlı hata aktarımı zaman aşımına uğrayabilir ve başarısız olabilir.
Çoğaltmalar arasındaki çoğaltma gecikmesini izlemek için hem SQL Server hem de SQL Managed Instance aşağıdaki T-SQL sorgusunu kullanın:
-- Execute on SQL Server and SQL Managed Instance
USE master
DECLARE @link_name varchar(max) = '<DAGname>'
SELECT
ag.name [Link name],
ars1.role_desc [Link role],
ars2.connected_state_desc [Link connected state],
ars2.synchronization_health_desc [Link sync health],
drs.secondary_lag_seconds [Link replication latency (seconds)]
FROM
sys.availability_groups ag
JOIN sys.dm_hadr_availability_replica_states ars1
ON ag.group_id = ars1.group_id
JOIN sys.dm_hadr_availability_replica_states ars2
ON ag.group_id = ars2.group_id
JOIN sys.dm_hadr_database_replica_states drs
ON ars2.replica_id = drs.replica_id
WHERE
ag.is_distributed = 1 AND ag.name = @link_name AND ars1.is_local = 1 AND ars2.is_local = 0
GO
Çoğaltma gecikmesi yüksekse, ikincil çoğaltmanın birincil çoğaltmayı yakalamasını bekleyin. Gecikme devam ederse, iki örnek arasındaki bağlantı ağ aktarım hızını iyileştirme veya ikincil çoğaltmadaki kaynak kapasitesini artırma gibi ek sorun giderme adımları gerçekleştirmeniz gerekebilir.
Veritabanının yük devretmesi
Transact-SQL (T-SQL), SQL Server Management Studio veya PowerShell kullanarak bağlı bir veritabanının yükünü devredebilirsiniz.
SQL Server 2022 CU13 (KB5036432) ile başlayan Transact-SQL kullanarak bağlantının yükünü devredebilirsiniz.
Bir bağlantı için planlı yük devretme gerçekleştirmek için birincil çoğaltmada aşağıdaki T-SQL komutunu kullanın:
ALTER AVAILABILITY GROUP [<DAGname>] FAILOVER
Zorlamalı yük devretme gerçekleştirmek için ikincil çoğaltmada aşağıdaki T-SQL komutunu kullanın:
ALTER AVAILABILITY GROUP [<DAGname>] FORCE_FAILOVER_ALLOW_DATA_LOSS
Önemli
Planlı yük devretme gerçekleştirildikten sonra çoğaltma modu asenkron olarak ayarlanır.
Birden çok veritabanının yedeklenmesi
En iyi performans ve tahmin edilebilirlik için aynı sunucudaki örneklerden birden çok veritabanının yükünü devretmeyi planlıyorsanız, aynı anda örnek başına 8 veritabanının yükünü devredebilirsiniz. tr-TR: Örneğin, her birinde 32 bağlı veritabanı olan 10 örneğiniz varsa, her örnekte bir seferde 8 veritabanını hata devrine alarak işlemi tüm veritabanları hata devrine girene kadar tekrar edin.
Yük devretmeden sonra veritabanını görüntüleme
SQL Server 2022 için, bağlantıyı korumayı seçtiyseniz, dağıtılmış kullanılabilirlik grubunun SQL Server Management Studio'da Object ExplorerAvailability Groups altında mevcut olup olmadığını kontrol edebilirsiniz.
Bağlantıyı yük devretme sırasında bıraktıysanız, dağıtılmış kullanılabilirlik grubunun artık mevcut olmadığını onaylamak için Object Explorer kullanabilirsiniz. Kullanılabilirlik grubunu korumayı seçtiyseniz veritabanı yine eşitlenir.
Failover sonrası temizleme
SQL Server 2022 ile yük devretme işlemi, Başarılı yük devretme sonrasında bağlantıyı kaldır seçili değilse bağlantıyı kesmez. Failover'dan sonra bağlantıyı koruyabilirsiniz; bu da kullanılabilirlik grubunun ve dağıtılmış kullanılabilirlik grubunun etkin kalmasını sağlar. Başka bir şey yapmanız gerekmez.
Bağlantıyı bırakmak yalnızca dağıtılmış kullanılabilirlik grubunu bırakır ve kullanılabilirlik grubunu etkin bırakır. Kullanılabilirlik grubunu kullanmaya karar verebilir veya bırakabilirsiniz.
Kullanılabilirlik grubunuzu bırakmaya karar verirseniz aşağıdaki değeri değiştirin ve örnek T-SQL kodunu çalıştırın:
-
<AGName>SQL Server üzerindeki kullanılabilirlik grubunun adıyla (bağlantıyı oluşturmak için kullanılır).
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName>
GO
Zorlamalı failover sonrası tutarsız durum
Zorlamalı yük devretmenin ardından, iki replikadan da birincil rolü üstlendiği ve bu durumun bağlantıyı tutarsız hale getirdiği bir ikili beyin senaryosuyla karşılaşabilirsiniz. Olağanüstü bir durumda ikincil çoğaltmaya geçiş yaparsanız ve sonrasında birincil çoğaltma yeniden çevrimiçi olursa, bu durum meydana gelir.
Bu sorunu çözmek için Bölünmüş beyin senaryosudüzeltmesine bakın.
İlgili içerik
Bağlantıyı kullanmak için:
- Managed Instance bağlantısı için ortamı hazırlama
- SSMS ile SQL Server ve SQL Yönetilen Örneği arasındaki bağlantıyı yapılandırın
- SQL Server ile SQL Yönetilen örneği arasındaki bağlantıyı betiklerle yapılandırın
- Bağlantıyla geçiş
- Bağlantıyı korumak için en iyi yöntemler
- Bağlantı ile ilgili sorunları giderme
Bağlantı hakkında daha fazla bilgi edinmek için:
- Managed Instance bağlantısına genel bakış
- Managed Instance bağlantısıyla Felaket Kurtarma
Diğer çoğaltma ve geçiş senaryoları için şunları göz önünde bulundurun: