SQL kaynak sağlayıcısını güncelleştirme

Önemli

Azure Stack Hub derlemesi 2108'den başlayarak SQL ve MySQL kaynak sağlayıcıları, erişim izni verilen aboneliklere sunulur. Bu özelliği kullanmaya başlamak istiyorsanız veya önceki bir sürümden yükseltmeniz gerekiyorsa bir destek olayı açın ; destek mühendislerimiz dağıtım veya yükseltme işleminde size yol gösterir.

Önemli

Kaynak sağlayıcısını güncelleştirmeden önce, yeni işlevler, düzeltmeler ve dağıtımınızı etkileyebilecek bilinen sorunlar hakkında bilgi edinmek için sürüm notlarını gözden geçirin. Sürüm notları ayrıca kaynak sağlayıcısı için gereken en düşük Azure Stack Hub sürümünü de belirtir.

Önemli

Kaynak sağlayıcısının güncelleştirilmesi barındırma SQL Server GÜNCELLEŞTIRMEZ.

Azure Stack Hub yeni bir derlemeye güncelleştirildiğinde yeni bir SQL kaynak sağlayıcısı yayınlanabilir. Mevcut kaynak sağlayıcısı çalışmaya devam etse de en kısa sürede en son derlemeye güncelleştirmenizi öneririz.

Desteklenen Azure Stack Hub sürümü SQL RP sürümü RP hizmetinin üzerinde çalıştığı Windows Server
2206, 2301, 2306, 2311 SQL RP sürüm 2.0.13.x Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0
2108, 2206 SQL RP sürüm 2.0.6.x Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0

SQL Server kaynak sağlayıcısı V2'sini güncelleştirme

SQL RP V2'yi zaten dağıttıysanız ve güncelleştirmeleri denetlemek istiyorsanız, Güncelleştirmeleri kaynak sağlayıcısına uygulama'yı denetleyin.

SQL RP V1'den SQL RP V2'ye güncelleştirmek istiyorsanız, önce SQL RP V1.1.93.x sürümüne güncelleştirdiğinizden emin olun, ardından SQL RP V1'den SQL RP V2'ye yükseltmek için ana sürüm yükseltme işlemini uygulayın.

SQL RP V1.1.93.x'ten SQL RP V2.0.6.0'a güncelleştirme

Önkoşullar

  1. SQL RP V1'i en son 1.1.93.x sürümüne güncelleştirdiğinizden emin olun. Varsayılan Sağlayıcı Aboneliği'nin altında RP kaynak grubunu bulun (adlandırma biçimi: sistem..<region>. sqladapter). Kaynak grubundaki sürüm etiketini ve SQL RP VM adını onaylayın. Hala eski bir sürüm kullanıyorsanız ve 1.1.93.x sürümüne güncelleştirmeniz gerekiyorsa, yardım için bir destek olayı açın.

  2. MajorVersionUpgrade paketini almak için bir destek olayı açın ve aboneliğinizi gelecekteki V2 sürümü için ASH market izin listesine ekleyin.

  3. Microsoft AzureStack Add-On RP Windows Server 1.2009.0'ı markete indirin.

  4. Veri merkezi tümleştirme önkoşullarının karşılandığından emin olun.

Önkoşul Başvuru
Koşullu DNS iletme doğru ayarlanmış. Azure Stack Hub veri merkezi tümleştirmesi - DNS
Kaynak sağlayıcıları için gelen bağlantı noktaları açık. Azure Stack Hub veri merkezi tümleştirmesi - Gelen bağlantı noktaları ve protokoller
PKI sertifika konusu ve SAN doğru ayarlanmış. Azure Stack Hub dağıtımı zorunlu PKI önkoşulları
Azure Stack Hub dağıtımı PaaS sertifikası önkoşulları
  1. (bağlantısı kesilmiş ortam için) Kaynak sağlayıcısını dağıtmak için kullanılan güncelleştirme işlemine benzer şekilde gerekli PowerShell modüllerini yükleyin.

MajorVersionUpgrade Tetikleyicisi

Ana sürüm yükseltmesi gerçekleştirmek için yükseltilmiş bir PowerShell konsolundan aşağıdaki betiği çalıştırın.

Not

Betiği çalıştırdığınız istemci makinesinin Windows 10 veya Windows Server 2016'den eski olmayan bir işletim sistemi sürümünde olduğundan ve istemci makinesinin X64 İşletim Sistemi Mimarisine sahip olduğundan emin olun.

Önemli

Dağıtım veya güncelleştirme betiğini çalıştırmadan önce önbelleği temizlemek için Clear-AzureRmContext -Scope CurrentUser ve Clear-AzureRmContext -Scope Process kullanmanızı kesinlikle öneririz.

# Check Operating System version
$osVersion = [environment]::OSVersion.Version
if ($osVersion.Build -lt 10240)
{
    Write-Host "OS version is too old: $osVersion."
    return
}

$osArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
if ($osArch -ne "64-bit")
{
    Write-Host "OS Architecture is not 64 bit."
    return
}

# Check LongPathsEnabled registry key
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
$longPathsEnabled = 'LongPathsEnabled'
$property = Get-ItemProperty -Path $regPath -Name $longPathsEnabled -ErrorAction Stop
if ($property.LongPathsEnabled -eq 0)
{
    Write-Host "Detect LongPathsEnabled equals to 0, prepare to set the property."
    Set-ItemProperty -Path $regPath -Name $longPathsEnabled -Value 1 -ErrorAction Stop
    Write-Host "Set the long paths property, please restart the PowerShell."
    return
} 

# Use the NetBIOS name for the Azure Stack Hub domain. 
$domain = "YouDomain" 

# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "YouDomain-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "AzureCloud"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\extracted-folder\MajorVersionUpgrade-SQLRP'

# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force

# Provide the pfx file path
$PfxFilePath = "C:\tools\sqlcert\SSL.pfx"

# PowerShell modules used by the RP MajorVersionUpgrade are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

. $tempDir\MajorVersionUpgradeSQLProvider.ps1 -AzureEnvironment $AzureEnvironment -AzCredential $AdminCreds -CloudAdminCredential $CloudAdminCreds -Privilegedendpoint $privilegedEndpoint -PfxPassword $PfxPass -PfxCert $PfxFilePath

Not

SQL RP V2'nin DNS adresi ve buna karşılık gelen IP adresi farklıdır. Yeni genel IP'yi almak için desteğe başvurarak DRP kesme camını zorunlu kılabilir ve SQLRPVM1130-PublicIP kaynağını bulabilirsiniz. "nslookup sqlrp.dbadapter komutunu da çalıştırabilirsiniz.<fqdn>", genel IP'yi bulmak için uç nokta testini zaten geçmiş bir istemci makinesinden.

Yükseltmenin başarılı olduğunu doğrulama

  1. MajorVersionUpgrade betiği herhangi bir hata olmadan yürütüldü.
  2. Marketteki kaynak sağlayıcısını denetleyin ve SQL RP 2.0'ın başarıyla yüklendiğinden emin olun.
  3. Eski sistem.<location.sqladapter> kaynak grubu ve sistemi.<varsayılan sağlayıcı aboneliğindeki location.dbadapter.dns> kaynak grubu betik tarafından otomatik olarak silinmez.
  • Depolama Hesabı ve Key Vault bir süre sqladapter kaynak grubunda tutmanızı öneririz. Yükseltmeden sonra herhangi bir kiracı kullanıcısı tutarsız veritabanı veya oturum açma meta verileri gözlemlerse, meta verileri kaynak grubundan geri yüklemek için destek almak mümkündür.
  • dbadapter.dns kaynak grubundaki DNS Bölgesinin DNS kaydı olmadan boş olduğunu doğruladıktan sonra dbadapter.dns kaynak grubunu silmek güvenlidir.
  • [ÖNEMLİ] V1 sürümünü kaldırmak için V1 dağıtım betiğini kullanmayın. Yükseltme tamamlandıktan ve yükseltmenin başarılı olduğunu onayladıktan sonra kaynak grubunu sağlayıcı aboneliğinden el ile silebilirsiniz.

SQL RP V1'in önceki sürümünden SQL RP V1.1.93.x sürümüne güncelleştirme

SQL kaynak sağlayıcısı V1 güncelleştirmesi topludur. Doğrudan 1.1.93.x sürümüne güncelleştirebilirsiniz.

Kaynak sağlayıcısını 1.1.93.x'e güncelleştirmek için UpdateSQLProvider.ps1 betiğini kullanın. Hizmet hesabınızı yerel yönetim haklarıyla kullanın ve aboneliğin sahibidir . Bu güncelleştirme betiği, kaynak sağlayıcısının indirilmesine dahildir.

Güncelleştirme işlemi, kaynak sağlayıcısını dağıtmak için kullanılan işleme benzer. Güncelleştirme betiği, DeploySqlProvider.ps1 betiğiyle aynı bağımsız değişkenleri kullanır ve sertifika bilgilerini sağlamanız gerekir.

Betik işlemlerini güncelleştirme

UpdateSQLProvider.ps1 betiği en son işletim sistemi görüntüsüyle yeni bir sanal makine (VM) oluşturur, en son kaynak sağlayıcısı kodunu dağıtır ve ayarları eski kaynak sağlayıcısından yeni kaynak sağlayıcısına geçirir.

Not

Market Yönetimi'nden Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0 görüntüsünü indirmenizi öneririz. Bir güncelleştirme yüklemeniz gerekiyorsa, yerel bağımlılık yoluna tek bir MSU paketi yerleştirebilirsiniz. Bu konumda birden fazla MSU dosyası varsa betik başarısız olur.

UpdateSQLProvider.ps1 betiği yeni bir VM oluşturduğunda, betik eski kaynak sağlayıcısı VM'sinden aşağıdaki ayarları geçirir:

  • veritabanı bilgileri
  • sunucu bilgilerini barındırma
  • gerekli DNS kaydı

Önemli

Dağıtım veya güncelleştirme betiğini çalıştırmadan önce önbelleği temizlemek için Clear-AzureRmContext -Scope CurrentUser ve Clear-AzureRmContext -Scope Process kullanmanızı kesinlikle öneririz.

Betik parametrelerini güncelleştirme

UpdateSQLProvider.ps1 PowerShell betiğini çalıştırdığınızda komut satırından aşağıdaki parametreleri belirtebilirsiniz. Aksi takdirde veya herhangi bir parametre doğrulaması başarısız olursa, gerekli parametreleri sağlamanız istenir.

Parametre adı Açıklama Açıklama veya varsayılan değer
CloudAdminCredential Ayrıcalıklı uç noktaya erişmek için gerekli olan bulut yöneticisinin kimlik bilgileri. Gerekli
AzCredential Azure Stack Hub hizmet yöneticisi hesabının kimlik bilgileri. Azure Stack Hub'ı dağıtmak için kullandığınız kimlik bilgilerini kullanın. AzCredential ile kullandığınız hesap çok faktörlü kimlik doğrulaması (MFA) gerektiriyorsa betik başarısız olur. Gerekli
VMLocalCredential SQL kaynak sağlayıcısı VM'sinin yerel yönetici hesabının kimlik bilgileri. Gerekli
PrivilegedEndpoint Ayrıcalıklı uç noktanın IP adresi veya DNS adı. Gerekli
AzureOrtam Azure Stack Hub'ı dağıtmak için kullandığınız hizmet yöneticisi hesabının Azure ortamı. Yalnızca Microsoft Entra dağıtımları için gereklidir. Desteklenen ortam adları AzureCloud, AzureUSGovernment veya Çin Microsoft Entra ID kullanıyorsanız AzureChinaCloud'dur. AzureCloud
DependencyFilesLocalPath Sertifika .pfx dosyanızı da bu dizine yerleştirmeniz gerekir. Tek düğüm için isteğe bağlı, ancak çok düğümlü düğümler için zorunlu
DefaultSSLCertificatePassword .pfx sertifikasının parolası. Gerekli
MaxRetryCount Bir hata olduğunda her işlemi yeniden deneme sayısı. 2
RetryDuration Yeniden denemeler arasındaki zaman aşımı aralığı (saniye cinsinden). 120
Kaldır Kaynak sağlayıcısını ve ilişkili tüm kaynakları kaldırır. No
DebugMode Hata durumunda otomatik temizlemeyi engeller. No

PowerShell betiğini güncelleştirme örneği

SQL kaynak sağlayıcısı sürümünü 1.1.33.0 veya önceki sürümlere güncelleştiriyorsanız, PowerShell'de AzureRm.BootStrapper ve Azure Stack Hub modüllerinin belirli sürümlerini yüklemeniz gerekir.

SQL kaynak sağlayıcısını 1.1.47.0 veya sonraki bir sürüme güncelleştiriyorsanız, bu adımı atlayabilirsiniz. Dağıtım betiği, C:\Program Files\SqlMySqlPsh yolunu izlemeniz için gerekli PowerShell modüllerini otomatik olarak indirir ve yükler.

Not

C:\Program Files\SqlMySqlPsh klasörü PowerShell modülü indirilmiş olarak zaten varsa, güncelleştirme betiğini çalıştırmadan önce bu klasörü temizlemenizi öneririz. Bu, PowerShell modülünün doğru sürümünün indirildiğinden ve kullanıldığından emin olmaktır.

# Run the following scripts when updating to version 1.1.33.0 only.
# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureStack module.
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Not

Bağlantısız senaryoda, gerekli PowerShell modüllerini indirmeniz ve depoyu el ile önkoşul olarak kaydetmeniz gerekir. SQL kaynak sağlayıcısı dağıtma bölümünden daha fazla bilgi edinebilirsiniz

Aşağıda, yükseltilmiş bir PowerShell konsolundan çalıştırabileceğiniz UpdateSQLProvider.ps1 betiğini kullanma örneği verilmiştir. Değişken bilgilerini ve parolalarını gerektiği gibi değiştirdiğinizden emin olun:

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but this might have been changed at installation.
$domain = "AzureStack"

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'

# The service admin account (this can be Azure AD or AD FS).
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set the credentials for the new resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# Add the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
. $tempDir\UpdateSQLProvider.ps1 -AzCredential $AdminCreds -VMLocalCredential $vmLocalAdminCreds -CloudAdminCredential $cloudAdminCreds -PrivilegedEndpoint $privilegedEndpoint -AzureEnvironment $AzureEnvironment -DefaultSSLCertificatePassword $PfxPass -DependencyFilesLocalPath $tempDir\cert

Kaynak sağlayıcısı güncelleştirme betiği tamamlandığında, geçerli PowerShell oturumunu kapatın.

Sonraki adımlar

SQL kaynak sağlayıcısını koruma