Aracılığıyla paylaş


Çoğaltılan veritabanlarının yükseltilmesi veya yamalanması

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

SQL Server, çoğaltılan veritabanlarını SQL Server'ın önceki sürümlerinden yükseltmeyi destekler; bir düğüm yükseltilirken diğer düğümlerde etkinliğin durdurulması gerekmez.

Prerequisites

Topolojide hangi sürümlerin desteklendiğine ilişkin kurallara uyduğunuzdan emin olun:

  • Dağıtımcı, Yayımcı sürümünden büyük veya eşit olduğu sürece herhangi bir sürüm olabilir (çoğu durumda Dağıtımcı, Yayımcı ile aynı örnektir).

  • Yayımcı sürümü, Dağıtımcı sürümüne eşit veya ondan küçük olduğu sürece herhangi bir sürüm olabilir.

  • Yayımcı ve Dağıtımcı aynı ürün olmalıdır. Ya ikisi de SQL Server'dır ya da ikisi de Azure SQL Yönetilen Örneğidir.

  • Abone sürümü yayın türüne bağlıdır:

    • Bir işlem yayınının abonesi, yayıncı sürümünden en fazla iki sürüm uzakta olan herhangi bir sürüm olabilir. Örneğin: SQL Server 2012 (11.x) Publisher'da SQL Server 2014 (12.x) ve SQL Server 2016 (13.x) Aboneleri olabilir; ve bir SQL Server 2016 (13.x) Publisher'da SQL Server 2014 (12.x) ve SQL Server 2012 (11.x) Aboneleri olabilir.

    • Birleştirme yayını abonesi, Publisher sürümüne eşit veya daha düşük tüm sürümler (sürüm yaşam döngüsü destek döngüsüne göre hangisi destekleniyorsa) olabilir.

Yükseltme yolları

SQL Server'a yükseltme yolu, dağıtım düzenine bağlı olarak farklıdır. SQL Server genel olarak iki yükseltme yolu sunar:

  • Yan yana: Paralel bir ortam dağıtın ve veritabanlarını oturum açma bilgileri, işler gibi ilişkili örnek düzeyi nesneleriyle birlikte yeni ortama taşıyın.

  • Yerinde yükseltme: SQL Server yükleme medyasının SQL Server bitlerini değiştirerek ve veritabanı nesnelerini yükselterek mevcut SQL Server yüklemesini yükseltmesine izin verin. Kullanılabilirlik gruplarını (AG'ler) veya yük devretme kümesi örneklerini (FCI) çalıştıran ortamlarda, kesinti süresini en aza indirmek için yerinde yükseltme ve sıralı yükseltme birlikte yapılır.

Çoğaltma topolojilerinin yan yana yükseltilmesi için yaygın bir yaklaşım, tüm topolojiyi bir kerede taşımak yerine yayımcı-abone çiftlerini parça parça yeni yan yana ortama aktarmaktır. Bu aşamalı yaklaşım kapalı kalma süresini denetlemeye yardımcı olur ve çoğaltmaya bağımlı işletme için etkiyi belirli bir ölçüde en aza indirir.

Bu makalenin çoğunun kapsamı SQL Server sürümünü yükseltmeye yöneliktir. Ancak, SQL Server'a bir hizmet paketi veya toplu güncelleştirme ile düzeltme eki uygularken yerinde yükseltme işlemi de kullanılmalıdır.

Remarks

Çoğaltma topolojisi yükseltmek çok adımlı bir işlemdir. Yükseltmeyi gerçek üretim ortamında çalıştırmadan önce test ortamında çoğaltma topolojinizin bir kopyasını yükseltmeyi denemenizi öneririz. Bu, gerçek yükseltme işlemi sırasında pahalı ve uzun bekleme sürelerine neden olmadan yükseltmeyi sorunsuz bir şekilde yönetmek için gerekli operasyonel belgeleri düzenlemenize yardımcı olur. Çoğaltma topolojisini yükseltirken üretim ortamları için AG'ler ve/veya FCI'ler kullanarak kesinti süresini önemli ölçüde azaltabilirsiniz. Ayrıca, yükseltmeyi denemeden önce msdb, master, Dağıtım veritabanları ve çoğaltmaya katılan kullanıcı veritabanları dahil olmak üzere tüm veritabanlarının yedeklerini almanızı öneririz.

Yük devretme kümesi örneğinde bir dağıtım veritabanınız varsa, tüm katılan düğümlerin aynı yapıyı kullandığından emin olun. Bir düğümün SQL Server 2016 (13.x) SP2-CU3 veya SQL Server 2017 (14.x) CU6'dan önceki bir SQL Server sürümü olduğu ve diğer düğümün SQL Server 2016 (13.x) SP2-CU3 veya SQL Server 2017 (14.x) CU6'dan sonraki bir SQL Server sürümü olduğu bir kurulum önermiyoruz. SQL Server 2016 (13.x) SP2-CU3 ve SQL Server 2017 (14.x) CU6 sürümünden başlayarak, AG'de bir dağıtım veritabanı kullanmak ve dağıtım veritabanlarındaki yeni nesneler (tablolar, saklı yordamlar) için destek eklenir. Dağıtım veritabanınız bir yük devretme kümesi örneğindeyse ve aşamalı geçiş yapıyorsanız (ve tüm düğümleri SQL Server'ın aynı sürümüne yükseltemiyorsanız), dar geçiş zaman çerçevesi için SQL Server'ın sonraki sürümüne sahip düğüme yeni abone, abonelik, yayımcı veya yayın ekleme gibi hesap görevlerini gerçekleştirmenizi öneririz.

