Wdrażanie dostawcy zasobów SQL Server w centrum Azure StackDeploy the SQL Server resource provider on Azure Stack Hub

Użyj dostawcy zasobów SQL Server centrum Azure Stack, aby udostępnić bazy danych SQL jako usługę centrum Azure Stack.Use the Azure Stack Hub SQL Server resource provider to expose SQL databases as an Azure Stack Hub service. Dostawca zasobów SQL działa jako usługa na maszynie wirtualnej z systemem Windows Server 2016 Server Core (w przypadku wersji adaptera <= 1.1.47.0>) lub specjalnego systemu Windows Server RP (dla wersji adaptera >= 1.1.93.0).The SQL resource provider runs as a service on a Windows Server 2016 Server Core virtual machine (for adapter version <= 1.1.47.0>) or a special Add-on RP Windows Server (for adapter version >= 1.1.93.0).

Ważne

Tylko dostawca zasobów powinien tworzyć elementy na serwerach, na których jest hostowana baza danych SQL lub MySQL.Only the resource provider should create items on servers that host SQL or MySQL. Elementy utworzone na serwerze hosta, które nie są tworzone przez dostawcę zasobów, nie są obsługiwane i mogą spowodować niezgodność stanu.Items created on a host server that aren't created by the resource provider are unsupported, and may result in a mismatched state.

Wymagania wstępnePrerequisites

Istnieje kilka wymagań wstępnych, które należy spełnić przed wdrożeniem dostawcy zasobów SQL centrum Azure Stack:There are several prerequisites that need to be in place before you can deploy the Azure Stack Hub SQL resource provider:

  • Potrzebujesz komputera i konta, które ma dostęp do programu:You'll need a computer and account that can access:

    • Portal administratora centrum Azure Stack.the Azure Stack Hub administrator portal.
    • uprzywilejowany punkt końcowy.the privileged endpoint.
    • punkt końcowy Azure Resource Manager administratora, https://management.region.<fqdn> gdzie <fqdn> to w pełni kwalifikowana nazwa domeny (lub https://management.local.azurestack.external Jeśli jest używana ASDK)the Azure Resource Manager admin endpoint, https://management.region.<fqdn>, where <fqdn> is your fully qualified domain name (or https://management.local.azurestack.external if using the ASDK)
    • Internet, jeśli centrum Azure Stack zostało wdrożone w celu korzystania z usługi Azure Active Directory (AD) jako dostawcy tożsamości.the Internet, if your Azure Stack Hub was deployed to use Azure Active Directory (AD) as your identity provider.
  • Jeśli jeszcze tego nie zrobiono, zarejestruj centrum Azure Stack przy użyciu platformy Azure, aby umożliwić pobieranie elementów portalu Azure Marketplace.If you haven't already, register Azure Stack Hub with Azure so you can download Azure Marketplace items.

  • Dodaj wymaganą maszynę wirtualną z systemem Windows Server do Azure Stack centrum Marketplace.Add the required Windows Server VM to Azure Stack Hub Marketplace.

    • W przypadku usługi SQL RP w wersji <= 1.1.47.0 Pobierz obraz systemu Windows server 2016 Datacenter-Server Core .For SQL RP version <= 1.1.47.0, download the Windows Server 2016 Datacenter - Server Core image.
    • W przypadku usługi SQL RP w wersji >= 1.1.93.0 Pobierz obraz systemu Windows Server Add-On RP programu Microsoft AzureStack .For SQL RP version >= 1.1.93.0, download the Microsoft AzureStack Add-On RP Windows Server image. Ta wersja systemu Windows Server jest specjalizacją dla Azure Stack Add-On infrastruktury RP i nie jest widoczna dla witryny Marketplace dzierżawców.This Windows Server version is specialize for Azure Stack Add-On RP Infrastructure and it is not visible to the tenant marketplace.
  • Pobierz obsługiwaną wersję pliku binarnego dostawcy zasobów SQL zgodnie z tabelą mapowania wersji poniżej.Download the supported version of SQL resource provider binary according to the version mapping table below. Uruchom samowyodrębnianie, aby wyodrębnić pobraną zawartość do katalogu tymczasowego.Run the self-extractor to extract the downloaded contents to a temporary directory.

    Obsługiwana wersja centrum Azure StackSupported Azure Stack Hub version Wersja RP SQLSQL RP version System Windows Server, na którym jest uruchomiona usługa RPWindows Server that RP service is running on
    2008, 20052008, 2005 1.1.93.1 wersji SQL RPSQL RP version 1.1.93.1 Microsoft AzureStack — serwer RP systemu Windows ServerMicrosoft AzureStack Add-on RP Windows Server
    2005, 2002, 19102005, 2002, 1910 1.1.47.0 wersji SQL RPSQL RP version 1.1.47.0 Windows Server 2016 Datacenter — Server CoreWindows Server 2016 Datacenter - Server Core
    19081908 1.1.33.0 wersji SQL RPSQL RP version 1.1.33.0 Windows Server 2016 Datacenter — Server CoreWindows Server 2016 Datacenter - Server Core
  • Upewnij się, że spełniono wymagania wstępne dotyczące integracji centrum danych:Ensure datacenter integration prerequisites are met:

    Wymaganie wstępnePrerequisite DokumentacjaReference
    Warunkowe przekazywanie DNS jest ustawione prawidłowo.Conditional DNS forwarding is set correctly. Integracja centrum danych Azure Stack Hub — system DNSAzure Stack Hub datacenter integration - DNS
    Porty przychodzące dla dostawców zasobów są otwarte.Inbound ports for resource providers are open. Integracja centrum danych Azure Stack Hub — porty i protokoły przychodząceAzure Stack Hub datacenter integration - Ports and protocols inbound
    Podmiot certyfikatu PKI i sieć SAN są poprawnie skonfigurowane.PKI certificate subject and SAN are set correctly. Wymagania wstępne dotyczące wdrażania centrum Azure Stack dla infrastruktury PKIAzure Stack Hub deployment mandatory PKI prerequisites
    Wymagania wstępne dotyczące certyfikatu wdrożenia centrum Azure Stack PaaSAzure Stack Hub deployment PaaS certificate prerequisites

W scenariuszu rozłączonym wykonaj następujące kroki, aby pobrać wymagane moduły programu PowerShell i ręcznie zarejestrować repozytorium.In a disconnected scenario, complete the following steps to download the required PowerShell modules and register the repository manually.

  1. Zaloguj się na komputerze z łącznością internetową i użyj następujących skryptów, aby pobrać moduły programu PowerShell.Sign in to a computer with internet connectivity and use the following scripts to download the PowerShell modules.
Import-Module -Name PowerShellGet -ErrorAction Stop
Import-Module -Name PackageManagement -ErrorAction Stop

# path to save the packages, c:\temp\azs1.6.0 as an example here
$Path = "c:\temp\azs1.6.0"
  1. W zależności od wersji wdrażanego dostawcy zasobów Uruchom jeden ze skryptów.Depending on the version of resource provider that you are deploying, run one of the scripts.
# for resource provider version >= 1.1.93.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
# for resource provider version <= 1.1.47.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
  1. Następnie można skopiować pobrane pakiety na urządzenie USB.Then you copy the downloaded packages to a USB device.

  2. Zaloguj się na odłączonej stacji roboczej i skopiuj pakiety z urządzenia USB do lokalizacji na stacji roboczej.Sign in to the disconnected workstation and copy the packages from the USB device to a location on the workstation.

  3. Zarejestruj tę lokalizację jako lokalne repozytorium.Register this location as a local repository.

# requires -Version 5
# requires -RunAsAdministrator
# requires -Module PowerShellGet
# requires -Module PackageManagement

$SourceLocation = "C:\temp\azs1.6.0"
$RepoName = "azs1.6.0"

Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted

New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory"

CertyfikatyCertificates

Tylko dla instalacji systemów zintegrowanych.For integrated systems installations only. Należy podać certyfikat PKI SQL PaaS opisany w sekcji opcjonalne certyfikaty PaaS wymagania dotyczące infrastruktury PKI wdrożenia centrum Azure Stack.You must provide the SQL PaaS PKI certificate described in the optional PaaS certificates section of Azure Stack Hub deployment PKI requirements. Umieść plik PFX w lokalizacji określonej przez parametr DependencyFilesLocalPath .Place the .pfx file in the location specified by the DependencyFilesLocalPath parameter. Nie dostarczaj certyfikatu dla systemów ASDK.Don't provide a certificate for ASDK systems.

Wdróż dostawcę zasobów SQLDeploy the SQL resource provider

Po wykonaniu wszystkich wymagań wstępnych Uruchom skrypt DeploySqlProvider.ps1 z komputera, który może uzyskać dostęp zarówno do Azure Resource Manager centrum Azure Stack, jak i z uprzywilejowanego punktu końcowego, do wdrożenia dostawcy zasobów SQL.After you've completed all of the prerequisites, run the DeploySqlProvider.ps1 script from a computer that can access both the Azure Stack Hub Azure Resource Manager admin endpoint and the privileged endpoint, to deploy the SQL resource provider. Skrypt DeploySqlProvider.ps1 jest wyodrębniany jako część pliku binarnego dostawcy zasobów SQL, który został pobrany dla używanej wersji centrum Azure Stack.The DeploySqlProvider.ps1 script is extracted as part of the SQL resource provider binary that you downloaded for your version of Azure Stack Hub.

Ważne

Przed wdrożeniem dostawcy zasobów zapoznaj się z informacjami o wersji, aby dowiedzieć się więcej o nowych funkcjach, poprawkach i znanych problemach, które mogą mieć wpływ na wdrożenie.Before deploying the resource provider, review the release notes to learn about new functionality, fixes, and any known issues that could affect your deployment.

Aby wdrożyć dostawcę zasobów SQL, Otwórz nowe okno programu PowerShell z podwyższonym poziomem uprawnień (nie w programie PowerShell ISE) i przejdź do katalogu, w którym wyodrębniono pliki binarne dostawcy zasobów SQL.To deploy the SQL resource provider, open a new elevated PowerShell window (not PowerShell ISE) and change to the directory where you extracted the SQL resource provider binary files.

Ważne

Zdecydowanie zalecamy użycie procesu Clear-AzureRmContext-Scope CurrentUser i Clear-AzureRmContext-Scope w celu wyczyszczenia pamięci podręcznej przed uruchomieniem skryptu aktualizacji.We strongly recommend using Clear-AzureRmContext -Scope CurrentUser and Clear-AzureRmContext -Scope Process to clear the cache before running the update script.

Uruchom skrypt DeploySqlProvider.ps1, który wykonuje następujące zadania:Run the DeploySqlProvider.ps1 script, which completes the following tasks:

  • Przekazuje certyfikaty i inne artefakty do konta magazynu w centrum Azure Stack.Uploads the certificates and other artifacts to a storage account on Azure Stack Hub.
  • Publikuje pakiety galerii, aby można było wdrażać bazy danych SQL przy użyciu galerii.Publishes gallery packages so you can deploy SQL databases using the gallery.
  • Publikuje pakiet galerii służący do wdrażania serwerów hostingu.Publishes a gallery package for deploying hosting servers.
  • Wdraża maszynę wirtualną przy użyciu obrazu systemu Windows Server 2016 Core lub pobranego obrazu systemu Windows Server z dodatkiem Microsoft AzureStack, a następnie instaluje dostawcę zasobów SQL.Deploys a VM using the Windows Server 2016 core image or Microsoft AzureStack Add-on RP Windows Server image you downloaded, and then installs the SQL resource provider.
  • Rejestruje lokalny rekord DNS, który jest mapowany na maszynę wirtualną dostawcy zasobów.Registers a local DNS record that maps to your resource provider VM.
  • Rejestruje dostawcę zasobów przy użyciu lokalnego Azure Resource Manager dla konta operatora.Registers your resource provider with the local Azure Resource Manager for the operator account.

Uwaga

Po uruchomieniu wdrożenia dostawcy zasobów SQL zostanie utworzona grupa zasobów System. local. sqladapter .When the SQL resource provider deployment starts, the system.local.sqladapter resource group is created. Ukończenie wymaganych wdrożeń do tej grupy zasobów może potrwać do 75 minut.It may take up to 75 minutes to finish the required deployments to this resource group. Nie należy umieszczać innych zasobów w grupie zasobów System. local. sqladapter .You should not place any other resources in the system.local.sqladapter resource group.

Parametry DeploySqlProvider.ps1DeploySqlProvider.ps1 parameters

W wierszu polecenia można określić następujące parametry.You can specify the following parameters from the command line. Jeśli nie, lub jeśli sprawdzanie poprawności parametrów nie powiedzie się, zostanie wyświetlony monit o podanie wymaganych parametrów.If you don't, or if any parameter validation fails, you're prompted to provide the required parameters.

Nazwa parametruParameter name OpisDescription Komentarz lub wartość domyślnaComment or default value
CloudAdminCredentialCloudAdminCredential Poświadczenie administratora chmury niezbędne do uzyskania dostępu do uprzywilejowanego punktu końcowego.The credential for the cloud admin, necessary for accessing the privileged endpoint. WymaganeRequired
AzCredentialAzCredential Poświadczenia konta administratora usługi Azure Stack Hub.The credentials for the Azure Stack Hub service admin account. Użyj tych samych poświadczeń, które zostały użyte do wdrożenia centrum Azure Stack.Use the same credentials that you used for deploying Azure Stack Hub. Skrypt zakończy się niepowodzeniem, jeśli konto używane z usługą AzCredential wymaga uwierzytelniania wieloskładnikowego (MFA).The script will fail if the account you use with AzCredential requires multi-factor authentication (MFA). WymaganeRequired
VMLocalCredentialVMLocalCredential Poświadczenia dla konta administratora lokalnego na maszynie wirtualnej dostawcy zasobów SQL.The credentials for the local admin account of the SQL resource provider VM. WymaganeRequired
PrivilegedEndpointPrivilegedEndpoint Adres IP lub nazwa DNS uprzywilejowanego punktu końcowego.The IP address or DNS name of the privileged endpoint. WymaganeRequired
AzureEnvironmentAzureEnvironment Środowisko platformy Azure konta administratora usługi używane do wdrażania centrum Azure Stack.The Azure environment of the service admin account used for deploying Azure Stack Hub. Wymagane tylko w przypadku wdrożeń usługi Azure AD.Required only for Azure AD deployments. Obsługiwane nazwy środowisk to AzureCloud, AzureUSGovernment lub w przypadku korzystania z usługi Azure AD, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure AD, AzureChinaCloud. AzureCloudAzureCloud
DependencyFilesLocalPathDependencyFilesLocalPath Tylko w przypadku systemów zintegrowanych plik PFX musi być umieszczony w tym katalogu.For integrated systems only, your certificate .pfx file must be placed in this directory. Opcjonalnie można skopiować jeden Windows Update Pakiet MSU tutaj.You can optionally copy one Windows Update MSU package here. Opcjonalne (obowiązkowe dla systemów zintegrowanych)Optional (mandatory for integrated systems)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword Hasło certyfikatu PFX.The password for the .pfx certificate. WymaganeRequired
MaxRetryCountMaxRetryCount Ile razy chcesz ponowić każdą operację w przypadku wystąpienia błędu.The number of times you want to retry each operation if there's a failure. 22
RetryDurationRetryDuration Interwał limitu czasu między ponownymi próbami (w sekundach).The timeout interval between retries, in seconds. 120120
OdinstalowywanieUninstall Usuwa dostawcę zasobów i wszystkie skojarzone zasoby (Zobacz poniższe uwagi).Removes the resource provider and all associated resources (see the following notes). NieNo
DebugujmodeDebugMode Uniemożliwia automatyczne czyszczenie w przypadku niepowodzenia.Prevents automatic cleanup on failure. NieNo

Wdrażanie dostawcy zasobów SQL przy użyciu skryptu niestandardowegoDeploy the SQL resource provider using a custom script

W przypadku wdrażania dostawcy zasobów SQL w wersji 1.1.33.0 lub poprzednich, należy zainstalować określone wersje programu AzureRm. Bootstrap i Azure Stack modułów centrum w programie PowerShell.If you're deploying the SQL resource provider version 1.1.33.0 or previous versions, you need to install specific versions of AzureRm.BootStrapper and Azure Stack Hub modules in PowerShell. W przypadku wdrażania dostawcy zasobów SQL w wersji 1.1.47.0 lub nowszej skrypt wdrożenia automatycznie pobierze i zainstaluje niezbędne moduły programu PowerShell dla ścieżki C:\Program Files\SqlMySqlPsh.If you're deploying the SQL resource provider version 1.1.47.0 or later, the deployment script will automatically download and install the necessary PowerShell modules for you to path C:\Program Files\SqlMySqlPsh.

# 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 -RequiredVersion 0.5.0 -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Uwaga

W przypadku scenariusza rozłączenia należy pobrać wymagane moduły programu PowerShell i zarejestrować repozytorium ręcznie jako warunek wstępny.In disconnected scenario, you need to download the required PowerShell modules and register the repository manually as a prerequisite.

Aby wyeliminować konfigurację ręczną podczas wdrażania dostawcy zasobów, można dostosować następujący skrypt.To eliminate any manual configuration when deploying the resource provider, you can customize the following script. Zmień domyślne informacje o koncie i hasła zgodnie z wymaganiami wdrożenia centrum Azure Stack.Change the default account information and passwords as needed for your Azure Stack Hub deployment.

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$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 can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

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

# Add the cloudadmin credential that's 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 to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeploySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert

Po zakończeniu działania skryptu instalacji dostawcy zasobów Odśwież przeglądarkę, aby upewnić się, że są widoczne najnowsze aktualizacje i zamknij bieżącą sesję programu PowerShell.When the resource provider installation script finishes, refresh your browser to make sure you can see the latest updates and close the current PowerShell session.

Weryfikowanie wdrożenia przy użyciu portalu Azure Stack HubVerify the deployment using the Azure Stack Hub portal

  1. Zaloguj się do portalu administratora jako administrator usługi.Sign in to the administrator portal as the service admin.
  2. Wybierz pozycję Grupy zasobów.Select Resource Groups.
  3. Wybierz System. <location> . Grupa zasobów sqladapter .Select the system.<location>.sqladapter resource group.
  4. Na stronie Podsumowanie w obszarze przegląd grupy zasobów nie powinno być wdrożeń zakończonych niepowodzeniem.On the summary page for Resource group Overview, there should be no failed deployments.
  5. Na koniec wybierz pozycję maszyny wirtualne w portalu administratora, aby sprawdzić, czy maszyna wirtualna dostawcy zasobów SQL została pomyślnie utworzona i czy jest uruchomiona.Finally, select Virtual machines in the administrator portal to verify that the SQL resource provider VM was successfully created and is running.

Następne krokiNext steps

Dodawanie serwerów hostinguAdd hosting servers