Öğretici: PostgreSQL için Azure Veritabanı Geçirme/Yükseltme - Tek Sunucudan PostgreSQL için Azure Veritabanı'a - Azure portal aracılığıyla DMS kullanarak tek sunucu çevrimiçi

veritabanlarını PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinden PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinin aynı veya farklı sürümüne geçirmek için Azure Veritabanı Geçiş Hizmeti kullanabilirsiniz veya PostgreSQL için Azure Veritabanı - Minimum kapalı kalma süresine sahip Esnek Sunucu. Bu öğreticide, Azure Veritabanı Geçiş Hizmeti'daki çevrimiçi geçiş etkinliğini kullanarak DVD Kiralama örnek veritabanını bir PostgreSQL için Azure Veritabanı v10'dan PostgreSQL için Azure Veritabanı - Tek Sunucu'ya geçirirsiniz.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:

  • pg_dump yardımcı programını kullanarak örnek şemayı geçirin.
  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Azure Veritabanı Geçiş Hizmeti'de bir geçiş projesi oluşturun.
  • Geçişi çalıştırma.
  • Geçişi izleme.
  • Tam geçiş gerçekleştirin.

Not

Çevrimiçi geçiş gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanmak için Premium fiyatlandırma katmanını temel alan bir örnek oluşturmanız gerekir. Geçiş işlemi sırasında veri hırsızlığını önlemek için diski şifreleriz

Önemli

En iyi geçiş deneyimi için Microsoft, hedef veritabanıyla aynı Azure bölgesinde bir Azure Veritabanı Geçiş Hizmeti örneği oluşturmanızı önerir. Verileri bölgeler veya coğrafyalar arasında taşımak, geçiş sürecini yavaşlatabilir ve hatalara neden olabilir.

Önemli

postgreSQL sürüm 9.x ve üzeri için PostgreSQL için Azure Veritabanı geçişi desteklenir. Bu öğreticiyi, bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı örneğine veya Hiper Ölçek (Citus) örneğine geçirmek için de kullanabilirsiniz. PostgreSQL 9.5 ve 9.6'dan geçişin kaynak örnekte fazladan mantıksal çoğaltma ayrıcalıkları gerektirdiğini unutmayın.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:

Not

Yukarıdaki sunucu parametreleri statiktir ve etkili olması için PostgreSQL için Azure Veritabanı örneğinizin yeniden başlatılmasını gerektirir. Sunucu parametrelerini geçiş yapma hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Sunucu Parametrelerini Yapılandırma.

Önemli

Mevcut veritabanınızdaki tüm tablolar, değişikliklerin hedef veritabanıyla eşitlenebilmesini sağlamak için birincil anahtara ihtiyaç duyar.

Örnek şemayı geçirme

Tablo şemaları, dizinler ve saklı yordamlar gibi tüm veritabanı nesnelerini tamamlamak için kaynak veritabanındaki şemayı ayıklamamız ve veritabanına uygulamamız gerekir.

  1. Bir veritabanına yönelik şema döküm dosyası oluşturmak için pg_dump -s komutunu kullanın.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Örneğin, dvdrental veritabanı için bir şema döküm dosyası oluşturmak için:

    pg_dump -O -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -x > dvdrentalSchema.sql
    

    pg_dump yardımcı programını kullanma hakkında daha fazla bilgi için pg-dump öğreticisindeki örneklere bakın.

  2. Hedef ortamınız olan PostgreSQL için Azure Veritabanı içinde boş bir veritabanı oluşturun.

    Veritabanına bağlanma ve veritabanı oluşturma hakkında ayrıntılı bilgi için Azure portal PostgreSQL için Azure Veritabanı sunucusu oluşturma veya PostgreSQL için Azure Veritabanı- Hiper Ölçek (Citus) sunucusu oluşturma makalesine bakın Azure portal.

    Not

    PostgreSQL için Azure Veritabanı - Hiper Ölçek 'in (Citus) tek bir veritabanı vardır: citus.

  3. Şema döküm dosyasını geri yükleyerek, şemayı oluşturduğunuz hedef veritabanına aktarın.

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Örnek:

    psql -h mypgserver-source.postgres.database.azure.com  -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sql
    

    Not

    Geçiş hizmeti, güvenilir ve sağlam bir veri geçişi sağlamak için yabancı anahtarları etkinleştirme/devre dışı bırakma işlemlerini dahili olarak işler ve tetikler. Sonuç olarak, hedef veritabanı şemasında herhangi bir değişiklik yapma konusunda endişelenmeniz gerekmez.

Kaynak sağlayıcısını kaydetme

İlk Veritabanı Geçiş Hizmeti örneğinizi oluşturmadan önce Microsoft.DataMigration kaynak sağlayıcısını kaydedin.

  1. Azure portalında oturum açın. Abonelikler'i arayın ve seçin.

    Portal aboneliklerini gösterme

  2. Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz aboneliği seçin ve ardından Kaynak sağlayıcıları'nı seçin.

    Kaynak sağlayıcılarını gösterme

  3. Geçiş için arama yapın ve ardından Microsoft.DataMigration'aKaydol'u seçin.

    Kaynak sağlayıcısını kaydetme

DMS örneği oluşturma

  1. Azure portal + Kaynak oluştur'u seçin, Azure Veritabanı Geçiş Hizmeti arayın ve açılan listeden Azure Veritabanı Geçiş Hizmeti seçin.

    Azure Market

  2. Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.

    Azure Veritabanı Geçiş Hizmeti örneğini oluşturma

  3. Geçiş Hizmeti Oluştur ekranında bir ad, abonelik, yeni veya mevcut bir kaynak grubu ve hizmetin konumunu belirtin.

  4. Mevcut bir sanal ağı seçin veya yeni bir ağ oluşturun.

    Sanal ağ, Azure Veritabanı Geçiş Hizmeti kaynak PostgreSQL sunucusuna ve hedef PostgreSQL için Azure Veritabanı örneğine erişim sağlar.

    Azure portal sanal ağ oluşturma hakkında daha fazla bilgi için Azure portal kullanarak sanal ağ oluşturma makalesine bakın.

  5. Fiyatlandırma katmanını seçin.

    Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

    Azure Veritabanı Geçiş Hizmeti örneği ayarlarını yapılandırma

  6. Hizmeti oluşturmak için Gözden geçir + oluştur'u seçin.

    Hizmet oluşturma işlemi yaklaşık 10-15 dakika içinde tamamlanır.

Geçiş projesi oluşturma

Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.

  1. Azure portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.

    tüm Azure Veritabanı Geçiş Hizmeti örneklerini bulma

  2. Azure Veritabanı Geçiş Hizmetleri ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğin adını arayın, örneği seçin ve ardından + Yeni Geçiş Projesi'ni seçin.

  3. Yeni geçiş projesi ekranında proje için bir ad belirtin, Kaynak sunucu türü metin kutusunda PostgreSQL'i seçin, Hedef sunucu türü metin kutusunda PostgreSQL için Azure Veritabanı'i seçin.

    Not

    Kaynak sunucu bir PostgreSQL için Azure Veritabanı örneği olsa bile Kaynak sunucu türündePostgreSQL'i seçin.

  4. Etkinlik türünü seçin bölümünde Çevrimiçi veri geçişi'ni seçin.

    Azure Veritabanı Geçiş Hizmeti proje oluşturma

    Not

    Alternatif olarak, Yalnızca proje oluştur'u seçerek geçiş projesini şimdi oluşturabilir ve geçişi daha sonra yürütebilirsiniz.

  5. Kaydet'i seçin, verileri geçirmek için Azure Veritabanı Geçiş Hizmeti başarıyla kullanma gereksinimlerini not edin ve ardından Etkinlik oluştur ve çalıştır'ı seçin.

Kaynak ayrıntılarını belirtme

  1. Kaynak Ayrıntıları Ekle ekranında, kaynak PostgreSQL örneğinin bağlantı ayrıntılarını belirtin.

    Kaynak Ayrıntıları Ekleyin ekranı

    Not

    "Sunucu adı", "Sunucu bağlantı noktası", "Veritabanı adı" gibi ayrıntıları bulabilirsiniz. PostgreSQL için Azure Veritabanı portalında.

  2. Kaydet’i seçin.

Hedef ayrıntılarını belirtme

  1. Hedef ayrıntıları ekranında, DVD Rentals şemasının pg_dump kullanılarak dağıtıldığı hiper ölçek (Citus) için önceden sağlanan örnek olan hedef Hiper Ölçek (Citus) sunucusunun bağlantı ayrıntılarını belirtin.

    Hedef ayrıntıları ekranı

    Not

    Bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı tek sunuculu örneğe veya hiper ölçek (Citus) sunucusuna geçiş yapabilirsiniz.

  2. Kaydet'i seçin ve Hedef veritabanlarıyla eşleyin ekranında geçiş yapılacak kaynak ve hedef veritabanlarını eşleyin.

    Hedef veritabanı kaynak veritabanıyla aynı veritabanı adını içeriyorsa, Azure Veritabanı Geçiş Hizmeti varsayılan olarak hedef veritabanını seçer.

    Hedef veritabanlarına eşle ekranı

  3. Kaydet'i seçin ve geçiş ayarları ekranında varsayılan değerleri kabul edin.

    Geçiş ayarları ekranı

  4. Kaydet'i seçin, Geçiş özeti ekranındaki Etkinlik adı metin kutusunda geçiş etkinliği için bir ad belirtin ve ardından, kaynak ve hedef ayrıntılarının önceden belirttiğiniz ayrıntılarla eşleştiğinden emin olmak üzere özeti gözden geçirin.

    Geçiş özeti ekranı