Çoğaltma matrisi

Transaksiyonel ve anlık görüntü çoğaltma uyumluluk matrisi

Publisher Distributor Subscriber
Azure SQL Yönetilen ÖrnekAUTD Azure SQL Yönetilen ÖrnekAUTD Azure SQL Veritabanı
Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örneği2025
Azure SQL Yönetilen Örnek2022
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
Azure SQL Yönetilen Örneği2025 Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örneği2025
Azure SQL Veritabanı
Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örneği2025
Azure SQL Yönetilen Örnek2022
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
Azure SQL Yönetilen Örnek2022 Azure SQL Yönetilen ÖrneğiAUTDAzure SQL Yönetilen Örneği2025
Azure SQL Yönetilen Örnek2022
Azure SQL Veritabanı
Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örnek2022
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2022 (16.x) SQL Server 2025 (17.x)
SQL Server 2022 (16.x)
Azure SQL Veritabanı
Microsoft Fabric1'de SQL veritabanı
Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örneği2025
Azure SQL Yönetilen Örnek2022
SQL Server 2025 (17.x)
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x) SQL Server 2025 (17.x)
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
Azure SQL Veritabanı
Azure SQL Yönetilen ÖrnekAUTD
Azure SQL Yönetilen Örneği2025
Azure SQL Yönetilen Örnek2022
SQL Server 2025 (17.x)
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2017 (14.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
Azure SQL Yönetilen Örnek2022
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2016 (13.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2014 (12.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2012 (11.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)

AUTD, Always-up-to-date güncelleştirme ilkesi ile yapılandırılmış Azure SQL Yönetilen Örneği için geçerlidir.
2025 SQL Server 2025 güncelleştirme ilkesiyle yapılandırılan Azure SQL Yönetilen Örneği için geçerlidir.
2022, SQL Server 2022 güncelleştirme ilkesi ile yapılandırılan Azure SQL Yönetilen Örneği için geçerlidir.
1Microsoft Fabric'teki SQL veritabanı için desteklenen yapılandırmaların gereksinimlerine göre geçerlidir.

Birleştirme replikasyonu uyumluluk matrisi

Publisher Distributor Subscriber
SQL Server 2022 (16.x) SQL Server 2022 (16.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2019 (15.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2017 (14.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2016 (13.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2014 (12.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2012 (11.x) SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2022 (16.x)
SQL Server 2019 (15.x)
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)
SQL Server 2008 R2 (10.50.x)
SQL Server 2008 (10.0.x)

Yükseltmeyle ilgili dikkat edilmesi gerekenler

Yükseltmeden önce işlemsel çoğaltma için Log Okuyucu Aracı'nı çalıştırın

SQL Server'ı yükseltmeden önce, yayımlanan tablolardan taahhüt edilmiş tüm işlemlerin Günlük Okuyucu Aracısı tarafından işlenmiş olduğundan emin olmanız gerekir. Tüm işlemlerin işlendiğine emin olmak için, işlem yayınları içeren her veritabanı için aşağıdaki adımları uygulayın:

  1. Veritabanı için Log Okuyucu Aracısı'nın çalıştığından emin olun. Varsayılan ayarlarda, aracı sürekli çalışır.

  2. Yayımlanan tablolarda kullanıcı etkinliğini durdurun.

  3. Günlük Okuyucu Aracısı'nın işlemleri dağıtım veritabanına kopyalaması için zaman tanıyın, ardından aracıyı durdurun.

  4. Tüm işlemlerin işlendiğini doğrulamak için sp_replcmds yürütür. Bu yordamdan alınan sonuç kümesi boş olmalıdır.

  5. sp_replflush komutunu çalıştırarak sp_replcmds bağlantıyı kapatın

  6. Sunucu yükseltmesini SQL Server'ın en son sürümüne gerçekleştirin.

  7. Yükseltmeden sonra otomatik olarak başlatılmazsa SQL Server Agent'ı ve Günlük Okuyucu Aracısı'nı yeniden başlatın.

Yükseltmeden sonra birleştirme çoğaltması için aracıları çalıştırın

Yükseltmeden sonra, çoğaltma meta verilerini güncelleştirmek için her birleştirme yayını için Snapshot Agent'ı ve her abonelik için Birleştirme Aracısı'nı çalıştırın. Yeni anlık görüntüyü uygulamanıza gerek yok, çünkü abonelikleri yeniden başlatmak gerekmiyor. Yükseltmeden sonra Birleştirme Aracısı ilk kez çalıştırıldığında abonelik meta verileri güncelleştirilir. Bu, abonelik veritabanının Yayımcı yükseltmesi sırasında çevrimiçi ve etkin kalabileceği anlamına gelir.

Birleştirme çoğaltımı, yayın ile abonelik meta verilerini, yayın ve abonelik veritabanlarındaki çeşitli sistem tablolarında depolar. Snapshot Agent'ın çalıştırılması yayın meta verilerini güncelleştirir ve Birleştirme Aracısı abonelik meta verilerini güncelleştirir. Sadece bir yayın anlık görüntüsü oluşturulması gereklidir. Birleştirme yayınları parametreli filtreler kullanıyorsa, her bölümün bir anlık görüntüsü de vardır. Bu bölümlenmiş anlık görüntüleri güncelleştirmek gerekli değildir.

ARACıları SQL Server Management Studio, Çoğaltma İzleyicisi veya komut satırından çalıştırın. Snapshot Agent'ı çalıştırma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Birleştirme Aracısı'nı çalıştırma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Birleştirme çoğaltması kullanan bir topolojide SQL Server'ı yükselttikten sonra, yeni özellikleri kullanmak istiyorsanız yayınların yayın uyumluluk düzeyini değiştirin.

Standard, Workgroup veya Express sürümlerine yükseltme

SQL Server'ın bir sürümünden diğerine yükseltmeden önce, şu anda kullandığınız işlevselliğin yükseltme yaptığınız sürümde desteklendiğini doğrulayın. Daha fazla bilgi için, SQL Server 2022'nin vesürümlerinde yer alan Çoğaltma ve desteklenen özellikler bölümüne bakın.

Çoğaltma topolojisini yükseltme adımları

Bu adımlar, çoğaltma topolojisindeki sunucuların yükseltilme sırasını özetler. İşlem veya birleştirme çoğaltması çalıştırırken de aynı adımlar geçerlidir. Ancak bu adımlar Eşler Arası çoğaltmayı, kuyruğa alınmış güncelleme aboneliklerini veya anında güncellenen abonelikleri kapsamaz.

Yerinde yükseltme

  1. Dağıtımcıyı yükseltin.
  2. Yayımcıyı ve Aboneyi yükseltin. Bunlar herhangi bir sırayla yükseltilebilir.

Note

SQL Server 2008 (10.0.x) ve SQL Server 2008 R2 (10.50.x) için, çoğaltma topolojisi matrisiyle uyumlu olması için yayımcı ve abone yükseltmesinin aynı anda yapılması gerekir. SQL Server 2008 (10.0.x) ve SQL Server 2008 R2 (10.50.x) yayımcılarının veya abonelerinin SQL Server 2016 (13.x) (veya üzeri) yayımcısı veya abonesi olamaz. Aynı anda yükseltme mümkün değilse, BIR ara yükseltme kullanarak SQL Server örneklerini SQL Server 2014'e (12.x) yükseltin ve sonra bunları yeniden SQL Server 2016(13.x) (veya üzeri) sürümüne yükseltin.

Paralel yükseltme

  1. Dağıtımcıyı yükseltin.
  2. Yeni SQL Server örneğinde Dağıtımı Yapılandır'ı yeniden yapılandırın.
  3. Yayımcıyı yükseltin.
  4. Aboneyi yükseltin.
  5. Abonenin yeniden başlatılması dahil olmak üzere tüm Publisher-Subscriber çiftlerini yeniden yapılandırın.

Dağıtımcının Windows Server'a yan yana geçiş adımları

Yan yana yükseltme, yük devretme kümesine katılan SQL Server örnekleri için kullanılabilen tek yükseltme yoludur. Aşağıdaki adımlar tek başına bir SQL Server örneğinde veya bir Yük Devretme Kümesi Örneği (FCI) içinde gerçekleştirilebilir.

  1. Windows Server üzerinde, farklı bir Windows kümesi ve SQL Server FCI veya tek başına konak adına sahip olarak yeni bir SQL Server örneği (tek başına veya FCI), edisyonu ve sürümünü dağıtımcınız olarak ayarlayın. Çoğaltma aracılarının yürütülebilir dosyalarının, çoğaltma klasörlerinin ve veritabanı dosya yollarının yeni ortamda aynı yolda bulunduğundan emin olmak için dizin yapısını eski dağıtımcıyla aynı tutmanız gerekir. Bu, geçiş/yükseltme sonrası gerekli adımları azaltır.

  2. Çoğaltmanızın eşitlendiğinden emin olun ve ardından tüm çoğaltma ajanlarını kapatın.

  3. Geçerli SQL Server Dağıtımcısı örneğini kapatın. Bu tek başına bir örnekse sunucuyu kapatın. Bu bir SQL Server FCI ise, SQL Server rolünün tamamını, ağ adı da dahil olmak üzere, küme yöneticisinde çevrimdışı duruma getirin.

  4. Eski (geçerli dağıtımcı örneği) ortamı için DNS ve Active Directory bilgisayar nesnesi girdilerini kaldırın.

  5. Yeni sunucunun ana bilgisayar adını eski sunucununkiyle eşleşecek şekilde değiştirin.

    1. Bu bir SQL Server FCI ise, yeni SQL Server FCI'yi eski örnekle aynı sanal sunucu adıyla yeniden adlandırın.
  6. SAN yeniden yönlendirmesini, depolama kopyasını veya dosya kopyasını kullanarak önceki örnekteki veritabanı dosyalarını kopyalayın.

  7. Yeni SQL Server örneğini çevrimiçine getirin.

  8. Tüm çoğaltma aracılarını yeniden başlatın ve aracıların başarıyla çalışıp çalışmadığını doğrulayın.

  9. Çoğaltmanın beklendiği gibi çalışıp çalışmadiğini doğrulayın.

  10. SQL Server örneğinizin SQL Server'ın yeni sürümüne yerinde yükseltmesini çalıştırmak için SQL Server kurulum medyasını kullanın.

Note

Kapalı kalma süresini azaltmak için, dağıtımcının yan yana geçişini bir etkinlik olarak, SQL Server için mevcut sistem üzerinde yükseltmeyi ise ayrı bir etkinlik olarak gerçekleştirmenizi öneririz. Bu, aşamalı bir yaklaşım benimsemenize, riski azaltmanıza ve kapalı kalma süresini en aza indirmenize olanak tanır.

Birleştirme replikasyonu için web eşitlemesi

Birleştirme çoğaltması için Web eşitleme seçeneği, SQL Server Çoğaltma Dinleyicisi'ni (replisapi.dll) eşitleme için kullanılan Internet Information Services (IIS) sunucusundaki sanal dizine kopyalamanızı gerektirir. Web eşitlemesini yapılandırdığınızda, Web Eşitlemesini Yapılandırma Sihirbazı dosyayı sanal dizine kopyalar. IIS sunucusunda yüklü SQL Server bileşenlerini yükseltirseniz, replisapi.dll COM dizininden IIS sunucusundaki sanal dizine el ile kopyalamanız gerekir. Web eşitlemesini yapılandırma hakkında daha fazla bilgi için bkz. Web Eşitlemesini Yapılandırma.

Çoğaltılmış veritabanını önceki bir sürümden geri yükleme

Çoğaltılan veritabanının bir yedeği önceki bir sürümden geri yüklenirken çoğaltma ayarlarının korunduğundan emin olmak için: yedeklemenin alındığı sunucu ve veritabanıyla aynı adlara sahip bir sunucuya ve veritabanına geri yükleme.