Öğretici: Geçiş/Yükseltme PostgreSQL için Azure DB - Tek Sunucudan PostgreSQL için Azure DB'a - DMS kullanarak çevrimiçi olarak Azure portal
Veritabanlarını Azure Veritabanı Geçiş Hizmeti bir PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinden PostgreSQL için Azure Veritabanı'nin aynı veya farklı sürümüne geçirmek için PostgreSQL için Azure Veritabanı - Tek Sunucu örneği veya PostgreSQL için Azure Veritabanı - En az kapalı kalma süresine sahip Esnek Sunucu kullanabilirsiniz. Bu öğreticide, PostgreSQL için Azure Veritabanı v10'daki çevrimiçi geçiş etkinliğini kullanarak DVD Rental örnek veritabanını PostgreSQL için Azure Veritabanı - Tek Sunucu'ya Azure Veritabanı Geçiş Hizmeti.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- pg_dump yardımcı programını kullanarak örnek şemayı geçirme.
- Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
- Azure Veritabanı Geçiş Hizmeti'da bir geçiş Azure Veritabanı Geçiş Hizmeti.
- Geçişi çalıştırma.
- Geçişi izleme.
- Geçiş için geçiş işlemi gerçekleştirin.
Not
Çevrimiçi Azure Veritabanı Geçiş Hizmeti gerçekleştirmek için Premium kullanmak için fiyatlandırma katmanını temel alan Premium gerekir. Geçiş işlemi sırasında veri hırsızlığını önlemek için diski şifrelemektedir
Önemli
En iyi geçiş deneyimi için Microsoft, hedef veritabanıyla Azure Veritabanı Geçiş Hizmeti Azure bölgesinde bir sanal ağ örneği oluşturulmasını önerer. Verileri bölgeler veya coğrafyalar arasında taşımak, geçiş sürecini yavaşlatabilir ve hatalara neden olabilir.
Önemli
PostgreSQL için Azure Veritabanı PostgreSQL sürüm 9.x ve sonraki sürümlerde de destekleniyor. Bu öğreticiyi, bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı veya Hiper Ölçek (Citus) kullanabilirsiniz. PostgreSQL 9.5 ve 9.6'dan, kaynak örnekte ek mantıksal çoğaltma ayrıcalıklarına ihtiyaç olduğunu unutmayın.
Önkoşullar
Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:
Desteklenen geçiş ve sürüm birleşimleri için Azure Veritabanı Geçiş Hizmeti geçiş senaryolarının durumunu kontrol edin.
DVD Rental PostgreSQL için Azure Veritabanı 10 ve sonraki bir sürümü olan mevcut bir örnek.
Ayrıca, hedef PostgreSQL için Azure Veritabanı sürümünün şirket içi PostgreSQL sürümüne eşit veya daha sonraki bir sürümü olması gerektiğini unutmayın. Örneğin PostgreSQL 10, PostgreSQL için Azure Veritabanı 10 veya 11'e geçirilir, ancak 9.6'PostgreSQL için Azure Veritabanı geçirilmez.
Bir PostgreSQL için Azure Veritabanı sunucusu oluşturun veya PostgreSQL için Azure Veritabanı - Hiper Ölçek (Citus) geçirilir hedef veritabanı sunucusu olarak bir sunucu oluşturun.
Dağıtım Microsoft Azure kullanarak Azure Veritabanı Geçiş Hizmeti sanal ağ Azure Resource Manager oluşturun. Sanal ağ oluşturma hakkında daha fazla bilgi için Sanal Ağ Belgeleri'ne ve özellikle adım adım ayrıntıların yer alan hızlı başlangıç makalesine bakın.
Sanal ağ için Ağ Güvenlik Grubu (NSG) kurallarının ServiceBus, Depolama ve AzureMonitor için ServiceTag'in 443 giden bağlantı noktasını engellemeyebilirsiniz. Sanal ağ NSG trafiği filtreleme hakkında daha fazla ayrıntı için Ağ güvenlik gruplarıyla ağ trafiğini filtreleme makalesine bakın.
Kaynak veritabanlarına erişmesine izin vermek PostgreSQL için Azure Veritabanı sunucu düzeyinde Azure Veritabanı Geçiş Hizmeti güvenlik duvarı kuralı oluşturun. Sanal ağ için kullanılan sanal ağın alt ağ aralığını Azure Veritabanı Geçiş Hizmeti.
Hedef veritabanlarına erişim izni vermek PostgreSQL için Azure Veritabanı için sunucu Azure Veritabanı Geçiş Hizmeti güvenlik duvarı kuralı oluşturun. Sanal ağ için kullanılan sanal ağın alt ağ aralığını Azure Veritabanı Geçiş Hizmeti.
Kaynakta mantıksal çoğaltmayı PostgreSQL için Azure DB etkinleştirin.
Kaynak olarak kullanılan PostgreSQL için Azure Veritabanı sunucu örneğinde aşağıdaki Sunucu parametrelerini ayarlayın:
- max_replication_slots = [yuva sayısı], on yuvaya ayarlamayı önerin
- max_wal_senders =[eşzamanlı görev sayısı] - max_wal_senders parametresi, çalışabilecek eşzamanlı görevlerin sayısını ayarlar; önerilen ayar 10 görevdir
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 toplama hakkında daha fazla bilgi için, bkz. Configure PostgreSQL için Azure Veritabanı Server Parameters.
Önemli
Mevcut veritabanınızdaki tüm tabloların, değişikliklerin hedef veritabanıyla eşitlenene bir birincil anahtara sahip olması gerekir.
Ö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.
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 -O -x > dvdrentalSchema.sqlpg_dump yardımcı programını kullanma hakkında daha fazla bilgi için pg-dump öğreticisindeki örneklere bakın.
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'de PostgreSQL için Azure Veritabanı sunucusu oluşturma veya Azure portal'de PostgreSQL için Azure Veritabanı - Hiper Ölçek (Citus) sunucusu oluşturma makalesine Azure portal.
Not
PostgreSQL için Azure Veritabanı örneği Hiper Ölçek (Citus) tek veritabanı vardır: citus.
Ş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Örneğin:
psql -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sqlNot
Geçiş hizmeti, güvenilir ve sağlam bir veri geçişi sağlamak için yabancı anahtarların ve tetikleyicilerin etkinleştirme/devre dışı bırakma işlemini dahili olarak ele almaktadır. Sonuç olarak, hedef veritabanı şemasında herhangi bir değişiklik yapma konusunda endişelenmeniz gerekli değildir.
Microsoft.DataMigration kaynak sağlayıcısını kaydetme
Azure portalında oturum açın. Abonelikler'i arayın ve seçin.

Örnek oluşturmak istediğiniz aboneliği seçin ve Azure Veritabanı Geçiş Hizmeti sağlayıcılar'ı seçin.

Geçiş araması ve ardından Microsoft.DataMigration için kaydol'u seçin.

DMS örneği oluşturma
Açılan Azure portal + Kaynak oluştur'a tıklayın, Azure Veritabanı Geçiş Hizmeti araması Azure Veritabanı Geçiş Hizmeti açılan listeden Kaynak'ı seçin.

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

Geçiş Hizmeti Oluştur ekranında bir ad, abonelik, yeni veya mevcut bir kaynak grubu ve hizmetin konumunu belirtin.
Var olan bir sanal ağı seçin veya yeni bir sanal ağ oluşturun.
Sanal ağ, Azure Veritabanı Geçiş Hizmeti PostgreSQL sunucusuna ve hedef sunucu örneğine PostgreSQL için Azure Veritabanı sağlar.
Sanal ağ oluşturma hakkında daha fazla bilgi için Azure portal kullanarak sanal ağ oluşturma makalesine Azure portal.
Fiyatlandırma katmanını seçin.
Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

Hizmeti oluşturmak için Gözden geçir ve oluştur'a 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.
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.

Azure Veritabanı Geçiş Hizmetleri ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğinin adını arayın, örneği seçin ve ardından+ Yeni Geçiş Project.
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 ise PostgreSQL için Azure Veritabanı.
Not
Kaynak sunucu bir örnek olsa bile Kaynak sunucu türünde PostgreSQL'PostgreSQL için Azure Veritabanı seçin.
Etkinlik türünü seçin bölümünde Çevrimiçi veri geçişi'ne tıklayın.

Not
Alternatif olarak, Geçiş projesini şimdi oluşturmak ve geçişi daha sonra yürütmek için Yalnızca proje oluştur'ı seçebilirsiniz.
Kaydet'i seçin, verileri geçirmek için Azure Veritabanı Geçiş Hizmeti gereksinimlerini not edin ve ardından Etkinlik oluştur ve çalıştır'ı seçin.
Kaynak ayrıntılarını belirtme
Kaynak Ayrıntıları Ekle ekranında, kaynak PostgreSQL örneğinin bağlantı ayrıntılarını belirtin.