Geçişi çalıştırma

  • Geçişi çalıştır'ı seçin.

Geçiş etkinliği penceresi görüntülenir ve etkinliğin Durumu , Yedekleme Sürüyor olarak gösterilecek şekilde güncelleştirilmelidir. PostgreSQL için Azure Veritabanı 9.5 veya 9.6'dan yükseltme yaparken aşağıdaki hatayla karşılaşabilirsiniz:

Bir senaryo bilinmeyen bir hata bildirdi. 28000: "40.121.141.121" ana bilgisayarından çoğaltma bağlantısı için pg_hba.conf girdisi yok, kullanıcı "sr"

Bunun nedeni PostgreSQL'in gerekli mantıksal çoğaltma yapıtlarını oluşturmak için uygun ayrıcalıklara sahip olmamasıdır. Gerekli ayrıcalıkları etkinleştirmek için aşağıdakileri yapabilirsiniz:

  1. Geçirmeye/yükseltmeye çalıştığınız kaynak PostgreSQL için Azure Veritabanı sunucusu için "Bağlantı güvenliği" ayarlarını açın.
  2. Adı "_replrule" ile biten yeni bir güvenlik duvarı kuralı ekleyin ve hata iletisindeki IP adresini başlangıç IP'sine ve Bitiş IP'sine ekleyin. Yukarıdaki hata örneği için -

Güvenlik duvarı kuralı adı = sr_replrule; Başlangıç IP'i = 40.121.141.121; Uç IP = 40.121.141.121

  1. Kaydet'e tıklayın ve değişikliğin tamamlanmasını sağlayın.
  2. DMS etkinliğini yeniden deneyin.

Geçişi izleme

  1. Geçiş etkinliği ekranında Yenile'yi seçerek, gösterilen verileri, geçişin Durum bilgisi Tamamlandı olana kadar güncelleştirebilirsiniz.

    Geçiş işlemini izleme

  2. Geçiş tamamlandığında Veritabanı Adı'nın altında, Tam veri yükü ve Artımlı veri eşitleme işlemleri için geçiş durumuna ulaşmak için belirli bir veritabanını seçin.

    Not

    Tam veri yükü ilk yük geçiş durumunu gösterirken Artımlı veri eşitlemesi değişiklik veri yakalama (CDC) durumunu gösterir.

    Tam veri yükleme ayrıntıları

    Artımlı veri eşitleme ayrıntıları

Tam geçiş gerçekleştirme

İlk Tam yük tamamlandıktan sonra, veritabanları Geçiş için hazır olarak işaretlenir.

  1. Veritabanı geçişini tamamlamaya hazır olduğunuzda Tam Geçişi Başlat seçeneğini belirleyin.

  2. Kaynak veritabanına gelen tüm işlemlerin durdurulmasını sağlamak için Bekleyen değişiklikler sayacı 0'ı gösterene kadar bekleyin, Onayla onay kutusunu ve ardından Uygula'yı seçin.

    Tam tam ekran

  3. Veritabanı geçiş durumu Tamamlandı olarak gösterildiğinde, dizileri yeniden oluşturun (varsa) ve uygulamalarınızı yeni PostgreSQL için Azure Veritabanı hedef örneğine bağlayın.

Not

Azure Veritabanı Geçiş Hizmeti, PostgreSQL için Azure Veritabanı - Tek Sunucu'da düşük kapalı kalma süresiyle ana sürüm yükseltmeleri gerçekleştirmek için kullanılabilir. Önce istenen daha yüksek PostgreSQL sürümüne, ağ ayarlarına ve parametrelere sahip bir hedef veritabanı yapılandırabilirsiniz. Ardından, yukarıda açıklanan yordamı kullanarak hedef veritabanlarına geçişi başlatabilirsiniz. Hedef veritabanı sunucusuna tam geçiş yaptıktan sonra, uygulama bağlantı dizenizi hedef veritabanı sunucusuna işaret eden şekilde güncelleştirebilirsiniz.

Sonraki adımlar