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.
Veritabanlarını SQL Server'ın şirket içi örneğinden Azure SQL Veritabanı'na (çevrimdışı) geçirmek için Azure portal aracılığıyla Azure Veritabanı Geçiş Hizmeti'ni kullanabilirsiniz.
Bu öğreticide, Veritabanı Geçiş Hizmeti'ni kullanarak örnek AdventureWorks2022 veritabanını SQL Server'ın şirket içi örneğinden Azure SQL Veritabanı'na geçirmeyi öğreneceksiniz. Bu öğreticide, geçiş işlemi sırasında kabul edilebilir bir kapalı kalma süresini dikkate alan çevrimdışı geçiş modu kullanılır.
Bu eğitimde şunları öğreniyorsunuz:
- Azure Veritabanı Geçiş Hizmeti'nin örneğini oluşturma
- Geçişinizi başlatın ve tamamlanma ilerlemesini izleyin
Önemli
Şu anda Azure SQL Veritabanı hedefleri için çevrimiçi geçişler Azure Veritabanı Geçiş Hizmeti ile kullanılamamaktadır. Çevrimdışı geçişte, geçiş başladığında uygulama kapalı kalma süresi başlar. Kapalı kalma süresinin kabul edilebilir olup olmadığını belirlemek için çevrimdışı geçişi test etmek önerilir.
Geçiş seçenekleri
Aşağıdaki bölümde Azure Portal ile Azure Veritabanı Geçiş Hizmeti'nin nasıl kullanılacağı açıklanmaktadır.
Önkoşullar
Öğreticiye başlamadan önce:
Azure portalına erişebildiğinizden emin olun.
Microsoft.DataMigration kaynak sağlayıcısının aboneliğinize kayıtlı olduğundan emin olun.
Aşağıdaki yerleşik rollerden birine atanmış bir Azure hesabına sahip olmanız gerekir:
- Hedef Azure SQL Veritabanı için katkıda bulunan
- Hedef Azure SQL Veritabanı'nı içeren Azure kaynak grubu için okuyucu rolü
- Azure aboneliği için Sahip ya da Katkıda Bulunan rolü (yeni bir Azure Veritabanı Geçiş Hizmeti örneği oluşturmanız durumunda gereklidir)
Bu yerleşik rollerden birini kullanmaya alternatif olarak, özel bir rol atayabilirsiniz.
Kaynak SQL Server örneğine bağlanan SQL Server oturum açma bilgilerinin db_datareader rolünün üyesi olduğundan ve hedef SQL Server örneğinin oturum açma bilgilerinin db_owner rolünün bir üyesi olduğundan emin olun.
Veritabanı Geçiş Hizmeti'ni kullanarak veritabanı Şemasını kaynaktan hedef Azure SQL Veritabanı'na geçirmek için, gereken en düşük desteklenen SHIR sürümü 5,37 veya üzeridir.
Şema geçişi için, kaynak SQL Server'daki en düşük izinler veritabanına erişmek için db_owner ve hedef Azure SQL Veritabanı'nda kullanıcının aşağıdaki tabloda yer alan tüm sunucu düzeyi rollerinin üyesi olması gerekir:
| Görevler | Açıklama |
|---|---|
| ##MS_DatabaseManager## |
##MS_DatabaseManager## sabit sunucu rolünün üyeleri veritabanları oluşturabilir ve silebilir.
Veritabanı oluşturan ##MS_DatabaseManager## rolünün bir üyesi, bu veritabanının sahibi olur ve bu da kullanıcının bu veritabanına dbo kullanıcısı olarak bağlanmasına olanak tanır. dbo kullanıcısının veritabanındaki tüm veritabanı izinleri vardır.
##MS_DatabaseManager## rolünün üyeleri, sahip olmadığı veritabanlarına erişme iznine sahip olmayabilir. Bu sunucu rolünün veritabanında var olan master veritabanı düzeyi rolü yerine kullanılması önerilir. |
| ##MS_DatabaseConnector## | ##MS_DatabaseConnector## sabit sunucu rolünün üyeleri, veritabanındaki bir kullanıcı hesabının bağlanmasına gerek kalmadan herhangi bir veritabanına bağlanabilir. |
| ##MS_DefinitionReader## |
##MS_DefinitionReader## sabit sunucu rolünün üyeleri, bu rolün üyesinin kullanıcı hesabına sahip olduğu herhangi bir veritabanında kapsanan VIEW ANY DEFINITION tüm katalog görünümlerini okuyabilir. |
| ##MS_LoginManager## |
##MS_LoginManager## sabit sunucu rolünün üyeleri oturum açma bilgileri oluşturabilir ve silebilir. Bu sunucu rolünün, veritabanında mevcut olan master veritabanı düzeyi rolü yerine kullanılması önerilir. |
Hedef Azure SQL Veritabanı'nı hazırlama
Hedef Azure SQL Veritabanı'nda oturum açma bilgilerini ve kullanıcıyı oluşturmak için veritabanında aşağıdaki betiği master çalıştırın:
CREATE LOGIN testuser WITH PASSWORD = '<password>';
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
GO
ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
GO
CREATE USER testuser FOR LOGIN testuser;
EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
EXECUTE sp_addRoleMember 'loginmanager', 'testuser';
Artık Veritabanı Geçiş Hizmeti'ni kullanarak hem veritabanı şemasını hem de verileri geçirebilirsiniz. Geçirilebilecek tabloların listesini seçmeden önce şemayı geçirmek için Visual Studio Code'daki SQL Veritabanı Projeleri uzantısı gibi diğer araçları da kullanabilirsiniz.
Uyarı
Azure SQL Veritabanı hedefinde tablo yoksa veya geçişi başlatmadan önce hiçbir tablo seçilmediyse, geçişi başlatmak için İleri düğmesi kullanılamaz. Hedefte tablo yoksa, ilerlemek için şema geçiş seçeneğini belirlemeniz gerekir.
Veritabanı Geçiş Hizmeti örneği oluşturma
1. Adım:Azure portalındaAzure Veritabanı Geçiş Hizmeti sayfasına gidin. Azure Veritabanı Geçiş Hizmeti'nin yeni bir örneğini oluşturun veya daha önce oluşturduğunuz mevcut bir örneği yeniden kullanın.
Veritabanı Geçiş Hizmeti'nin mevcut bir örneğini kullanma
Veritabanı Geçiş Hizmeti'nin mevcut bir örneğini kullanmak için:
Azure portalında, Azure Veritabanı Geçiş Hizmetleri'nin altında kullanmak istediğiniz mevcut bir Veritabanı Geçiş Hizmeti örneğini seçerek doğru Kaynak Grubunda ve bölgede mevcut olduğundan emin olun.
Veritabanı Geçiş Hizmeti'nin yeni bir örneğini oluşturma
Veritabanı Geçiş Hizmeti'nin yeni bir örneğini oluşturmak için:
Azure portalında, Azure Veritabanı Geçiş Hizmeti'nin altında Oluştur'u seçin.
Geçiş senaryosunu ve Veritabanı Geçiş Hizmeti'ni seçin bölümünde Kaynak ve Hedef sunucu türü gibi istediğiniz girişi seçin, Veritabanı Geçiş Hizmeti'ni ve seç'i seçin.
Sonraki ekranda Veri Geçiş Hizmeti Oluştur'da aboneliğinizi ve kaynak grubunuzu seçin, ardından Konum'u seçin ve Veritabanı Geçiş Hizmeti adını girin. Gözden geçir + Oluştur’u seçin. Bu, Azure Veritabanı Geçiş Hizmeti'ni oluşturur.
Kendi kendine barındırılan tümleştirme çalışma zamanı (SHIR) gerekiyorsa, Veritabanı Geçiş Hizmetinizin genel bakışında ve Ayarlar altında Tümleştirme çalışma zamanı'nı seçin ve aşağıdaki adımları tamamlayın:
Tümleştirme çalışma zamanını yapılandır'ı seçin ve indirme bağlantısını bir web tarayıcısında açmak için Tümleştirme çalışma zamanını indir ve yükle bağlantısını seçin. Tümleştirme çalışma zamanını indirin ve ardından kaynak SQL Server örneğine bağlanma önkoşullarını karşılayan bir bilgisayara yükleyin. Daha fazla bilgi için bkz. Veritabanı geçişleri için kendi kendine barındırılan entegrasyon çalışma zamanı.
Yükleme tamamlandığında, kayıt işlemini başlatmak için Microsoft Integration Runtime Configuration Manager otomatik olarak açılır.
Kimlik doğrulama anahtarı tablosunda, sihirbazda sağlanan kimlik doğrulama anahtarlarından birini kopyalayın ve Microsoft Integration Runtime Configuration Manager'a yapıştırın.
Kimlik doğrulama anahtarı geçerliyse Integration Runtime Configuration Manager'da yeşil bir onay simgesi görüntülenir. Yeşil bir onay işareti, kaydolmaya devam edebileceğinizi belirtir.
Kendi kendine barındırılan tümleştirme çalışma zamanını kaydettikten sonra Microsoft Integration Runtime Configuration Manager'ı kapatın. Veritabanı Geçiş Hizmeti için Azure portalında Ayarlar > Tümleştirme çalışma zamanı altında Düğüm ayrıntılarının yansıması birkaç dakika sürebilir.
Uyarı
Şirket içinde barındırılan tümleştirme çalışma zamanı hakkında daha fazla bilgi için bkz. Şirket içinde barındırılan tümleştirme çalışma zamanı oluşturma ve yapılandırma.
Yeni bir geçiş başlatma
Yeni bir geçiş başlatmak için Azure portalında Azure Veritabanı Geçiş Hizmeti'ne gidin ve +Oluştur'u kullanarak yeni bir Veritabanı Geçiş Hizmeti örneği oluşturun veya var olan bir örneği seçip Azure Veritabanı Geçiş Hizmeti örneğine gidin.
Azure Veritabanı Geçiş Hizmeti örneğinizin Genel Bakış bölmesinde Yeni geçiş'i seçin:
Yeni geçiş senaryosu seçin altında kaynağınızı, hedef sunucu türünü, geçiş modunu seçin ve Seç'i seçin.
Azure SQL Veritabanı Çevrimdışı Geçiş Sihirbazı'nda şu adımları izleyin:
Kaynak ayrıntıları sekmesinde, kaynak SQL Server örneğinin ayrıntılarını girin ve ardından İleri: Kaynak SQL Server'a bağlan'ı seçin:
Kaynak SQL Server'a bağlan sekmesinde bağlantı ayrıntılarını sağlayın ve ardından İleri: Geçiş için veritabanlarını seçin:
Geçiş için veritabanlarını seçin sekmesinde, geçirmek istediğiniz veritabanlarının yanındaki kutuyu işaretleyin. Veritabanları listesinin doldurulabilmesi biraz zaman alabilir. İleri: Hedef Azure SQL Veritabanı'na bağlan'ı seçin.
Hedef Azure SQL Veritabanı'na bağlan sekmesinde bağlantı ayrıntılarını sağlayın ve ardından İleri: Kaynak ve hedef veritabanlarını eşleme'yi seçin:
Kaynak ve hedef veritabanlarını eşle sekmesinde, veritabanlarını kaynak ve hedef arasında eşleyin.
(İsteğe bağlı) Aşağıdaki şema nesnelerini tek bir onay kutusuyla geçirmek üzere eksik şema nesnelerini kaynaktan Azure SQL Veritabanı hedefine dağıtmak için Eksik şemayı geçir seçeneğinin yanındaki kutuyu işaretleyin:
- Şemalar
- Tablolar (seçili)
- Dizinler
- İzlenimler
- Saklı yordamlar (Stored Procedures)
- Eş Anlamlı Sözcükler
- DDL tetikleyicileri (DdlTriggers)
- Varsayılan Ayarlar
- Tam metin katalogları (FullTextCatalogs)
- Plan kılavuzları (PlanGuides)
- Görevler
- Kurallar
- Uygulama Rolleri (ApplicationRoles)
- Kullanıcı tanımlı toplamalar (UserDefinedAggregates)
- Kullanıcı tanımlı veri türleri (UserDefinedDataTypes)
- Kullanıcı tanımlı işlevler (UserDefinedFunctions)
- Kullanıcı tanımlı tablo türleri (UserDefinedTableTypes)
- Kullanıcı tanımlı türler (UserDefinedTypes)
- Kullanıcılar* (her kullanıcı türü değil)
- XmlŞemaKoleksiyonları
Uyarı
- Eksik Şemayı Geçir'i seçerseniz Veritabanı Geçişi hizmeti, veriler geçirilmeden önce şema geçişini gerçekleştirir.
- DMS, tablo nesneleriyle ilgili sorunlar olmadığı sürece şema geçişi hatalarla karşılaşsa bile veri geçişi aşamasına devam eder.
Ardından, tüm tabloları geçirmek için Tüm tabloları seç'i kullanın veya metin giriş kutusunu kullanarak tablo listesini filtreleyin ve geçirecek tek tek tabloları seçin. Ardından İleri: Veritabanı geçiş özeti'ne tıklayın.
Veritabanı geçiş özeti sekmesinde ayrıntıları gözden geçirin ve ardından Veritabanı geçişini başlatan ve sizi otomatik olarak Veritabanı Geçiş Hizmeti panosuna geri götüren Geçişi başlat'ı seçin.
Uyarı
Çevrimdışı geçiş için, geçiş başladığında uygulama kapalı kalma süresi başlar.
Veritabanı geçişini izleme
Veritabanı geçişinizi izlemek için Veritabanı Geçiş Hizmeti örneğinizin Genel Bakış bölmesinde Geçişleri izle'yi seçin.
Geçişler sekmesinde devam eden, tamamlanan ve başarısız olan (varsa) geçişleri izleyebilir veya tüm veritabanı geçişlerini görüntüleyebilirsiniz. Geçiş durumunu güncelleştirmek için menü çubuğunda Yenile'yi seçin.
Veritabanı Geçiş Hizmeti, geçiş durumu her yenilendiğinde bilinen en son geçiş durumunu döndürür. Aşağıdaki tabloda olası durumlar açıklanmaktadır:
Statü Açıklama Oluşturma Hizmet, geçişi başlatıyor. Kopyalamaya hazırlanma Hizmet, hedef tablodaki otomatik durumları, tetikleyicileri ve dizinleri devre dışı bırakmaktadır. Kopyalama Veriler kaynak veritabanından hedef veritabanına kopyalanıyor. Kopyalama tamamlandı Veri kopyalama işlemi tamamlandı. Hizmet, tabloları özgün şemalarına döndürmek için son adımları başlatmak için diğer tabloların kopyalamayı tamamlanmasını bekliyor. Dizinleri yeniden oluşturma Hizmet, hedef tablolardaki dizinleri yeniden oluşturuyor. Başarılı Tüm veriler kopyalanır ve dizinler yeniden oluşturulur. Kaynak adı'nın altında bir veritabanı adı seçerek tablo görünümünü açın.. Bu ayrıntılı görünümde, geçişin geçerli durumunu, o anda bu durumda olan tablo sayısını ve her tablonun ayrıntılı durumunu görürsünüz:
Tüm tablo verileri Azure SQL Veritabanı hedefine geçirildiğinde, Veritabanı Geçiş Hizmeti devam ediyor olan geçiş durumunu Başarılı olarak güncelleştirir.
Uyarı
Veritabanı Geçiş Hizmeti, veri içermeyen tabloları (0 satır) atlayarak geçişi iyileştirir. Geçişi oluştururken tabloları seçmiş olsanız bile, verisi olmayan tablolar listede görünmez.
Azure SQL Veritabanı'na geçişi tamamladınız. Her şeyin sorunsuz ve verimli bir şekilde çalıştığından emin olmak için bir dizi geçiş sonrası görevi gerçekleştirin.
Sınırlamalar
Azure SQL Veritabanı'nın çevrimdışı geçişi, veri taşıma için Azure Data Factory (ADF) işlem hatlarını kullanır ve bu nedenle ADF sınırlamalarına uyar. Veritabanı geçiş hizmeti de oluşturulduğunda buna karşılık gelen bir ADF oluşturulur. Bu nedenle fabrika sınırları hizmet başına uygulanır.
- SHIR'nin yüklü olduğu makine, geçiş için işlem işlevi görür. Bu makinenin veri kopyalamanın cpu ve bellek yükünü işleyebileceğinden emin olun. Daha fazla bilgi edinmek için Kendinden barındırmalı tümleştirme çalışma zamanı oluşturma ve yapılandırma konusunu gözden geçirin.
- Veritabanı sınırı başına 100.000 tablo.
- Hizmet başına 10.000 eşzamanlı veritabanı geçişi.
- Geçiş hızı büyük ölçüde hedef Azure SQL Veritabanı SKU'suna ve yerel Integration Runtime konağına bağlıdır.
- Azure SQL Veritabanı geçişi, ADF'nin başlangıç etkinliklerindeki yükü nedeniyle tablo sayısı arttıkça etkin biçimde ölçeklenemez. Veritabanında binlerce tablo varsa, her tablonun başlangıç işlemi, 1 bit veri içeren bir satırdan oluşsa bile birkaç saniye sürebilir.
- Azure SQL Veritabanı iki bayt karakterli tablo adları şu anda geçiş için desteklenmiyor. Azaltma, geçiş öncesinde tabloları yeniden adlandırmaktır; başarılı bir geçiş sonrasında özgün adlarına geri dönebilirler.
- Büyük blob sütunları içeren tablolar, zaman aşımından dolayı taşınamayabilir.
- SQL Server ayrılmış veritabanı adları şu anda desteklenmiyor.
- Noktalı virgül içeren veritabanı adları şu anda desteklenmemektedir.
- Hesaplanan sütunlar aktarılmaz.
- Kaynak veritabanında varsayılan kısıtlamaları olan ve değerler içeren
NULLsütunlar, NUL'leri korumak yerine hedef Azure SQL veritabanında tanımlı varsayılan değerleriyle geçirilir.