Not
"Sunucu adı", "Sunucu bağlantı noktası", "Veritabanı adı" vb. gibi ayrıntıları PostgreSQL için Azure Veritabanı bulabilirsiniz.
Kaydet’i seçin.
Hedef ayrıntılarını belirtme
Hedef ayrıntıları ekranında, DVD Rentals şemasının Hiper Ölçek (Citus) kullanılarak dağıtıldı olduğu önceden sağlanan Hiper Ölçek (Citus) örneği olan hedef Hiper Ölçek (Citus) sunucusunun bağlantı ayrıntılarını pg_dump.

Not
Bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı sunucu örneğine veya bir Hiper Ölçek (Citus) geçirebilirsiniz.
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.

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

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ş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österecek şekilde güncelleştirilmektedir. PostgreSQL için Azure DB 9.5 veya 9.6'dan yükseltme sırasında aşağıdaki hatayla karşılaşsanız:
Senaryo bilinmeyen bir hata bildirdi. 28000: "40.121.141.121" ana bilgisayarlarından çoğaltma bağlantısı için pg_hba.conf girişi 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 olmasıdır. Gerekli ayrıcalıkları etkinleştirmek için şunları yapabilirsiniz:
- Geçiş/yükseltmeye çalıştığınız kaynak PostgreSQL için Azure DB için "Bağlantı güvenliği" ayarlarını açın.
- "_replrule" ile biten bir adla yeni bir güvenlik duvarı kuralı ekleyin ve hata iletisinden başlangıç IP'sini ve Bitiş IP'sini alanlarına 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
- Kaydet'e tıklayın ve değişikliğin tamamlanmıştır.
- DMS etkinliğini yeniden deneyin.
Geçişi izleme
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ş tamamlandığında, Veritabanı Adı altında Tam veri yükleme ve Artımlı veri eşitleme işlemleri için geçiş durumuna almak üzere belirli bir veritabanı seçin.
Not
Tam veri yüklemesi ilk yük geçiş durumunu, Artımlı veri eşitlemesi ise değişiklik verilerini yakalama (CDC) durumunu gösterir.


Tam geçiş gerçekleştirme
İlk Tam yük tamamlandıktan sonra, veritabanları Geçiş için hazır olarak işaretlenir.
Veritabanı geçişini tamamlamaya hazır olduğunuzda Tam Geçişi Başlat seçeneğini belirleyin.
Bekleyen değişiklikler sayacının 0'ı gösterip kaynak veritabanına gelen tüm işlemlerin durdurulması için bekleyin, Onayla onay kutusunu seçin ve uygula'ya tıklayın.

Veritabanı geçiş durumu Tamamlandı olarak gösteriyorsa, dizileri yeniden oluşturun (varsa) ve uygulamalarınızı yeni hedef örneğine PostgreSQL için Azure Veritabanı.
Not
Azure Veritabanı Geçiş Hizmeti- Tek Sunucu'da ana sürüm yükseltmelerini daha az kapalı kalma süresiyle PostgreSQL için Azure Veritabanı için kullanılabilir. Önce istenen daha yüksek PostgreSQL sürümü, ağ ayarları ve parametrelerle hedef veritabanını yapılandırabilirsiniz. Ardından, yukarıda açıklanan yordamı kullanarak hedef veritabanlarına geçişi başlatabilirsiniz. Hedef veritabanı sunucusuna son olarak, uygulama bağlantı dizenizi hedef veritabanı sunucusunu işaret etmek için güncelleştirebilirsiniz.
Sonraki adımlar
- PostgreSQL için Azure Veritabanı'na yönelik çevrimiçi geçiş gerçekleştirirken karşılaşılan bilinen sorunlar ve sınırlamalar hakkında bilgi için PostgreSQL için Azure Veritabanı geçiş işlemleri ile ilgili bilinen sorunlar ve geçici çözümler başlıklı makaleye bakın.
- Azure Veritabanı Geçiş Hizmeti hakkında bilgi için What is the Azure Database Migration Service? (Azure Veritabanı Geçiş Hizmeti nedir?) başlıklı makaleye bakın.
- Daha fazla PostgreSQL için Azure Veritabanı için Bkz. Hangi PostgreSQL için Azure Veritabanı?.