Memperbarui penyedia sumber SQL

Penting

Mulai dari Azure Stack Hub build 2108, penyedia sumber SQL dan MySQL ditawarkan untuk menjadi langganan yang telah diberikan akses. Jika Anda ingin mulai menggunakan fitur ini, atau jika Anda perlu meningkatkan dari versi sebelumnya, buka kasus dukungan dan teknisi dukungan kami akan memandu Anda melalui proses penyebaran atau peningkatan.

Penting

Sebelum memperbarui penyedia sumber, tinjau catatan rilis untuk mempelajari tentang fungsionalitas baru, perbaikan, dan masalah umum yang dapat memengaruhi penyebaran Anda. Catatan rilis juga menentukan versi Azure Stack Hub minimum yang diperlukan untuk penyedia sumber.

Penting

Memperbarui penyedia sumber TIDAK akan memperbarui SQL Server hosting.

Penyedia sumber SQL baru mungkin akan dirilis saat Azure Stack Hub diperbarui ke build baru. Meskipun penyedia sumber yang ada terus bekerja, kami sarankan memperbarui ke build terbaru sesegera mungkin.

Versi Azure Stack Hub yang didukung Versi SQL RP Windows Server yang dijalankan layanan RP
2206, 2301, 2306, 2311 SQL RP versi 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 Versi SQL RP 2.0.6.x Add-on Microsoft AzureStack RP Windows Server 1.2009.0

Memperbarui penyedia sumber SQL Server V2

Jika Anda telah menyebarkan SQL RP V2, dan ingin memeriksa pembaruan, periksa Cara menerapkan pembaruan ke penyedia sumber.

Jika Anda ingin memperbarui dari SQL RP V1 ke SQL RP V2, pastikan Anda telah terlebih dahulu memperbarui ke SQL RP V1.1.93.x, lalu terapkan proses peningkatan versi utama untuk meningkatkan dari SQL RP V1 ke SQL RP V2.

Memperbarui dari SQL RP V1.1.93.x ke SQL RP V2.0.6.0

Prasyarat

  1. Pastikan Anda telah memperbarui SQL RP V1 ke 1.1.93.x yang terbaru. Di bawah Langganan Penyedia Default, temukan grup sumber daya RP (format penamaan: system.<region>.qladapter). Konfirmasikan tag versi dan nama Mesin Virtual SQL RP dalam grup sumber daya. Jika Anda masih menggunakan versi lama dan perlu memperbarui ke 1.1.93.x, buka kasus dukungan untuk mendapatkan bantuan.

  2. buka kasus dukungan untuk mendapatkan paket MajorVersionUpgrade, dan tambahkan langganan Anda ke daftar izin marketplace ASH untuk versi V2 mendatang.

  3. Unduh Add-On Microsoft AzureStack RP Windows Server 1.2009.0 ke marketplace.

  4. Pastikan prasyarat integrasi pusat data terpenuhi.

Prasyarat Referensi
Penerusan DNS bersyarat diatur dengan benar. Integrasi pusat data Azure Stack Hub - DNS
Port masuk untuk penyedia sumber terbuka. Integrasi pusat data Azure Stack Hub - Port dan protokol masuk
Subjek sertifikat PKI dan SAN diatur dengan benar. Prasyarat wajib PKI penyebaran Azure Stack Hub
Prasyarat sertifikat PaaS penyebaran Azure Stack Hub
  1. (untuk lingkungan terputus) Instal modul PowerShell yang diperlukan, mirip dengan proses pembaruan yang digunakan untuk Menyebarkan penyedia sumber daya.

Memicu MajorVersionUpgrade

Jalankan skrip berikut dari konsol PowerShell yang ditinggikan untuk melakukan peningkatan versi utama.

Catatan

Pastikan mesin klien tempat Anda menjalankan skrip menggunakan versi OS yang lebih baru dari Windows 10 atau Windows Server 2016, serta mesin klien yang memiliki Arsitektur Sistem Operasi X64.

Penting

Kami sangat menyarankan menggunakan Clear-AzureRmContext -Scope CurrentUser dan Clear-AzureRmContext -Scope Process untuk menghapus cache sebelum menjalankan skrip penyebaran atau pembaruan.

# 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

Catatan

Alamat DNS serta alamat IP SQL RP V2 berbeda. Untuk mendapatkan IP publik baru, Anda dapat menghubungi dukungan untuk mengharuskan darurat DRP dan menemukan sumber daya SQLRPVM1130-PublicIP. Anda juga dapat menjalankan "nslookup sqlrp.dbadapter.< fqdn>" dari mesin klien yang sudah lulus uji titik akhir untuk mengetahui IP publik.

Memvalidasi peningkatan berhasil dilakukan

  1. Skrip MajorVersionUpgrade dijalankan tanpa kesalahan.
  2. Periksa penyedia sumber di marketplace dan pastikan SQL Rp 2.0 sudah berhasil terinstal.
  3. Grup sumber daya system.location>.sqladapter yang lama dan grup sumber daya > dalam langganan penyedia default tidak akan dihapus secara otomatis oleh skrip.
  • Sebaiknya simpan Akun Penyimpanan dan Key Vault di grup sumber daya sqladapter untuk beberapa waktu. Jika setelah peningkatan, setiap pengguna penyewa mengamati database yang tidak konsisten atau metadata login, tersedia dukungan untuk mengembalikan metadata dari grup sumber daya.
  • Setelah memverifikasi bahwa Zona DNS di grup sumber daya dbadapter.dns kosong tanpa data DNS, grup sumber daya dbadapter.dns dapat dihapus dengan aman.
  • [PENTING] Jangan gunakan skrip penyebaran V1 untuk menghapus instalan versi V1. Setelah pemutakhiran selesai dan konfirmasi bahwa peningkatan berhasil, Anda dapat menghapus grup sumber daya secara manual dari langganan penyedia.

Memperbarui dari SQL RP V1 versi sebelumnya ke SQL Rp 1.1.93.x

Pembaruan SQL penyedia sumber V1 bersifat kumulatif. Anda dapat langsung memperbarui ke versi 1.1.93.x.

Untuk memperbarui penyedia sumber ke 1.1.93.x, gunakan skrip UpdateSQLProvider.ps1. Gunakan akun layanan Anda dengan hak administratif lokal dan merupakan pemilik langganan. Skrip pembaruan ini disertakan dengan unduhan penyedia sumber.

Proses pembaruan mirip dengan proses yang digunakan untuk Menyebarkan penyedia sumber. Skrip pembaruan menggunakan argumen yang sama dengan skrip DeploySqlProvider.ps1, dan Anda harus memberikan informasi sertifikat.

Memperbarui proses skrip

Skrip UpdateSQLProvider.ps1 membuat mesin virtual (VM) baru dengan gambar OS terbaru, menyebarkan kode penyedia sumber daya terbaru, dan memigrasikan pengaturan dari penyedia sumber daya lama ke penyedia sumber daya baru.

Catatan

Sebaiknya unduh citra Microsoft AzureStack Add-on RP Windows Server 1.2009.0 dari Marketplace Management. Jika Anda perlu menginstal pembaruan, Anda dapat menempatkan satu paket MSU di jalur dependensi lokal. Skrip akan gagal jika ada lebih dari satu file MSU di lokasi ini.

Setelah skrip UpdateSQLProvider.ps1 membuat Mesin Virtual baru, skrip memigrasikan pengaturan berikut dari penyedia sumber daya lama Mesin Virtual:

  • informasi database
  • informasi server hosting
  • data DNS yang diperlukan

Penting

Kami sangat menyarankan penggunaan Clear-AzureRmContext -Scope CurrentUser dan Clear-AzureRmContext -Scope Process untuk menghapus cache sebelum menjalankan skrip penyebaran atau pembaruan.

Memperbarui parameter skrip

Anda dapat menentukan parameter berikut dari baris perintah saat menjalankan skrip PowerShell UpdateSQLProvider.ps1. Jika tidak, atau jika ada validasi parameter yang gagal, Anda diminta untuk memberikan parameter yang diperlukan.

Nama parameter Deskripsi Komentar atau nilai default
CloudAdminCredential Mandat untuk admin cloud, yang diperlukan untuk mengakses titik akhir istimewa. Diperlukan
AzCredential Mandat untuk akun admin layanan Azure Stack Hub. Gunakan mandat yang sama dengan yang Anda gunakan untuk menyebarkan Azure Stack Hub. Skrip akan gagal jika akun yang Anda gunakan dengan AzCredential memerlukan autentikasi multifaktor (MFA). Diperlukan
VMLocalCredential Mandat untuk akun admin lokal dari VM penyedia sumber SQL. Diperlukan
PrivilegedEndpoint Alamat IP atau nama DNS dari titik akhir hak istimewa. Diperlukan
AzureEnvironment Lingkungan Azure dari akun administrator layanan yang Anda gunakan untuk menyebarkan Azure Stack Hub. Diperlukan hanya untuk penyebaran Microsoft Entra. Nama lingkungan yang didukung adalah AzureCloud, AzureUSGovernment, atau jika menggunakan Microsoft Entra ID Tiongkok, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Anda juga harus memasukkan file .pfx sertifikat Anda di direktori ini. Opsional untuk node tunggal, tetapi wajib untuk multi-node
DefaultSSLCertificatePassword Kata sandi untuk sertifikat .pfx. Diperlukan
MaxRetryCount Berapa kali Anda ingin mencoba kembali setiap operasi jika ada kegagalan. 2
RetryDuration Interval batas waktu antara uji coba ulang, dalam hitungan detik. 120
Hapus instalasi Menghapus penyedia sumber dan semua sumber daya terkait. Tidak
DebugMode Mencegah pembersihan otomatis pada kegagalan. Tidak

Memperbarui contoh skrip PowerShell

Jika Anda memperbarui versi penyedia sumber SQL ke 1.1.33.0 atau versi sebelumnya, Anda perlu menginstal versi spesifik modul AzureRm.BootStrapper dan Azure Stack Hub di PowerShell.

Jika Anda memperbarui penyedia sumber daya SQL ke versi 1.1.47.0 atau versi lebih baru, Anda dapat melewati langkah ini. Skrip penyebaran akan secara otomatis mengunduh dan menginstal modul PowerShell yang diperlukan bagi Anda untuk jalur C:\Program Files\SqlMySqlPsh.

Catatan

Jika folder C:\Program Files\SqlMySqlPsh sudah ada dan modul PowerShell sudah diunduh, sebaiknya bersihkan folder ini sebelum menjalankan skrip pembaruan. Ini untuk memastikan versi modul PowerShell yang tepat diunduh dan digunakan.

# 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

Catatan

Dalam skenario terputus, Anda perlu mengunduh modul PowerShell yang diperlukan dan mendaftarkan repositori secara manual sebagai prasyarat. Anda bisa mendapatkan informasi selengkapnya di Penyedia sumber penyebaran SQL

Berikut ini adalah contoh menggunakan skrip UpdateSQLProvider.ps1 yang dapat Anda jalankan dari konsol PowerShell yang ditinggikan. Pastikan untuk mengubah informasi variabel dan kata sandi sesuai kebutuhan:

# 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

Saat skrip pembaruan penyedia sumber selesai, tutup sesi PowerShell saat ini.

Langkah berikutnya

Memelihara penyedia sumber SQL