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.
Bu makale, Azure portalında, Azure VM'lerde SQL Server'ı etkinleştirilmiş örneğinizin Azure Arc ile SQL Server VM taşıma işlemi için ortamınızı hazırlamanıza yardımcı olur.
Uyarı
- Azure portalı aracılığıyla Azure VM'lerde SQL Server'a geçiş şu anda önizleme aşamasındadır.
- Geçiş deneyiminiz hakkında doğrudan ürün grubuna geri bildirim sağlayabilirsiniz.
Önkoşullar
SQL Server veritabanlarınızı Azure portalı aracılığıyla Azure VM'lerde SQL Server geçirmek için aşağıdaki önkoşullara ihtiyacınız vardır:
- Etkin bir Azure aboneliği. Hesabınız yoksa ücretsiz bir hesap oluşturun.
- Azure uzantısının son sürümü ile Azure Arc tarafından etkinleştirilen bir SQL Server örneği. Uzantınızı yükseltmek için bkz . Uzantıyı yükseltme.
- Azure VM'de mevcut bir SQL Server kullanmayı seçebilir veya geçiş işlemi sırasında bir hedef SQL Server VM sağlayabilirsiniz. Mevcut bir SQL Server VM'sini kullanmayı seçerseniz, SQL IaaS Aracısı uzantısı ile kayıtlı olmalıdır.
Desteklenen SQL Server sürümleri
SQL Server VM geçişi, Windows ve Linux üzerindeki her SQL Server sürümüyle çalışır.
Aşağıdaki tabloda, geçiş için desteklenen en düşük SQL Server sürümleri listelenmektedir:
| SQL Server sürümü | Gerekli en düşük hizmet güncelleştirmesi |
|---|---|
| SQL Server 2025 (17.x) | SQL Server 2025 RTM (17.0.1000.7) |
| SQL Server 2022 (16.x) | SQL Server 2022 RTM (16.0.1000.6) |
| SQL Server 2019 (15.x) | SQL Server 2019 RTM (15.0.2000.5) |
| SQL Server 2017 (14.x) | SQL Server 2017 RTM (14.0.1000.169) |
| SQL Server 2016 (13.x) | SQL Server 2016 RTM (13.0.1400.361) |
| SQL Server 2014 (12.x) | SQL Server 2014 RTM (12.0.2000.8) |
| SQL Server 2012 (11.x) | SQL Server 2012 RTM (11.0.2100.60) |
İzinler
Bu bölümde, SQL Server veritabanlarınızı Azure portalı aracılığıyla Azure VM'lerde SQL Server geçirmek için gereken izinler açıklanmaktadır.
Kaynak SQL Server örneğinde aşağıdaki izinlere ihtiyacınız vardır:
- En az ayrıcalık etkinleştirirseniz, veritabanı geçiş işlemi sırasında sysadmin gibi gerekli izinler gerektiği gibi verilir.
- En az ayrıcalık kullanamıyorsanız, kaynak SQL Server örneğinde sysadmin izinlerine sahip olmanız gerekir.
Geçişi gerçekleştirmek için hedef Azure VM'de Virtual Machine Contributor rolüne sahip olmanız gerekir.
Depolama hesabı oluşturma
SQL Server örneğin ve Azure VM'nizdeki SQL Server arasında yedekleme dosyaları için aracı depolama alanı olarak bir Azure Blob Storage hesabı kullanırsınız. Depolama hesabının Azure VM hedefinizdeki SQL Server ile aynı Azure aboneliğinde ve bölgesinde olması gerekir.
Depolama hesabı içinde yeni bir depolama hesabı ve blob kapsayıcısı oluşturmak için:
-
Depolama hesabı oluşturma:
- Azure portalında Depolama hesapları için arama yapın ve Create öğesini seçin.
- Temel Bilgiler sekmesinde aboneliğinizi ve kaynak grubunuzu seçin. Bölge, Azure VM üzerindeki hedef SQL Server ile aynı olmalıdır.
- Tercih edilen depolama türünü boş bırakın.
- Diğer sekmeler için varsayılan ayarları kullanın ve Gözden geçir ve oluştur'u seçin.
- Doğrulama başarılı olduktan sonra Oluştur'u seçin.
-
Depolama hesabının içinde bir blob kapsayıcısı oluşturun.
- Azure portalında yeni depolama hesabınıza gidin.
- Veri depolama'nın altında Kapsayıcılar'ı seçin.
- Kapsayıcı ekle'yi kullanarak Yeni kapsayıcı bölmesini açın.
- Kapsayıcınız için bir ad girin, seçenekleri varsayılan değerlerinde bırakın ve oluştur'u seçerek kapsayıcınızı oluşturun.
- (İsteğe bağlı) Eğer Azure Storage sisteminiz bir güvenlik duvarının arkasındaysa, Azure Blob depolamanız, SQL Server VM'niz sağlandıktan sonra ek yapılandırma gerektirir. VM adlı alt ağ için yetkilendirmeyi yapılandırın.
Azure Blob Storage izinleri verme
Azure Arc'ta SQL Server sanal makine geçişi, Azure Blob Storage'e kimlik doğrulamak için yönetilen kimlik kullanır.
Aşağıdaki izinleri vermeniz gerekir:
- Geçiş işlemi sırasında yedeklemeleri depolamayı planladığınız depolama hesabına kullanıcıya erişim izni verin.
- Kullanıcıya depolama hesabını içeren kaynak grubuna erişim izni verin.
- SQL Server VM'niz sağlandıktan sonra yönetilen kimliğe depolama hesabına erişim izni verin.
Kullanıcıya depolama hesabına erişim izni verme
Geçiş işlemi sırasında veritabanı yedeklemelerine erişmek için, Azure portalında oturum açan ve yedeklemeleri içeren depolama hesabının Depolama Blob Veri Okuyucusu rolüne geçişi gerçekleştiren kullanıcıyı atayın.
Rolü atamak için şu adımları izleyin:
Azure portalında depolama hesabınızı içeren kaynak grubuna gidin.
Kaynak menüsünden Erişim denetimi (IAM) öğesini seçin.
+ Ekle'yi kullanarak Rol ataması ekle seçeneğini seçin ve Rol ataması ekle bölmesini açın.
Depolama Blobu Veri Okuyucusu rolünü arayın ve seçin. Ardından İleri'yi seçin.
Üyeleri seç bölmesini açmak için + Üyeleri seçin'i kullanın ve geçişi gerçekleştiren kişinin kullanıcı hesabını arayın. Verileri birden çok kişi taşıyorsa, bu kullanıcıların hepsine bu erişimi verin. Kullanıcı hesabını seçin ve seçiminizi kaydetmek için Seç'i kullanın. Kullanıcı, grup veya hizmet sorumlusuna erişim atama seçeneğini işaretleyin.
Gözden geçir + ata seçerek Gözden geçir + ata sekmesine gidin ve ardından rol atamasını tamamlamak için Gözden geçir + ata'yı yeniden seçin.
Kullanıcıya kaynak grubuna erişim izni verme
Geçiş işlemi sırasında veritabanı yedeklemelerine erişmek için, Azure portalında oturum açan ve geçişi gerçekleştiren kullanıcıya depolama hesabını içeren kaynak grubunda Reader rolü atanmalıdır.
Rolü atamak için şu adımları izleyin:
Azure portalında depolama hesabınızı içeren kaynak grubuna gidin.
Kaynak menüsünden Erişim denetimi (IAM) öğesini seçin.
+ Ekle'yi kullanarak Rol ataması ekle seçeneğini seçin ve Rol ataması ekle bölmesini açın.
Okuyucu rolünü arayın ve seçin. Ardından İleri'yi seçin.
Üyeleri seç bölmesini açmak için + Üyeleri seçin'i kullanın ve geçişi gerçekleştiren kişinin kullanıcı hesabını arayın. Verileri birden çok kişi taşıyorsa, bu kullanıcıların hepsine bu erişimi verin. Kullanıcı hesabını seçin ve seçiminizi kaydetmek için Seç'i kullanın. Kullanıcı, grup veya hizmet sorumlusuna erişim atama seçeneğini işaretleyin ve devam etmek için İleri'yi kullanın.
Atama türü sekmesinde Atama türü'nüEtkin ve Atama süresi'niKalıcı olarak ayarlayın:
Gözden geçir + ata seçerek Gözden geçir + ata sekmesine gidin ve ardından rol atamasını tamamlamak için Gözden geçir + ata'yı yeniden seçin.
Depolama hesabına yönetilen kimlik erişimi verme
SQL Server VM'niz sağlandıktan sonra, geçiş işlemi sırasında Azure Blob Storage hesabınıza erişebilmesi için SQL Server VM'nizin yönetilen kimliğini Storage Blob Veri Okuyucusu rolüne atamanız gerekir.
İlk olarak, SQL Server VM'nizin ne tür yönetilen kimlik kullandığını belirlemeniz gerekir. Bunu yapmak için şu adımları izleyin:
- Azure portalında Virtual machines kaynağınıza gidin.
-
Güvenlik'in altında Kimlik'i seçerek Kimlik bölmesini açın.
Sistem tarafından atanan kimliği veya Kullanıcı tarafından atanan kimliği kullanma arasında seçim yapın:
- Sistem tarafından atanan sekmesinde, sistem tarafından atanan kimlik etkinleştirilmemişse etkinleştirmek için Durum anahtarını kullanabilirsiniz. Sistem tarafından atanan kimlik etkinse, ardından Azure rol atamaları seçeneğini seçerek Azure rol atamaları sayfasına gidip +Rol ataması ekle (Önizleme) kullanarak SQL Server VM'in sistem tarafından atanan kimliğine Storage Blob Veri Okuyucusu izinleri vermek için Scope olarak Storage'ı seçip kaynağınızı seçin.
- Kullanıcı atandı sekmesinde, SQL Server VM'ye eklenen kullanıcı tarafından atanan kimliklerin listesini görebilirsiniz. Yeni bir kullanıcı tarafından atanan kimlik eklemek istiyorsanız, + Kullanıcı tarafından atanan kimlik ekle öğesini seçin ve ardından aboneliğinizden SQL Server VM'ye eklemek için mevcut kullanıcı tarafından atanan kimliği seçin. Sonraki adımlarda gerek duyacağınız gibi, Azure Blob Storage kimlik doğrulaması için kullanmak istediğiniz kullanıcı tarafından atanan kimliğin adını not edin.
Depolama hesabına kullanıcı tarafından atanan yönetilen kimliğe erişim vermek için şu adımları izleyin:
- Geçiş için kullanmayı planladığınız Azure portalında Azure Blob Storage hesabına gidin.
- Kaynak menüsünden Erişim denetimi (IAM) öğesini seçin.
- + Ekle'yi kullanarak Rol ataması ekle seçeneğini seçin ve Rol ataması ekle bölmesini açın.
- Depolama Blobu Veri Okuyucusu rolünü arayın ve seçin. Ardından İleri'yi seçin.
- Erişim ata'nın altında, Yönetilen kimlik seçeneğini seçin.
- Üyeleri seçin bölmesini açmak için Üyeleri seçin'i kullanın.
- Yönetilen kimlik'in altında Kullanıcı tarafından atanan yönetilen kimlik'i seçin.
- daha önce SQL Server VMIdentity sayfasında not ettiğiniz Primary identity adını arayın ve seçin.
- Seçiminizi kaydetmek için Seç'i kullanın.
- Gözden geçir + ata seçerek Gözden geçir + ata sekmesine gidin ve ardından rol atamasını tamamlamak için Gözden geçir + ata'yı yeniden seçin.
yedekleri Blob Storage hesabınıza yükleme
Blob kapsayıcınız hazır olduğunda ve SQL Server VM'nizin kapsayıcıya erişebildiğini onayladıktan sonra yedeklemelerinizi Azure Blob Storage hesabınıza yüklemeye başlayabilirsiniz. Tüm yedeklemeleriniz depolama hesabınıza yüklendiğinde geçiş işlemine devam etmeye hazır olursunuz.
Yedeklemelerinizi Azure yüklemek için:
- SQL Server örneğinde yedeklemeleri alın.
- Yedeklemelerinizi Blob Storage hesabınıza alın.
Aşağıdaki en iyi yöntemleri göz önünde bulundurun:
- Yedekleme dosyalarının boyutunu küçültmek ve bozuk bir veritabanının geçirilmesini önlemek için
COMPRESSIONveCHECKSUMseçenekleriyle yedeklemeler alın. - Daha küçük toplu yedeklemeler alın.
- Yükleme iş parçacıklarını paralel kullanın.
- Son yedekleme dosyasını olabildiğince küçük yapın.
- Aynı Azure Blob Storage kapsayıcısını kullanarak birden çok veritabanını geçirmek için, tek bir veritabanının tüm yedekleme dosyalarını kapsayıcı içinde ayrı bir klasöre yerleştirin. Her veritabanı klasörü için düz dosya yapısı kullanın. Klasörleri veritabanı klasörlerinin içine yerleştirme desteklenmez.
SQL Server örneğinde yedek alma
Bu bölümdeki adımlarda yerel olarak nasıl yedeklendiğiniz gösterilmektedir, ancak doğrudan URL'ye yedeklemek de mümkündür.
Günlük yedeklemelerine izin vermek için tam kurtarma modeline geçirmek istediğiniz veritabanlarını ayarlayın.
-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;
ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO
Henüz mevcut yedeklemeleriniz yoksa veritabanınızın tam, değişiklik ve günlük yedeklemelerini yerel depolama alanına el ile yapmak için aşağıdaki örnek T-SQL betiklerini kullanın.
CHECKSUM gerekli değildir, ancak bozuk bir veritabanının taşınamamasını önlemek ve geri yükleme işlemlerinin hızlanması için önerilir.
Aşağıdaki örnek, yerel diske tam veritabanı yedeklemesi alır:
-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;
GO
Aşağıdaki örnek, yerel diske diferansiyel yedek alır.
-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO
Aşağıdaki örnek, yerel diske bir işlem günlüğü yedeklemesi alır:
-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_log.trn'
WITH COMPRESSION, CHECKSUM;
GO
Yedeklemeleri Blob Storage hesabınıza kopyalama
Yedeklemeleriniz hazır olduktan ve veritabanlarını SQL Server bir VM'ye geçirmeyi başlatmak istiyorsanız, mevcut yedeklemeleri Blob Storage hesabınıza kopyalamak için aşağıdaki yaklaşımları kullanın:
- AzCopy indirin ve yükleyin.
- Azure Storage Explorer indirip yükleyin.
- Azure portalında
Storage Explorer kullanın.
Uyarı
Aynı Azure Blob Storage kapsayıcısını kullanarak birden çok veritabanını geçirmek için, tek bir veritabanının tüm yedekleme dosyalarını kapsayıcı içinde ayrı bir klasöre yerleştirin. Her veritabanı klasörü için düz dosya yapısı kullanın. Klasörleri veritabanı klasörlerinin içine yerleştirme desteklenmez.
SQL Server VM depolama erişiminizi doğrulama
SQL Server VM'nizin Blob Storage hesabınıza erişebildiğini doğrulayın.
İlk olarak, full_0_0.bak gibi tüm veritabanı yedeklemelerini Azure Blob Storage kapsayıcınıza yükleyin.
Ardından SQL Server VM'nize bağlanın ve SQL Server VM'nizin kapsayıcıdaki yedeklemeye erişip erişemeyeceğini belirlemek için örnek bir test sorgusu çalıştırın.
Depolama hesabınızda kimlik doğrulaması yapmak için SAS belirteci kullanıyorsanız <sastoken> değerini SAS belirtecinizle değiştirin ve SQL Server VM'nizde aşağıdaki sorguyu çalıştırın:
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/databases]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<sastoken>';
RESTORE HEADERONLY
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';
SQL IaaS Aracısı uzantısıyla SQL Server VM'leri kaydetme
Hedef SQL Server VM'niz zaten varsa, Azure portalında geçiş hedefi olarak seçebilmeniz için önce SQL IaaS Aracısı uzantısıyla kaydetmeniz gerekir. Hedef SQL Server VM'niz henüz mevcut değilse, geçiş işlemi sırasında yeni bir vm sağlayabilirsiniz ve sql IaaS Aracısı uzantısına otomatik olarak kaydedilir.
Sınırlamalar
SQL Server veritabanlarınızı Azure portalı aracılığıyla Azure VM'lerdeki SQL Server'a taşırken aşağıdaki sınırlamaları göz önünde bulundurun:
- Tek bir veritabanını geçirirseniz, veritabanı yedeklerini bir veritabanı klasörünün (kapsayıcı kök klasörü dahil) içinde düz bir dosya yapısına yerleştirmeniz gerekir. İç içe yerleştirme desteklenmediğinden bu klasörleri iç içe yerleştiremezsiniz.
- Aynı Azure Blob Storage kapsayıcısını kullanarak birden çok veritabanını geçirirseniz, farklı veritabanları için yedekleme dosyalarını kapsayıcının içindeki ayrı klasörlere yerleştirmeniz gerekir.
- DMS kullanarak bir Azure VM'deki hedef SQL Server varolan veritabanlarının üzerine yazamazsınız.
- SQL Server geçişi, hedefte kaynak topolojisi ile eşleşecek şekilde yüksek kullanılabilirlik ve olağanüstü durum kurtarma yapılandırmayı desteklemez.
- Aşağıdaki sunucu nesneleri desteklenmez:
- SQL Server Agent işleri
- Credentials
- SQL Server Integration Services (SSIS) paketleri
- Sunucu denetimi
- DMS ile veritabanı geçişleri için Azure Data Factory'den (ADF) oluşturulmuş mevcut bir kendi kendine barındırılan tümleştirme çalışma zamanını kullanamazsınız.
- SQL Server 2008 ve daha eski sürümlerini hedefleyen VM'ler, Azure VM'lerdeki SQL Server'a geçiş yapıldığında desteklenmez.
- Geçiş için SQL IaaS Aracısı uzantısıyla kayıt gereklidir. Uzantı yalnızca varsayılan bir örneği veya tek bir adlandırılmış örneği destekler.
- Aynı anda bir veya daha fazla geçiş kullanarak hedefle aynı Azure VM'ye en fazla 100 veritabanı geçirebilirsiniz. Ayrıca, 100 veritabanı içeren bir geçiş tamamlandıktan sonra, en az 30 dakika bekleyip, bir Azure VM üzerinde aynı SQL Server'ı hedef alan yeni bir geçiş başlatın. Ayrıca, her veritabanı için her geçiş işlemi (geçişi başlatma, tam geçiş) sırayla birkaç dakika sürer. Örneğin, 100 veritabanını geçirmek için, geçiş kuyruklarının oluşturulması yaklaşık 200 (2 x 100) dakika ve 100 veritabanının tamamının (yedekleme ve geri yükleme zamanlaması hariç) tam olarak tamamlanması yaklaşık 100 (1 x 100) dakika sürebilir. Bu nedenle, veritabanı sayısı arttıkça geçiş yavaşlar. Önceden sıkı geçiş testlerine dayalı olarak daha uzun bir geçiş penceresi zamanlamalı veya çok sayıda veritabanını Azure VM'deki SQL Server'a geçirirken toplu partilere ayırmanız gerekir.
- vm'nizin yedekleme dosyalarına erişmesine izin vermek için Azure Storage hesabınızın Ağ/Güvenlik Duvarı'nı yapılandırmanın dışında, depolama hesabınıza giden bağlantıya izin vermek için bir Azure VM'de SQL Server Ağ/Güvenlik Duvarı'nı da yapılandırmanız gerekir.
- SQL Server geçişi devam ederken hedef Azure VM'yi açık tutmanız gerekir. Ayrıca, yeni bir geçiş oluştururken, devam etmekte olan geçişleri yük devret veya iptal et.
Sonraki adım
İlgili içerik
- Azure Arc'ta SQL Server geçişi
- Azure Arc ile etkinleştirilen SQL Server genel bakışı
- Geçiş deneyimine ilişkin geri bildirim doğrudan ürün grubuna iletilsin