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.
Şunlar için geçerlidir:Azure SQL Yönetilen Örneği
Bu makalede, Transact-SQL ve PowerShell veya Azure CLI betikleriyle SQL Server ve Azure SQL Yönetilen Örneği arasında link yapılandırmayı öğreneceksiniz. Bağlantıyla, birincil veritabanlarınız neredeyse gerçek zamanlı olarak ikincil replikaya çoğaltılır.
Bağlantı oluşturulduktan sonra, geçiş veya olağanüstü durum kurtarma amacıyla ikincil kopyanıza yük devredebilirsiniz.
Not
- Bağlantıyı SQL Server Management Studio (SSMS) ile yapılandırmak da mümkündür.
- SQL Server 2022 CU10 itibariyle Azure SQL Yönetilen Örneği'ın ilk birincil olarak yapılandırılması desteklenmektedir.
Genel bakış
Bağlantı özelliğini kullanarak veritabanlarınızı orijinal birincil kopyanızdan ikincil replikaya çoğaltın. SQL Server 2022 için ilk birincil SQL Server veya Azure SQL Yönetilen Örneği olabilir. SQL Server 2019 ve önceki sürümler için ilk birincil SQL Server olmalıdır. Bağlantı yapılandırıldıktan sonra, ilk birincil veritabanı ikincil kopyaya çoğaltılır.
Birincil ve ikincil çoğaltma arasındaki karma bir ortamda sürekli veri replikasyonu için bağlantıyı yerinde bırakmayı seçebilir veya veritabanını ikincil çoğaltmaya yük devredebilir, Azure'a geçiş yapmak için veya olağanüstü durum kurtarma amacıyla kullanabilirsiniz. SQL Server 2019 ve önceki sürümlerde, Azure SQL Yönetilen Örneği'a yük devretme işlemi bağlantıyı keser ve geri yükleme desteklenmez. SQL Server 2022 ile bağlantıyı koruma ve iki replika arasında geçiş yapma seçeneği vardır.
İkincil yönetilen örneğinizi yalnızca olağanüstü durum kurtarma için kullanmayı planlıyorsanız karma yük devretme avantajını etkinleştirerek lisanslama maliyetlerinden tasarruf edebilirsiniz.
SQL Server ile Azure SQL Yönetilen Örneği arasındaki bağlantıyı el ile ayarlamak için bu makaledeki yönergeleri kullanın. Bağlantı oluşturulduktan sonra, kaynak veritabanınıza hedef ikincil replikada salt okunur bir kopya oluşturulur.
İpucu
Ortamınız için doğru parametrelerle T-SQL betiklerini kullanmayı kolaylaştırmak için, bağlantıyı oluşturmak üzere bir betik oluşturmak üzere SQL Server Management Studio (SSMS) içindeki Managed Instance bağlantı sihirbazını kullanmanızı kesinlikle öneririz. Yeni Managed Instance bağlantısı penceresinin Summary sayfasında Finish yerine Script öğesini seçin.
Önkoşullar
Veritabanlarınızı çoğaltmak için aşağıdaki önkoşullara ihtiyacınız vardır:
- Etkin bir Azure aboneliği. Aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
- Desteklenen SQL Server sürümü gerekli hizmet güncellemesi yüklü.
- Azure SQL Yönetilen Örneği. Eğer yoksa başlayın.
- PowerShell modülü Az.SQL 6.0.0 veya üzeri veya Azure CLI 2.67.0 veya üzeri. Komutları çalıştırmak için tercihen web tarayıcısından çevrimiçi Azure Cloud Shell kullanın çünkü her zaman en son modül sürümleriyle güncelleştirilir.
- Düzgün hazırlanmış bir ortam.
Aşağıdaki topluluklara bir göz atın:
- Bağlantı özelliği, bağlantı başına bir veritabanını destekler. Bir örnekte birden çok veritabanını çoğaltmak için her bir veritabanı için bir bağlantı oluşturun. Örneğin, 10 veritabanını SQL Yönetilen Örneği çoğaltmak için 10 ayrı bağlantı oluşturun.
- SQL Server ile SQL Yönetilen Örneği arasındaki harmanlama aynı olmalıdır. Dizilimdeki bir uyumsuzluk, sunucu adının büyük/küçük harflerinde bir uyuşmazlığa neden olabilir ve bu da SQL Server'ın SQL Yönetilen Örneği'a başarılı bir şekilde bağlanmasını engelleyebilir.
- İlk SQL Server birincil sunucusundaki 1475 hatası,
COPY ONLYseçeneği olmadan tam bir yedekleme yaparak yeni bir yedekleme zinciri başlamanız gerektiğini belirtir. - SQL Yönetilen Örneği'tan SQL Server 2025'e bağlantı kurmak veya yük devretmek için, SQL Yönetilen Örneği, SQL Server 2025 güncelleştirme ilkesiyle yapılandırılmalıdır. SQL Yönetilen Örneği'tan SQL Server 2025'e veri çoğaltma ve yük devretme, uyumsuz güncelleme ilkesiyle yapılandırılmış örnekler tarafından desteklenmez.
- SQL Yönetilen Örneği'tan SQL Server 2022'ye bağlantı kurmak veya yük devretmek için, SQL Yönetilen Örneği'in SQL Server 2022 güncelleştirme ilkesi ile yapılandırılmış olması gerekir. SQL Yönetilen Örneği'tan SQL Server 2022'ye veri yansıtma ve yük devretme, uyumsuz güncelleştirme ilkesiyle yapılandırılmış örnekler tarafından desteklenmez.
- Desteklenen bir SQL Server sürümünden Always-up-to-date güncelleştirme ilkesiyle yapılandırılmış bir SQL Yönetilen Örneği'a bağlantı kurabilirsiniz, ancak SQL Yönetilen Örneği'a yük devrettikten sonra artık verileri çoğaltamaz veya SQL Server örneğinize geri dönemezsiniz.
İzinler
SQL Server için sysadmin izinlerine sahip olmanız gerekir.
Azure SQL Yönetilen Örneği için SQL Yönetilen Örneği Contributor üyesi olmanız veya aşağıdaki özel rol izinlerine sahip olmanız gerekir:
| Microsoft. Sql/ kaynak | Gerekli izinler |
|---|---|
| Microsoft.Sql/managedInstances | /oku, /yaz |
| Microsoft.Sql/managedInstances/hybridCertificate | /eylem |
| Microsoft.Sql/managedInstances/databases | /okuma, /silme, /yazma, /tamamlaGeriYükleme/eylem, /yedekleriOku/eylem, /geriYüklemeDetayları/okuma |
| Microsoft.Sql/managedInstances/distributedAvailabilityGroups | /oku, /yaz, /sil, /rolüAyarla/action |
| Microsoft.Sql/managedInstances/endpointCertificates | /okumak |
| Microsoft.Sql/managedInstances/hybridLink | /oku, /yaz, /sil |
| Microsoft. Sql/managedInstances/serverTrustCertificates | /yaz, /sil, /oku |
Terminoloji ve adlandırma kuralları
Bu kullanıcı kılavuzunda betikleri çalıştırırken, SQL Server ve SQL Yönetilen Örneği adlarını tam etki alanı adları (FQDN) ile karıştırmamak önemlidir. Aşağıdaki tabloda, çeşitli adların tam olarak neyi temsil ettiği ve değerlerini nasıl edinecekleri açıklanmaktadır:
| Terminoloji | Açıklama | Nasıl öğrenilir |
|---|---|---|
| İlk birincil 1 | Veritabanınızı ikincil replikaya çoğaltmak için başlangıçta bağlantı oluşturduğunuz SQL Server veya SQL Yönetilen Örneği. | |
| Birincil replikası | Şu anda birincil veritabanını barındıran SQL Server veya SQL Yönetilen Örneği. | |
| İkincil kopya | Geçerli olan birincil çoğaltmadan neredeyse gerçek zamanlı çoğaltılmış verileri alan bir SQL Server veya SQL Yönetilen Örneği. | |
| SQL Server adı | Kısa, tek sözcüklü SQL Server adı. Örneğin: sqlserver1. | T-SQL'den çalıştırın SELECT @@SERVERNAME . |
| SQL Server FQDN | SQL Server'ınızın tam etki alanı adı (FQDN). Örneğin: sqlserver1.domain.com. | Şirket içi ağ (DNS) yapılandırmanıza veya Azure sanal makine (VM) kullanıyorsanız sunucu adına bakın. |
| SQL Yönetilen Örneği adı | Kısa, tek sözcüklü SQL Yönetilen Örneği adı. Örneğin: managedinstance1. | Azure portalında yönetilen örneğinizin adına bakın. |
| SQL Yönetilen Örneği FQDN | SQL Yönetilen Örneği tam nitelikli etki alanı adı (FQDN). Örneğin: managedinstance1.6d710bcf372b.database.windows.net. | Azure portalındaki SQL Yönetilen Örneği genel bakış sayfasında ana bilgisayar adına bakın. |
| Çözümlenebilir etki alanı adı | IP adresine çözümlenebilen bir DNS adı. Örneğin, nslookup sqlserver1.domain.com çalıştırıldığında 10.0.0.1 gibi bir IP adresi döndürmelidir. |
Komut isteminden komutunu çalıştırın nslookup . |
| SQL Server IP'si | SQL Server IP adresi. SQL Server'da birden çok IP olması durumunda, Azure erişilebilen IP adresini seçin. | SQL Server çalıştıran ana bilgisayar işletim sisteminin komut isteminden ipconfig komutunu çalıştırın. |
1 Azure SQL Yönetilen Örneği'ı ilk birincil olarak yapılandırmak, SQL Server 2022 CU10'dan itibaren desteklenir.
Veritabanı kurtarma ve yedeklemeyi ayarlama
İlk birincil sunucunuz SQL Server ise, bağlantı aracılığıyla çoğaltılacak veritabanlarının tam kurtarma modelinde olması ve en az bir yedeklemeye sahip olması gerekir. Azure SQL Yönetilen Örneği otomatik olarak yedekleme aldığından, SQL Yönetilen Örneği ana sunucunuzsa bu adımı atlayın.
Bir bağlantı oluşturduğunuzda, birincil ve ikincil çoğaltmalar arasındaki ilk tohumlama, birincil çoğaltmadaki veritabanının tam yedeğini alarak, ikincil çoğaltmaya aktararak ve orada geri yükleyerek gerçekleşir. Tam yedeklemeyi aldığınızda, yedeklemenin WITH CHECKSUM geçerli olduğundan ve bozulma olmadığından emin olmak için seçeneğini kullanmanızı öneririz. Daha fazla bilgi için bkz. BACKUP (Transact-SQL).
Çoğaltmak istediğiniz tüm veritabanları için SQL Server aşağıdaki kodu çalıştırın.
<DatabaseName> değerini gerçek veritabanı adınızla değiştirin.
-- Run on SQL Server
-- Set full recovery model for all databases you want to replicate.
ALTER DATABASE [<DatabaseName>] SET RECOVERY FULL
GO
-- Execute backup for all databases you want to replicate.
BACKUP DATABASE [<DatabaseName>] TO DISK = N'<DiskPath>'
GO
Daha fazla bilgi için bkz. Tam Bir Veritabanı Yedeği Oluşturma.
Not
Bağlantı yalnızca kullanıcı veritabanlarının çoğaltılabilmesini destekler. Sistem veritabanlarının çoğaltılma işlemi desteklenmez. Örnek düzeyindeki nesneleri çoğaltmak için (master veya msdb veritabanlarında depolanan), önce bunları betik yazarak dışa aktarmanızı ve ardından hedef örnekte T-SQL betiklerini çalıştırmanızı öneririz.
Örnekler arasında güven oluşturma
İlk olarak, iki örnek arasında güven oluşturmalı ve ağ üzerinden veri iletişim kurmak ve şifrelemek için kullanılan uç noktaların güvenliğini sağlamalısınız. Dağıtılmış kullanılabilirlik grupları, kendi ayrılmış uç noktalarına sahip olmak yerine mevcut kullanılabilirlik grubu veritabanı yansıtma uç noktasını kullanır. Bu nedenle, kullanılabilirlik grubu veritabanı yansıtma uç noktası aracılığıyla iki örnek arasında güvenlik ve güvenin yapılandırılması gerekir.
Not
Bağlantı Always On kullanılabilirlik grubu teknolojisini temel alır. Veritabanı yansıtma uç noktası, diğer örneklerden bağlantı almak için yalnızca kullanılabilirlik grupları tarafından kullanılan özel amaçlı bir uç noktadır. Veritabanı yansıtma uç noktası terimi, SQL Server'ın eski veritabanı yansıtma özelliğiyle karıştırılmamalıdır.
Sertifika tabanlı güven, SQL Server ve SQL Yönetilen Örneği için veritabanı yansıtma uç noktalarının güvenliğini sağlamanın desteklenen tek yoludur. Windows authentication kullanan mevcut kullanılabilirlik gruplarınız varsa, ikincil kimlik doğrulama seçeneği olarak mevcut yansıtma uç noktasına sertifika tabanlı güven eklemeniz gerekir. Bunu, bu makalenin ilerleyen bölümlerinde gösterildiği gibi deyimini ALTER ENDPOINT kullanarak yapabilirsiniz.
Önemli
Sertifikalar son kullanma tarihi ve saatiyle oluşturulur. Süresi dolmadan önce yenilenmeleri ve döndürülmeleri gerekir.
Hem SQL Server hem de SQL Yönetilen Örneği için veritabanı yansıtma uç noktalarının güvenliğini sağlama işlemine genel bakış aşağıda listelenmiştir:
- SQL Server üzerinde bir sertifika oluşturun ve ortak anahtarını alın.
- SQL Yönetilen Örneği sertifikasının ortak anahtarını alın.
- SQL Server ile SQL Yönetilen Örneği arasında genel anahtarları değiştirin.
- SQL Server'a Azure güvencesine sahip kök sertifika yetkilisi anahtarlarını içeri aktarma.
Aşağıdaki bölümlerde bu adımlar ayrıntılı olarak açıklanmaktadır.
SQL Server'da sertifika oluşturma ve ortak anahtarını SQL Yönetilen Örneği'a aktarma
İlk olarak, henüz yoksa veritabanında veritabanı ana anahtarını master oluşturun. Güçlü bir şifre ile değiştirin <password> ve gizli ve güvenli bir yerde saklayın. Bu T-SQL betiğini SQL Server çalıştırın:
-- Run on SQL Server
-- Create a master key encryption password
-- Keep the password confidential and in a secure place
USE MASTER
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
BEGIN
PRINT 'Creating master key.' + CHAR(13) + 'Keep the password confidential and in a secure place.'
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'
END
ELSE
PRINT 'Master key already exists.'
GO
Ardından, SQL Server bir kimlik doğrulama sertifikası oluşturun. Aşağıdaki betikte değiştirin:
-
@cert_expiry_dateile istenen sertifika son kullanma tarihi (gelecekteki tarih).
Bağlantının sürekli çalıştığından emin olmak için bu tarihi kaydedin ve SQL server sertifikasını son kullanma tarihinden önce döndürmek (güncelleştirmek) için bir anımsatıcı ayarlayın.
Önemli
Bu betikten otomatik olarak oluşturulan sertifika adını kullanmanız kesinlikle önerilir. SQL Server kendi sertifika adınızı özelleştirmeye izin verilirken, ad herhangi bir \ karakteri içermemelidir.
-- Create the SQL Server certificate for the instance link
USE MASTER
-- Customize SQL Server certificate expiration date by adjusting the date below
DECLARE @cert_expiry_date AS varchar(max)='03/30/2025'
-- Build the query to generate the certificate
DECLARE @sqlserver_certificate_name NVARCHAR(MAX) = N'Cert_' + @@servername + N'_endpoint'
DECLARE @sqlserver_certificate_subject NVARCHAR(MAX) = N'Certificate for ' + @sqlserver_certificate_name
DECLARE @create_sqlserver_certificate_command NVARCHAR(MAX) = N'CREATE CERTIFICATE [' + @sqlserver_certificate_name + '] ' + char (13) +
' WITH SUBJECT = ''' + @sqlserver_certificate_subject + ''',' + char (13) +
' EXPIRY_DATE = '''+ @cert_expiry_date + ''''+ char (13)
IF NOT EXISTS (SELECT name from sys.certificates WHERE name = @sqlserver_certificate_name)
BEGIN
PRINT (@create_sqlserver_certificate_command)
-- Execute the query to create SQL Server certificate for the instance link
EXEC sp_executesql @stmt = @create_sqlserver_certificate_command
END
ELSE
PRINT 'Certificate ' + @sqlserver_certificate_name + ' already exists.'
GO
Ardından, sertifikanın oluşturulduğunu doğrulamak için SQL Server aşağıdaki T-SQL sorgusunu kullanın:
-- Run on SQL Server
USE MASTER
GO
SELECT * FROM sys.certificates WHERE pvt_key_encryption_type = 'MK'
Sorgu sonuçlarında sertifikanın ana anahtarla şifrelendiğini göreceksiniz.
Artık oluşturulan sertifikanın ortak anahtarını SQL Server alabilirsiniz:
-- Run on SQL Server
-- Show the name and the public key of generated SQL Server certificate
USE MASTER
GO
DECLARE @sqlserver_certificate_name NVARCHAR(MAX) = N'Cert_' + @@servername + N'_endpoint'
DECLARE @PUBLICKEYENC VARBINARY(MAX) = CERTENCODED(CERT_ID(@sqlserver_certificate_name));
SELECT @sqlserver_certificate_name as 'SQLServerCertName'
SELECT @PUBLICKEYENC AS SQLServerPublicKey;
Çıkıştan SQLServerCertName ve SQLServerPublicKey değerlerini kaydedin, çünkü sertifikayı içeri aktarırken bir sonraki adımda bunlara ihtiyacınız olacak.
İlk olarak, Azure oturum açtığınızdan ve yönetilen örneğinizin barındırıldığı aboneliği seçtiğinizden emin olun. Hesabınızda birden fazla Azure aboneliğiniz varsa uygun aboneliği seçmek özellikle önemlidir.
<SubscriptionID> değerini Azure abonelik kimliğiniz ile değiştirin.
# Run in Azure Cloud Shell (select PowerShell console)
# Enter your Azure subscription ID
$SubscriptionID = "<SubscriptionID>"
# Login to Azure and select subscription ID
if ((Get-AzContext ) -eq $null)
{
echo "Logging to Azure subscription"
Login-AzAccount
}
Select-AzSubscription -SubscriptionName $SubscriptionID
Ardından New-AzSqlInstanceServerTrustCertificate PowerShell veya az sql mi partner-cert create Azure CLI komutunu kullanarak kimlik doğrulama sertifikasının ortak anahtarını SQL Server'den Azure'a yükleyin. Örneğin, aşağıdaki PowerShell örneği.
Gerekli kullanıcı bilgilerini doldurun, kopyalayın, yapıştırın ve betiği çalıştırın. Değiştirme:
-
<SQLServerPublicKey>, önceki adımda kaydettiğiniz SQL Server sertifikasının ikili biçimdeki ortak bölümüyle. ile0xbaşlayan uzun bir dize değeridir. - önceki adımda kaydettiğiniz SQL Server sertifika adıyla
<SQLServerCertName>. - Yönetilen örneğinizin kısa adı olan
<ManagedInstanceName>ile.
# Run in Azure Cloud Shell (select PowerShell console)
# ===============================================================================
# POWERSHELL SCRIPT TO IMPORT SQL SERVER PUBLIC CERTIFICATE TO SQL MANAGED INSTANCE
# ===== Enter user variables here ====
# Enter the name for the server SQLServerCertName certificate – for example, "Cert_sqlserver1_endpoint"
$CertificateName = "<SQLServerCertName>"
# Insert the certificate public key blob that you got from SQL Server – for example, "0x1234567..."
$PublicKeyEncoded = "<SQLServerPublicKey>"
# Enter your managed instance short name – for example, "sqlmi"
$ManagedInstanceName = "<ManagedInstanceName>"
# ==== Do not customize the below cmdlets====
# Find out the resource group name
$ResourceGroup = (Get-AzSqlInstance -InstanceName $ManagedInstanceName).ResourceGroupName
# Upload the public key of the authentication certificate from SQL Server to Azure.
New-AzSqlInstanceServerTrustCertificate -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $CertificateName -PublicKey $PublicKeyEncoded
Bu işlemin sonucu, Azure karşıya yüklenen SQL Server sertifikasının özetidir.
Yönetilen örneğe yüklenen tüm SQL Server sertifikalarını görmeniz gerekiyorsa Azure Cloud Shell'da Get-AzSqlInstanceServerTrustCertificate PowerShell veya az sql mi partner-cert list Azure CLI komutunu kullanın. SQL yönetilen örneğine yüklenen SQL Server sertifikayı kaldırmak için Azure Cloud Shell'da Remove-AzSqlInstanceServerTrustCertificate PowerShell veya az sql mi partner-cert delete Azure CLI komutunu kullanın.
sertifika ortak anahtarını SQL Yönetilen Örneği alın ve SQL Server'a aktarın
Bağlantı uç noktasının güvenliğini sağlamak için sertifika, Azure SQL Yönetilen Örneği otomatik olarak oluşturulur. sertifika ortak anahtarını SQL Yönetilen Örneği alın ve aşağıdaki PowerShell örneği gibi Get-AzSqlInstanceEndpointCertificate PowerShell veya az sql mi endpoint-cert show Azure CLI komutunu kullanarak SQL Server aktarın.
Dikkat
Azure CLI'yi kullanırken, sonraki adımlarda kullanmak için PublicKey çıktısının önüne el ile 0x eklemeniz gerekir. Örneğin, PublicKey "0x3082033E30..." gibi görünür.
Aşağıdaki betiği çalıştırın. Değiştirme:
-
<SubscriptionID>Azure abonelik kimliğiniz ile. - Yönetilen örneğinizin kısa adı olan
<ManagedInstanceName>ile.
# Run in Azure Cloud Shell (select PowerShell console)
# ===============================================================================
# POWERSHELL SCRIPT TO EXPORT MANAGED INSTANCE PUBLIC CERTIFICATE
# ===== Enter user variables here ====
# Enter your managed instance short name – for example, "sqlmi"
$ManagedInstanceName = "<ManagedInstanceName>"
# ==== Do not customize the following cmdlet ====
# Find out the resource group name
$ResourceGroup = (Get-AzSqlInstance -InstanceName $ManagedInstanceName).ResourceGroupName
# Fetch the public key of the authentication certificate from Managed Instance. Outputs a binary key in the property PublicKey.
Get-AzSqlInstanceEndpointCertificate -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -EndpointType "DATABASE_MIRRORING" | out-string
PublicKey çıktısının tamamını (0x ile başlar) kopyalayın, çünkü bir sonraki adımda buna ihtiyacınız olacak.
Alternatif olarak, PublicKey'i kopyalama sırasında sorunlarla karşılaşırsanız, bağlantı uç noktası için ortak anahtarını almak üzere yönetilen örnekte T-SQL komutunu EXEC sp_get_endpoint_certificate 4 da çalıştırabilirsiniz.
Ardından, yönetilen örnek güvenlik sertifikasının elde edilen ortak anahtarını SQL Server içeri aktarın. MI uç noktası sertifikasını oluşturmak için SQL Server aşağıdaki sorguyu çalıştırın. Değiştirme:
-
<ManagedInstanceFQDN>yönetilen örneğin tam etki alanı adıyla. - Önceki adımda alınan PublicKey değeriyle (Azure Cloud Shell'den,
<PublicKey>ile başlayan)0xkullanarak. Tırnak işaretleri kullanmanız gerekmez.
Önemli
Sertifikanın adı SQL Yönetilen Örneği FQDN olmalıdır ve değiştirilmemelidir. Özel bir ad kullanılıyorsa bağlantı çalışmaz.
-- Run on SQL Server
USE MASTER
CREATE CERTIFICATE [<ManagedInstanceFQDN>]
FROM BINARY = <PublicKey>
SQL Server'a Azure güvencesine sahip kök sertifika yetkilisi anahtarlarını içeri aktarma.
SQL Server’ın, Azure tarafından sağlanan SQL Yönetilen Örneği ortak anahtar sertifikalarına güvenebilmesi için Azure güvenilir kök sertifika otoritesi (CA) anahtarlarını SQL Server’a aktarmanız gerekmektedir.
Gerekli kök CA anahtarlarını Azure Sertifika Yetkilisi ayrıntıları adresinden indirebilirsiniz. En azından DigiCert Genel Kök G2 ve Microsoft RSA Kök Sertifika Yetkilisi 2017 sertifikalarını indirin ve bunları SQL Server örneğine aktarın. Ancak bağlantıyı birkaç aydan uzun süre çalıştırmayı planlıyorsanız, güvenilir CA listesini güncelleştirme olasılığına karşı olası kesintileri önlemek için Root Sertifika Yetkilileri bölümünde listelenen Azure 7 sertifikanın tümünü indirip içeri aktarın.
Not
SQL Yönetilen Örneği'daki ortak anahtar sertifikasının sertifikasyon yolundaki kök sertifika, Azure’un güvenilen kök Sertifika Yetkilisi (CA) tarafından verilmiştir. Belirli bir kök CA, Azure güvenilen CA listesini güncelleştirdikçe zaman içinde değişebilir. Basitleştirilmiş bir kurulum için Azure Kök Sertifika Yetkilileri içinde listelenen tüm kök CA sertifikalarını yükleyin. Daha önce içeri aktarılan SQL Yönetilen Örneği ortak anahtarı vereni belirleyerek yalnızca gerekli CA anahtarını yükleyebilirsiniz.
Yerel sertifikaları örnek C:\Path\To\<name of certificate>.crt yolu gibi SQL Server örneğine kaydedin ve ardından aşağıdaki Transact-SQL betiğini kullanarak bu yoldan sertifikaları içeri aktarın.
<name of certificate> değerini DigiCert Global Root G2 veya Microsoft RSA Root Certificate Authority 2017 gibi gerçek sertifika adıyla değiştirin.
-- Run on SQL Server
-- Import <name of certificate> root-authority certificate (trusted by Azure), if not already present
IF NOT EXISTS (SELECT name FROM sys.certificates WHERE name = N'<name of certificate>')
BEGIN
PRINT 'Creating <name of certificate> certificate.'
CREATE CERTIFICATE [<name of certificate>] FROM FILE = 'C:\Path\To\<name of certificate>.crt'
--Trust certificates issued by <name of certificate> root authority for Azure database.windows.net domains
DECLARE @CERTID int
SELECT @CERTID = CERT_ID('<name of certificate>')
--For government cloud, use the corresponding SQL Database DNS suffix, e.g. '*.database.usgovcloudapi.net', '*.database.chinacloudapi.cn' etc.
EXEC sp_certificate_add_issuer @CERTID, N'*.database.windows.net'
END
ELSE
PRINT 'Certificate <name of certificate> already exists.'
GO
Not
SQL Server ortamınızda eksik sp_certificate_add_issuer saklı yordamı, SQL Server örneğinizde gerekli hizmet güncellemesinin yüklü olmadığını gösterir.
Son olarak, aşağıdaki dinamik yönetim görünümünü (DMV) kullanarak oluşturulan tüm sertifikaları doğrulayın:
-- Run on SQL Server
USE master
SELECT * FROM sys.certificates
Sertifika zincirini doğrulama
Sertifikalarda zamanlanan veya istemeden yapılan değişiklikler bağlantıyı düşürebilir. Kesintileri önlemek için, SQL Server üzerinde sertifika zincirini düzenli aralıklarla doğrulamak önemlidir.
Yeni bir bağlantı yapılandırıyorsanız veya sertifikaları önceki bölümlerde açıklandığı gibi yakın zamanda içeri aktardıysanız bu adımı atlayın.
Veritabanı yansıtma uç noktasının güvenliğini sağlama
Mevcut bir kullanılabilirlik grubunuz veya SQL Server veritabanı yansıtma uç noktanız yoksa, sonraki adım SQL Server üzerinde veritabanı yansıtma uç noktası oluşturmak ve daha önce oluşturulan SQL Server sertifikasıyla güvenli bir şekilde sağlamaktır. Mevcut bir kullanılabilirlik grubunuz veya yansıtma uç noktanız varsa Var olan bir uç noktayı değiştirme bölümüne atlayın.
SQL Server'da veritabanı yansıtma uç noktasını oluşturun ve güvenli hale getirin
Oluşturulmuş bir veritabanı yansıtma uç noktanız olmadığını doğrulamak için aşağıdaki betiği kullanın:
-- Run on SQL Server
-- View database mirroring endpoints on SQL Server
SELECT * FROM sys.database_mirroring_endpoints WHERE type_desc = 'DATABASE_MIRRORING'
Yukarıdaki sorguda var olan bir veritabanı yansıtma uç noktası gösterilmiyorsa, daha önce oluşturulan SQL Server sertifika adını almak için aşağıdaki betiği SQL Server üzerinde çalıştırın.
-- Run on SQL Server
-- Show the name and the public key of generated SQL Server certificate
USE MASTER
GO
DECLARE @sqlserver_certificate_name NVARCHAR(MAX) = N'Cert_' + @@servername + N'_endpoint'
SELECT @sqlserver_certificate_name as 'SQLServerCertName'
Sonraki adımda ihtiyacınız olacak şekilde SQLServerCertName'i çıkıştan kaydedin.
<EndpointPort> bağlantı noktasında yeni bir veritabanı yansıtma uç noktası oluşturmak ve SQL Server sertifikasıyla uç noktanın güvenliğini sağlamak için aşağıdaki betiği kullanın. Değiştirme:
-
<SQL_SERVER_CERTIFICATE>önceki adımda alınan SQLServerCertName adıyla.
-- Run on SQL Server
-- Create a connection endpoint listener on SQL Server
USE MASTER
CREATE ENDPOINT database_mirroring_endpoint
STATE=STARTED
AS TCP (LISTENER_PORT=<EndpointPort>, LISTENER_IP = ALL)
FOR DATABASE_MIRRORING (
ROLE=ALL,
AUTHENTICATION = CERTIFICATE [<SQL_SERVER_CERTIFICATE>],
ENCRYPTION = REQUIRED ALGORITHM AES
)
GO
SQL Server üzerinde aşağıdaki betiği çalıştırarak yansıtma uç noktasının oluşturulduğunu doğrulayın:
-- Run on SQL Server
-- View database mirroring endpoints on SQL Server
SELECT
name, type_desc, state_desc, role_desc,
connection_auth_desc, is_encryption_enabled, encryption_algorithm_desc
FROM
sys.database_mirroring_endpoints
Başarıyla oluşturulan uç nokta state_desc sütunu durumu STARTEDolmalıdır.
Sertifika kimlik doğrulaması ve AES şifrelemesi etkin olarak yeni bir yansıtma uç noktası oluşturuldu.
Mevcut uç noktayı değiştirme
Not
Yeni bir yansıtma uç noktası oluşturduysanız bu adımı atlayın. Bu adımı yalnızca mevcut bir veritabanı yansıtma uç noktasıyla mevcut kullanılabilirlik gruplarını kullanıyorsanız kullanın.
Bağlantı için mevcut kullanılabilirlik gruplarını kullanıyorsanız veya var olan bir veritabanı yansıtma uç noktası varsa, önce bağlantı için aşağıdaki zorunlu koşulları karşıladığını doğrulayın:
- Tür olmalıdır
DATABASE_MIRRORING. - Bağlantı kimlik doğrulaması zorunlu olmalıdır
CERTIFICATE. - Şifreleme etkinleştirilmelidir.
- Şifreleme algoritması olmalıdır
AES.
Mevcut veritabanı yansıtma uç noktasının ayrıntılarını görüntülemek için SQL Server aşağıdaki sorguyu çalıştırın:
-- Run on SQL Server
-- View database mirroring endpoints on SQL Server
SELECT
name, type_desc, state_desc, role_desc, connection_auth_desc,
is_encryption_enabled, encryption_algorithm_desc
FROM
sys.database_mirroring_endpoints
Çıktı, mevcut DATABASE_MIRRORING uç noktanın connection_auth_descCERTIFICATEveya encryption_algorithm_descAESolmadığını gösteriyorsa, gereksinimleri karşılamak için uç noktanın değiştirilmesi gerekir.
SQL Server,hem kullanılabilirlik grupları hem de dağıtılmış kullanılabilirlik grupları için aynı veritabanı yansıtma uç noktası kullanılır.
connection_auth_desc uç noktanız NTLM (Windows authentication) veya KERBEROS ise ve mevcut bir kullanılabilirlik grubu için Windows authentication ihtiyacınız varsa, kimlik doğrulama seçeneğini NEGOTIATE CERTIFICATE olarak değiştirerek uç noktayı birden çok kimlik doğrulama yöntemi kullanacak şekilde değiştirmeniz mümkündür. Bu değişiklik, mevcut kullanılabilirlik grubunun SQL Yönetilen Örneği için sertifika kimlik doğrulaması kullanırken Windows authentication kullanmasını sağlar.
Benzer şekilde, şifreleme AES içermiyorsa ve RC4 şifrelemesine ihtiyacınız varsa, uç noktayı iki algoritmayı da kullanacak şekilde değiştirmek mümkündür. Uç noktaları değiştirmeyle ilgili olası seçenekler hakkında ayrıntılı bilgi için sys.database_mirroring_endpoints belgeleri sayfasına bakın.
Aşağıdaki betik, SQL Server'da mevcut veritabanı yansıtma uçnoktanızı değiştirme işleminin bir örneğidir. Değiştirme:
-
<YourExistingEndpointName>ile mevcut uç noktanızın adını kullanın. - oluşturulan SQL Server sertifikasının adıyla
<SQLServerCertName>(yukarıdaki önceki adımlardan birinde elde edilir).
Özel yapılandırmanıza bağlı olarak, betiği daha fazla özelleştirmeniz gerekebilir. Oluşturulan sertifikanın adını SQL Server almak için SELECT * FROM sys.certificates de kullanabilirsiniz.
-- Run on SQL Server
-- Alter the existing database mirroring endpoint to use CERTIFICATE for authentication and AES for encryption
USE MASTER
ALTER ENDPOINT [<YourExistingEndpointName>]
STATE=STARTED
AS TCP (LISTENER_PORT=<EndpointPort>, LISTENER_IP = ALL)
FOR DATABASE_MIRRORING (
ROLE=ALL,
AUTHENTICATION = WINDOWS NEGOTIATE CERTIFICATE [<SQLServerCertName>],
ENCRYPTION = REQUIRED ALGORITHM AES
)
GO
ALTER uç nokta sorgusunu çalıştırdıktan ve çift kimlik doğrulama modunu Windows ve sertifika olarak ayarladıktan sonra, veritabanı yansıtma uç noktasının ayrıntılarını göstermek için SQL Server'de bu sorguyu yeniden kullanın:
-- Run on SQL Server
-- View database mirroring endpoints on SQL Server
SELECT
name, type_desc, state_desc, role_desc, connection_auth_desc,
is_encryption_enabled, encryption_algorithm_desc
FROM
sys.database_mirroring_endpoints
Bir SQL Yönetilen Örneği bağlantısı için veritabanı yansıtma uç noktanızı başarıyla değiştirdiniz.
SQL Server'da kullanılabilirlik grubu oluşturma
Mevcut bir kullanılabilirlik grubunuz yoksa, sonraki adım ilk birincil olandan bağımsız olarak SQL Server üzerinde bir tane oluşturmaktır.
Not
Zaten bir kullanılabilirlik grubunuz varsa bu bölümü atlayın.
SQL Yönetilen Örneği ilk birincil olduğunda ve bu yalnızca SQL Server 2022 CU10 ile desteklendiğinde, kullanılabilirlik grubunu oluşturma komutları farklıdır.
Aynı veritabanı için birden çok bağlantı oluşturmak mümkün olsa da, bağlantı her bağlantı için yalnızca bir veritabanı çoğaltmayı destekler. Aynı veritabanı için birden çok bağlantı oluşturmak istiyorsanız, tüm bağlantılar için aynı kullanılabilirlik grubunu kullanın, ancak ardından SQL Server ile SQL Yönetilen Örneği arasındaki her veritabanı bağlantısı için yeni bir dağıtılmış kullanılabilirlik grubu oluşturun.
İlk birincil SQL Server ise, bağlantı için aşağıdaki parametreleri içeren bir kullanılabilirlik grubu oluşturun:
- İlk birincil sunucu adı
- Veritabanı adı
- Bir yük devretme modu
MANUAL -
AUTOMATICadlı bir tohumlama modu
İlk olarak, aşağıdaki T-SQL deyimini çalıştırarak SQL Server adınızı öğrenin:
-- Run on the initial primary
SELECT @@SERVERNAME AS SQLServerName
Ardından, SQL Server'da kullanılabilirlik grubunu oluşturmak için aşağıdaki betiği kullanın. Değiştirme:
- SQL Server'da kullanılabilirlik grubunuzun adıyla
<AGNameOnSQLServer>. Managed Instance bağlantısı, kullanılabilirlik grubu başına bir veritabanı gerektirir. Birden çok veritabanı için birden çok kullanılabilirlik grubu oluşturmanız gerekir. Her kullanılabilirlik grubunu, adının ilgili veritabanını (örneğin,AG_<db_name>) yansıtması için adlandırmayı göz önünde bulundurun. -
<DatabaseName>ile çoğaltmak istediğiniz veritabanının adını kullanın. - önceki adımda elde edilen SQL Server örneğinizin adıyla
<SQLServerName>. - SQL Server IP adresiyle
<SQLServerIP>. Alternatif olarak çözümlenebilir bir SQL Server konak makine adı kullanabilirsiniz, ancak adın SQL Yönetilen Örneği sanal ağından çözümlenebilir olduğundan emin olmanız gerekir.
-- Run on SQL Server
-- Create the primary availability group on SQL Server
USE MASTER
CREATE AVAILABILITY GROUP [<AGNameOnSQLServer>]
WITH (CLUSTER_TYPE = NONE) -- <- Delete this line for SQL Server 2016 only. Leave as-is for all higher versions.
FOR database [<DatabaseName>]
REPLICA ON
N'<SQLServerName>' WITH
(
ENDPOINT_URL = 'TCP://<SQLServerIP>:<EndpointPort>',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL,
SEEDING_MODE = AUTOMATIC
);
GO
Önemli
SQL Server 2016 için yukarıdaki T-SQL deyiminden WITH (CLUSTER_TYPE = NONE) silin. Sonraki tüm SQL Server sürümleri için as-is bırakın.
Ardından, SQL Server dağıtılmış kullanılabilirlik grubunu oluşturun. Birden çok bağlantı oluşturmayı planlıyorsanız, aynı veritabanı için birden çok bağlantı oluşturuyor olsanız bile her bağlantı için bir dağıtılmış kullanılabilirlik grubu oluşturmanız gerekir.
Aşağıdaki değerleri değiştirin ve T-SQL betiğini çalıştırarak dağıtılmış kullanılabilirlik grubunuzu oluşturun.
- Dağıtılmış kullanılabilirlik grubunuzun adıyla birlikte
<DAGName>yazın. Her bağlantı için bir dağıtılmış kullanılabilirlik grubu oluşturarak aynı veritabanı için birden çok bağlantı yapılandırabildiğiniz için, her dağıtılmış kullanılabilirlik grubunu uygun şekilde adlandırmayı göz önünde bulundurun; örneğin, ,DAG1_<db_name>DAG2_<db_name>. -
<AGNameOnSQLServer>öğesini, önceki adımda oluşturduğunuz kullanılabilirlik grubunun adıyla seçin. - SQL Yönetilen Örneği'da kullanılabilirlik grubunuzun adıyla
<AGNameOnSQLMI>. Adın SQL MI'de benzersiz olması gerekir. Her kullanılabilirlik grubunu, adının ilgili veritabanını (örneğin,AG_<db_name>_MI) yansıtması için adlandırmayı göz önünde bulundurun. - önceki adımdaki SQL Server IP adresiyle
<SQLServerIP>. Alternatif olarak çözümlenebilir bir SQL Server konak makine adı kullanabilirsiniz, ancak adın SQL Yönetilen Örneği sanal ağından çözümlenebilir olduğundan emin olun (yönetilen örneğin alt ağı için özel Azure DNS yapılandırılmasını gerektirir). - Yönetilen örneğinizin kısa adı olan
<ManagedInstanceName>ile. -
<ManagedInstanceFQDN>yönetilen örneğinizin tam etki alanı adı ile birlikte.
-- Run on SQL Server
-- Create a distributed availability group for the availability group and database
-- ManagedInstanceName example: 'sqlmi1'
-- ManagedInstanceFQDN example: 'sqlmi1.73d19f36a420a.database.windows.net'
USE MASTER
CREATE AVAILABILITY GROUP [<DAGName>]
WITH (DISTRIBUTED)
AVAILABILITY GROUP ON
N'<AGNameOnSQLServer>' WITH
(
LISTENER_URL = 'TCP://<SQLServerIP>:<EndpointPort>',
AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL,
SEEDING_MODE = AUTOMATIC,
SESSION_TIMEOUT = 20
),
N'<AGNameOnSQLMI>' WITH
(
LISTENER_URL = 'tcp://<ManagedInstanceFQDN>:5022;Server=[<ManagedInstanceName>]',
AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL,
SEEDING_MODE = AUTOMATIC
);
GO
Kullanılabilirlik gruplarını doğrulama
SQL Server örneğindeki tüm kullanılabilirlik gruplarını ve dağıtılmış kullanılabilirlik gruplarını listelemek için aşağıdaki betiği kullanın. Bu noktada, kullanılabilirlik grubunuzun connecteddurumunun olması ve dağıtılmış kullanılabilirlik gruplarınızın durumunun olması disconnectedgerekir. Dağıtılmış kullanılabilirlik grubunun durumu, yalnızca SQL Yönetilen Örneği ile birleştirildikten sonra connected durumuna geçer.
-- Run on SQL Server
-- This will show that the availability group and distributed availability group have been created on SQL Server.
SELECT * FROM sys.availability_groups
Alternatif olarak, kullanılabilirlik gruplarını ve dağıtılmış kullanılabilirlik gruplarını bulmak için SSMS Nesne Gezgini kullanabilirsiniz. Always On Yüksek Kullanılabilirlik klasörünü ve ardından Kullanılabilirlik Grupları klasörünü genişletin.
Bağlantı oluştur
Son olarak, bağlantıyı oluşturabilirsiniz. Komutlar, hangi örneğin ilk birincil olduğuna göre farklılık gösterir. Bağlantıyı oluşturmak için New-AzSqlInstanceLink PowerShell veya az sql mi link create Azure CLI komutunu kullanın. Örneğin, bu bölümdeki PowerShell örneği. SQL Yönetilen Örneği birincilinden bağlantı oluşturmak şu anda Azure CLI ile desteklenmemektedir.
Yönetilen örnekteki tüm bağlantıları görmeniz gerekiyorsa, Azure Cloud Shell'da Get-AzSqlInstanceLink PowerShell veya az sql mi link show Azure CLI komutunu kullanın.
İşlemi basitleştirmek için Azure portalında oturum açın ve Azure Cloud Shell aşağıdaki betiği çalıştırın. Değiştirme:
- Yönetilen örneğinizin kısa adı olan
<ManagedInstanceName>ile. - SQL Server'da oluşturulan kullanılabilirlik grubunun adıyla
<AGNameOnSQLServer>. - SQL Yönetilen Örneği'da oluşturulan kullanılabilirlik grubunun adıyla
<AGNameOnSQLMI>. -
<DAGName>, SQL Server'da oluşturulan dağıtılmış kullanılabilirlik grubunun adıyla. -
<DatabaseName>veritabanı SQL Server kullanılabilirlik grubunda çoğaltılır. -
<SQLServerIP>yerine SQL Server'ın IP adresini koyun. Sağlanan IP adresine yönetilen örnek tarafından erişilebilir olmalıdır. -
<EndpointPort>SQL Server uç nokta bağlantı noktasıyla
Not
Zaten var olan bir kullanılabilirlik grubuna bağlantı oluşturmak istiyorsanız, parametresini sağlarken <SQLServerIP> dinleyicinin IP adresini sağlayın. Lütfen tüm kullanılabilirlik grubu düğümleri ile SQL Yönetilen Örneği arasında güvenin kurulduğuna emin olun (bkz. Sekmeler arasında güven oluşturma bölümü).
# Run in Azure Cloud Shell (select PowerShell console)
# =============================================================================
# POWERSHELL SCRIPT TO CREATE MANAGED INSTANCE LINK
# Instructs Managed Instance to join distributed availability group on SQL Server
# ===== Enter user variables here ====
# Enter your managed instance name – for example, "sqlmi1"
$ManagedInstanceName = "<ManagedInstanceName>"
# Enter the availability group name that was created on SQL Server
$AGNameOnSQLServer = "<AGNameOnSQLServer>"
# Enter the availability group name that was created on SQL Managed Instance
$AGNameOnSQLMI = "<AGNameOnSQLMI>"
# Enter the distributed availability group name that was created on SQL Server
$DAGName = "<DAGName>"
# Enter the database name that was placed in the availability group for replication
$DatabaseName = "<DatabaseName>"
# Enter the SQL Server IP
$SQLServerIP = "<SQLServerIP>"
# Enter the SQL Server Endpoint Port
$EndpointPort = "<EndpointPort>"
# ==== Do not customize the following cmdlet ====
# Find out the resource group name
$ResourceGroup = (Get-AzSqlInstance -InstanceName $ManagedInstanceName).ResourceGroupName
# Build properly formatted connection endpoint
$SourceIP = "TCP://" + $SQLServerIP + ":"+$EndpointPort
# Create link on managed instance. Join distributed availability group on SQL Server.
New-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName |
-PartnerAvailabilityGroupName $AGNameOnSQLServer -InstanceAvailabilityGroupName $AGNameOnSQLMI |
-Database @($DatabaseName) -PartnerEndpoint $SourceIP -InstanceLinkRole Secondary
Bu işlemin sonucu, bağlantı oluşturma isteğinin başarıyla yürütülmesinin zaman damgasıdır.
Bağlantıyı doğrulama
SQL Yönetilen Örneği ile SQL Server arasındaki bağlantıyı doğrulamak için SQL Server aşağıdaki sorguyu çalıştırın. Bağlantı anlık olmaz. DMV'nin başarılı bir bağlantı göstermeye başlaması bir dakika kadar sürebilir. SQL Yönetilen Örneği çoğaltması için bağlantı "BAĞLANTILI" olarak görünene kadar DMV'yi yenilemeye devam edin.
-- Run on SQL Server
SELECT
r.replica_server_name AS [Replica],
r.endpoint_url AS [Endpoint],
rs.connected_state_desc AS [Connected state],
rs.last_connect_error_description AS [Last connection error],
rs.last_connect_error_number AS [Last connection error No],
rs.last_connect_error_timestamp AS [Last error timestamp]
FROM
sys.dm_hadr_availability_replica_states rs
JOIN sys.availability_replicas r
ON rs.replica_id = r.replica_id
Bağlantı kurulduktan sonra, SSMS'deki Nesne Gezgini ilk seeding aşaması sırasında veritabanının tam yedeği taşınırken ve geri yüklenirken, ikincil replikanın üzerindeki çoğaltılan veritabanını başlangıçta bir Restoring durumunda gösterebilir. Veritabanı geri yüklendikten sonra, çoğaltmanın iki veritabanını senkronize hale getirmek için yetişmesi gerekiyor. İlk tohumlama tamamlandıktan sonra veritabanı artık Geri Yükleme durumunda olmayacaktır. Küçük veritabanlarının oluşturulması, SSMS'de ilk Geri Yükleme durumunu göremeyeceğiniz kadar hızlı olabilir.
Önemli
- SQL Server ile SQL Yönetilen Örneği arasında ağ bağlantısı yoksa bağlantı çalışmaz. Ağ bağlantısı sorunlarını gidermek için Ağ bağlantısını test etme sayfasındaki adımları izleyin.
- SQL Server günlük dosyasının düzenli yedeklemelerini alın. Kullanılan günlük alanı yüzde 100'e ulaşırsa, alan kullanımı azaltılana kadar SQL Yönetilen Örneği çoğaltma durdurulur. Günlük bir iş ayarlayarak günlük yedeklemelerini otomatikleştirmenizi kesinlikle öneririz. Ayrıntılar için bkz. SQL Server'da günlük dosyalarını geri alma.
İlk işlem günlüğü yedeğini alma
İlk birincil SQL Server ise, Azure SQL Yönetilen Örneğinde veritabanı artık Restoring... durumunda olmadığında, SQL Server üzerinde ilk tohumlama tamamlandıktan sonra ilk transaction log yedeği almak önemlidir. Ardından SQL Server işlem günlüğü yedeklemelerini düzenli olarak alarak SQL Server birincil roldeyken aşırı günlük büyümesini en aza indirin.
birincil SQL Yönetilen Örneği ise, Azure SQL Yönetilen Örneği otomatik olarak günlük yedeklemeleri aldığından herhangi bir işlem yapmanız gerekmez.
Bir bağlantı bırak.
Artık gerekli olmadığından veya onarılamaz durumda olduğundan ve yeniden oluşturulması gerektiğinden bağlantıyı bırakmak istiyorsanız, bunu PowerShell ve T-SQL ile yapabilirsiniz.
İlk olarak, aşağıdaki örnek gibi bağlantıyı bırakmak için Remove-AzSqlInstanceLink PowerShell komutunu kullanın:
Remove-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $managedInstanceName -Name $DAGName -Force
Ardından, dağıtılmış kullanılabilirlik grubunu bırakmak için SQL Server aşağıdaki T-SQL betiğini çalıştırın.
<DAGName> öğesini, bağlantıyı oluşturmak için kullanılan dağıtılmış kullanılabilirlik grubunun adıyla değiştirin.
USE MASTER
GO
DROP AVAILABILITY GROUP <DAGName>
GO
Son olarak, isteğe bağlı olarak, artık bu grubu kullanmıyorsanız kullanılabilirlik grubunu kaldırabilirsiniz. Bunu yapmak için <AGName> etiketini kullanılabilirlik grubunun adıyla değiştirdikten sonra ilgili örnekte çalıştırın.
DROP AVAILABILITY GROUP <AGName>
GO
Sorun giderme
Bağlantıyı oluştururken hata iletisiyle karşılaşırsanız, daha fazla bilgi için sorgu çıktı penceresindeki hata iletisini gözden geçirin. Daha fazla bilgi için bağlantıyla ilgili sorunları giderme konusunu gözden geçirin.
İlgili içerik
Bağlantıyı kullanmak için:
- Managed Instance bağlantısı için ortamı hazırlama
- SSMS ile SQL Server ve SQL Yönetilen Örneği arasındaki bağlantıyı yapılandırın
- Bağlantının yük devretmesi
- Bağlantıyla taşın
- Bağlantıyı korumak için en iyi yöntemler
- Bağlantı ile ilgili sorunları giderme
Bağlantı hakkında daha fazla bilgi edinmek için:
- Managed Instance bağlantısına genel bakış
- Managed Instance bağlantısıyla Felaket Kurtarma
Diğer çoğaltma ve geçiş senaryoları için şunları göz önünde bulundurun: