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
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.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.
Microsoft AzureStack Add-On RP Windows Server 1.2009.0'ı markete indirin.
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ı |
- (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
- MajorVersionUpgrade betiği herhangi bir hata olmadan yürütüldü.
- Marketteki kaynak sağlayıcısını denetleyin ve SQL RP 2.0'ın başarıyla yüklendiğinden emin olun.
- 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.