Utilizzare i database SQL nello Stack di Microsoft AzureUse SQL databases on Microsoft Azure Stack

Si applica a: Azure Stack integrate di sistemi Azure Stack Development KitApplies to: Azure Stack integrated systems and Azure Stack Development Kit

Utilizzare l'adapter di provider di risorse di SQL Server per esporre i database SQL come servizio di Azure Stack.Use the SQL Server resource provider adapter to expose SQL databases as a service of Azure Stack. Dopo aver installato il provider di risorse e connetterla a uno o più istanze di SQL Server, gli utenti possono creare:After you install the resource provider and connect it to one or more SQL Server instances, you and your users can create:

  • Database per le app cloud nativo.Databases for cloud-native apps.
  • Siti Web basati su SQL.Websites that are based on SQL.
  • Carichi di lavoro basati su SQL.Workloads that are based on SQL. Non è necessario eseguire il provisioning di una macchina virtuale (VM) che ospita SQL Server ogni volta.You don't have to provision a virtual machine (VM) that hosts SQL Server each time.

Il provider di risorse non supporta tutte le funzionalità di gestione di database di Database SQL di Azure.The resource provider does not support all the database management capabilities of Azure SQL Database. Ad esempio, pool di Database elastici e la possibilità di comporre su e giù automaticamente le prestazioni del database non sono disponibili.For example, Elastic Database pools and the ability to dial database performance up and down automatically aren't available. Tuttavia, risorse provider supportati simile creare, leggere, aggiornare ed eliminazione (CRUD).However, the resource provider does support similar create, read, update, and delete (CRUD) operations. L'API non è compatibile con il Database SQL.The API is not compatible with SQL Database.

Architettura dell'adapter SQL resource providerSQL resource provider adapter architecture

Il provider di risorse è costituito da tre componenti:The resource provider consists of three components:

  • L'adapter di provider di risorse SQL VM, che è una macchina virtuale di Windows che esegue i servizi di provider.The SQL resource provider adapter VM, which is a Windows virtual machine that runs the provider services.
  • Il provider di risorse stesso, che elabora le richieste di provisioning ed espone le risorse di database.The resource provider itself, which processes provisioning requests and exposes database resources.
  • I server che ospitano SQL Server, che forniscono capacità per i database denominato server di hosting.Servers that host SQL Server, which provide capacity for databases called hosting servers.

È necessario creare istanze di uno (o più) di SQL Server e/o fornire l'accesso alle istanze di SQL Server esterne.You must create one (or more) intances of SQL Server and/or provide access to external SQL Server instances.

Distribuire il provider di risorseDeploy the resource provider

  1. Se non è già stato fatto, registrare il kit di sviluppo e scaricare l'immagine di Windows Server 2016 Data Center Core scaricabile tramite la gestione del Marketplace.If you have not already done so, register your development kit and download the Windows Server 2016 Datacenter Core image downloadable through Marketplace Management. È necessario utilizzare un'immagine di Windows Server 2016 Core.You must use a Windows Server 2016 Core image. È inoltre possibile utilizzare uno script per creare un immagine di Windows Server 2016.You can also use a script to create a Windows Server 2016 image. (Assicurarsi di selezionare l'opzione componenti di base).(Be sure to select the core option). Il runtime di .NET 3.5 non è più necessario.The .NET 3.5 runtime is no longer required.

  2. Accedere a un host che possa accedere all'endpoint con privilegi di macchina virtuale.Sign in to a host that can access the privileged endpoint VM.

    • Le installazioni del Kit di sviluppo dello Stack di Azure, accedere all'host fisico.On Azure Stack Development Kit installations, sign in to the physical host.

    • Nei sistemi a più nodi, l'host deve essere un sistema che possa accedere all'endpoint con privilegi.On multi-node systems, the host must be a system that can access the privileged endpoint.

      Nota

      Il sistema in cui viene eseguito lo script deve un sistema di Windows 10 o Windows Server 2016 con la versione più recente del runtime di .NET installata.The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed. Installazione non riesce in caso contrario.Installation fails otherwise. L'host di Azure SDK Stack soddisfa questo criterio.The Azure Stack SDK host meets this criterion.

  3. Scaricare il provider di risorse SQL binario.Download the SQL resource provider binary. Quindi eseguire il programma di autoestrazione per estrarre il contenuto in una directory temporanea.Then run the self-extractor to extract the contents to a temporary directory.

    Nota

    La compilazione di provider di risorse corrisponde alle compilazioni dello Stack di Azure.The resource provider build corresponds to Azure Stack builds. Assicurarsi di scaricare il file binario corretto per la versione dello Stack di Azure che è in esecuzione.Be sure to download the correct binary for the version of Azure Stack that is running.

    Compilazione di Azure StackAzure Stack build Installazione di provider di risorse SQLSQL resource provider installer
    1.0.180102.3, 1.0.180103.2 o 1.0.180106.1 (a più nodi)1.0.180102.3, 1.0.180103.2 or 1.0.180106.1 (multi-node) RP SQL versione 1.1.14.0SQL RP version 1.1.14.0
    1.0.171122.11.0.171122.1 RP SQL versione 1.1.12.0SQL RP version 1.1.12.0
    1.0.171028.11.0.171028.1 RP SQL versione 1.1.8.0SQL RP version 1.1.8.0
  4. Il certificato radice dello Stack di Azure viene recuperato dall'endpoint con privilegi.The Azure Stack root certificate is retrieved from the privileged endpoint. Per il SDK di Stack di Azure, viene creato un certificato autofirmato come parte di questo processo.For the Azure Stack SDK, a self-signed certificate is created as part of this process. Per più nodi, è necessario fornire un certificato appropriato.For multi-node, you must provide an appropriate certificate.

    Per fornire il proprio certificato, inserire un file con estensione pfx nel DependencyFilesLocalPath come indicato di seguito:To provide your own certificate, place a .pfx file in the DependencyFilesLocalPath as follows:

    • Un certificato con caratteri jolly per *.dbadapter.< area>.< fqdn esterno> o un certificato del singolo sito con un nome comune sqladapter.dbadapter.< area>.< fqdn esterno>.Either a wildcard certificate for *.dbadapter.<region>.<external fqdn> or a single site certificate with a common name of sqladapter.dbadapter.<region>.<external fqdn>.

    • Questo certificato deve essere considerato attendibile.This certificate must be trusted. Vale a dire la catena di certificati deve esistere senza richiedere i certificati intermedi.That is, the chain of trust must exist without requiring intermediate certificates.

    • Solo un singolo file di certificato esiste nel DependencyFilesLocalPath.Only a single certificate file exists in the DependencyFilesLocalPath.

    • Il nome del file non deve contenere caratteri speciali.The file name must not contain any special characters.

  5. Aprire un nuova console di PowerShell con privilegi elevati (amministratore) e modifica della directory in cui sono stati estratti i file.Open a new elevated (administrative) PowerShell console and change to the directory where you extracted the files. Per evitare problemi che potrebbero verificarsi dei moduli di PowerShell non corretti che sono già caricati nel sistema, utilizzare una nuova finestra.Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.

  6. Installare Azure PowerShell versione 1.2.11.Install Azure PowerShell version 1.2.11.

  7. Eseguire lo script DeploySqlProvider.ps1, che consente di eseguire questi passaggi:Run the DeploySqlProvider.ps1 script, which performs these steps:

    • Carica i certificati e altri elementi di un account di archiviazione nello Stack di Azure.Uploads the certificates and other artifacts to a storage account on Azure Stack.
    • Pubblica i pacchetti di raccolta in modo che è possibile distribuire il database SQL tramite la raccolta.Publishes gallery packages so that you can deploy SQL databases through the gallery.
    • Pubblica un pacchetto di raccolta per la distribuzione di server di hosting.Publishes a gallery package for deploying hosting servers.
    • Consente di distribuire una macchina virtuale usando l'immagine di Windows Server 2016 che è stato creato nel passaggio 1 e quindi installa il provider di risorse.Deploys a VM by using the Windows Server 2016 image that was created in step 1, and then installs the resource provider.
    • Registra un record DNS locale che esegue il mapping al provider di risorse macchina virtuale.Registers a local DNS record that maps to your resource provider VM.
    • Registra il provider di risorse con locale Gestione risorse di Azure (utente e amministratore).Registers your resource provider with the local Azure Resource Manager (user and admin).

Nota

Se l'installazione richiede più di 90 minuti, potrebbe non riuscire.If the installation takes more than 90 minutes, it might fail. In caso contrario, viene visualizzato un messaggio di errore sullo schermo e nel file di log, ma la distribuzione viene ritentata dal passaggio non riuscito.If it fails, you see a failure message on the screen and in the log file, but the deployment is retried from the failing step. I sistemi che non soddisfano le specifiche consigliate in memoria e CPU virtuali potrebbero non essere in grado di distribuire il provider di risorsa SQL.Systems that do not meet the recommended memory and vCPU specifications might not be able to deploy the SQL resoure provider.

Di seguito è riportato un esempio che è possibile eseguire dal prompt di PowerShell.Here's an example you can run from the PowerShell prompt. (Assicurarsi di modificare le informazioni sull'account e password in base alle necessità.)(Be sure to change the account information and passwords as needed.)

# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureRM and AzureStack modules.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2017-03-09-profile
Install-Module -Name AzureStack -RequiredVersion 1.2.11 -Force

# Use the NetBIOS name for the Azure Stack domain. On the Azure Stack SDK, the default is AzureStack and the default prefix is AzS.
# For integrated systems, the domain and the prefix are the same.
$domain = "AzureStack"
$prefix = "AzS"
$privilegedEndpoint = "$prefix-ERCS01"

# 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.
$vmLocalAdminPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# And 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

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

Parametri DeploySqlProvider.ps1DeploySqlProvider.ps1 parameters

È possibile specificare questi parametri nella riga di comando.You can specify these parameters in the command line. In caso contrario, o qualsiasi parametro di convalida non riesce, viene chiesto di fornire i parametri richiesti.If you do not, or if any parameter validation fails, you are prompted to provide the required parameters.

Nome parametroParameter name DESCRIZIONEDescription Commento o il valore predefinitoComment or default value
CloudAdminCredentialCloudAdminCredential Le credenziali per l'amministratore del cloud, necessaria per l'accesso all'endpoint con privilegi.The credential for the cloud administrator, necessary for accessing the privileged endpoint. ObbligatorioRequired
AzCredentialAzCredential Le credenziali per l'account amministratore del servizio Azure Stack.The credentials for the Azure Stack service admin account. Utilizzare le stesse credenziali utilizzate per la distribuzione dello Stack di Azure.Use the same credentials as you used for deploying Azure Stack. ObbligatorioRequired
VMLocalCredentialVMLocalCredential Le credenziali per l'account amministratore locale del provider di risorse SQL macchina virtuale.The credentials for the local administrator account of the SQL resource provider VM. ObbligatorioRequired
PrivilegedEndpointPrivilegedEndpoint L'indirizzo IP o nome DNS dell'endpoint con privilegi.The IP address or DNS name of the privileged endpoint. ObbligatorioRequired
DependencyFilesLocalPathDependencyFilesLocalPath Il file pfx del certificato deve trovarsi in questa directory.Your certificate .pfx file must be placed in this directory as well. Parametro facoltativo (obbligatorio a nodi multipli)Optional (mandatory for multi-node)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword La password per il certificato con estensione pfx.The password for the .pfx certificate. ObbligatorioRequired
MaxRetryCountMaxRetryCount Il numero di volte in cui che si desidera ripetere ogni operazione se si è verificato un errore.The number of times you want to retry each operation if there is a failure. 22
RetryDurationRetryDuration L'intervallo di timeout tra due tentativi, in secondi.The timeout interval between retries, in seconds. 120120
DisinstallareUninstall Rimuove il provider di risorse e tutte le risorse associate (vedere le note seguenti).Removes the resource provider and all associated resources (see the following notes). No No
DebugModeDebugMode Impedisce la pulizia automatica in caso di errore.Prevents automatic cleanup on failure. No No

Verificare la distribuzione tramite il portale di Azure StackVerify the deployment using the Azure Stack portal

Nota

Al termine dell'esecuzione dello script di installazione, è necessario aggiornare il portale per visualizzare il pannello di amministrazione.After the installation script finishes running, you need to refresh the portal to see the admin blade.

  1. Accedere al portale di amministrazione con l'amministratore del servizio.Sign in to the admin portal as the service administrator.

  2. Verificare che la distribuzione ha avuto esito positivo.Verify that the deployment succeeded. Passare a gruppi di risorse.Go to Resource Groups. Selezionare quindi il system.< percorso>.sqladapter gruppo di risorse.Then select the system.<location>.sqladapter resource group. Verificare che tutte le distribuzioni di quattro ha avuto esito positivo.Verify that all four deployments succeeded.

    Verificare la distribuzione del provider di risorse SQL

Aggiornare l'adapter di provider di risorse SQL (a più nodi solo, le compilazioni 1710 e versioni successive)Update the SQL resource provider adapter (multi-node only, builds 1710 and later)

Ogni volta che viene aggiornata la compilazione dello Stack di Azure, viene rilasciata una nuova scheda provider di risorse SQL.Whenever the Azure Stack build is updated, a new SQL resource provider adapter is released. L'adapter esistente potrebbe continuare a funzionare.The existing adapter might continue to work. Tuttavia, è consigliabile l'aggiornamento all'ultima build appena possibile dopo l'aggiornamento dello Stack di Azure.However, we recommend updating to the latest build as soon as possible after the Azure Stack is updated.

Il processo di aggiornamento è simile al processo di installazione descritto in precedenza.The update process is similar to the installation process that's described earlier. Si crea una nuova macchina virtuale con il codice del provider di risorse più recente.You create a new VM with the latest resource provider code. Inoltre, migrazione delle impostazioni per questa nuova istanza, tra cui database e le informazioni sul server di hosting.In addition, you migrate settings to this new instance, including database and hosting server information. È possibile la migrazione del record DNS necessario.You also migrate the necessary DNS record.

Usare lo script UpdateSQLProvider.ps1 con gli stessi argomenti descritto in precedenza.Use the UpdateSQLProvider.ps1 script with the same arguments that we described earlier. È necessario fornire anche il certificato.You must provide the certificate here as well.

Nota

Questo processo di aggiornamento è supportato solo nei sistemi a più nodi.This update process is only supported on multi-node systems.

# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureRM and AzureStack modules.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2017-03-09-profile
Install-Module -Name AzureStack -RequiredVersion 1.2.11 -Force

# Use the NetBIOS name for the Azure Stack domain. On the Azure Stack SDK, the default is AzureStack and the default prefix is AzS.
# For integrated systems, the domain and the prefix are the same.
$domain = "AzureStack"
$prefix = "AzS"
$privilegedEndpoint = "$prefix-ERCS01"

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

# The service admin account (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 credentials for the new Resource Provider VM.
$vmLocalAdminPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# And 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

# 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 `
  -DefaultSSLCertificatePassword $PfxPass `
  -DependencyFilesLocalPath $tempDir\cert

UpdateSQLProvider.ps1 parametersUpdateSQLProvider.ps1 parameters

È possibile specificare questi parametri nella riga di comando.You can specify these parameters in the command line. In caso contrario, o qualsiasi parametro di convalida non riesce, viene chiesto di fornire i parametri richiesti.If you do not, or if any parameter validation fails, you are prompted to provide the required parameters.

Nome parametroParameter name DESCRIZIONEDescription Commento o il valore predefinitoComment or default value
CloudAdminCredentialCloudAdminCredential Le credenziali per l'amministratore del cloud, necessaria per l'accesso all'endpoint con privilegi.The credential for the cloud administrator, necessary for accessing the privileged endpoint. ObbligatorioRequired
AzCredentialAzCredential Le credenziali per l'account amministratore del servizio Azure Stack.The credentials for the Azure Stack service admin account. Utilizzare le stesse credenziali utilizzate per la distribuzione dello Stack di Azure.Use the same credentials that you used for deploying Azure Stack. ObbligatorioRequired
VMLocalCredentialVMLocalCredential Le credenziali per l'account amministratore locale del provider di risorse SQL macchina virtuale.The credentials for the local administrator account of the SQL resource provider VM. ObbligatorioRequired
PrivilegedEndpointPrivilegedEndpoint L'indirizzo IP o nome DNS dell'endpoint con privilegi.The IP address or DNS name of the privileged endpoint. ObbligatorioRequired
DependencyFilesLocalPathDependencyFilesLocalPath Il file pfx del certificato deve trovarsi in questa directory.Your certificate .pfx file must be placed in this directory as well. Parametro facoltativo (obbligatorio a nodi multipli)Optional (mandatory for multi-node)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword La password per il certificato con estensione pfx.The password for the .pfx certificate. obbligatoriorequired
MaxRetryCountMaxRetryCount Il numero di volte in cui che si desidera ripetere ogni operazione se si è verificato un errore.The number of times you want to retry each operation if there is a failure. 22
RetryDurationRetryDuration L'intervallo di timeout tra due tentativi, in secondi.The timeout interval between retries, in seconds. 120120
DisinstallareUninstall Rimuove il provider di risorse e tutte le risorse associate (vedere le note seguenti).Removes the resource provider and all associated resources (see the following notes). No No
DebugModeDebugMode Impedisce la pulizia automatica in caso di errore.Prevents automatic cleanup on failure. No No

Rimuovere la scheda provider di risorse SQLRemove the SQL resource provider adapter

Per rimuovere il provider di risorse, è necessario innanzitutto rimuovere tutte le dipendenze.To remove the resource provider, it is essential to first remove any dependencies.

  1. Assicurarsi di disporre il pacchetto di distribuzione originale scaricati per questa versione di adattatore di provider di risorse SQL.Ensure that you have the original deployment package that you downloaded for this version of the SQL resource provider adapter.

  2. È necessario eliminare tutti i database utente dal provider di risorse.All user databases must be deleted from the resource provider. (L'eliminazione dei database utente non elimina i dati.) Questa attività deve essere eseguita dagli utenti stessi.(Deleting the user databases doesn't delete the data.) This task should be performed by the users themselves.

  3. L'amministratore deve eliminare il server di hosting dalla scheda provider di risorse di SQL.The administrator must delete the hosting servers from the SQL resource provider adapter.

  4. L'amministratore deve eliminare i piani che fanno riferimento l'adapter di provider di risorse SQL.The administrator must delete any plans that reference the SQL resource provider adapter.

  5. L'amministratore deve eliminare qualsiasi SKU e quote che sono associate all'adapter di provider di risorse SQL.The administrator must delete any SKUs and quotas that are associated with the SQL resource provider adapter.

  6. Eseguire nuovamente lo script di distribuzione con gli elementi seguenti:Rerun the deployment script with the following elements:

    • -Disinstallare parametroThe -Uninstall parameter
    • Gli endpoint di gestione risorse di AzureThe Azure Resource Manager endpoints
    • The DirectoryTenantIDThe DirectoryTenantID
    • Le credenziali per l'account amministratore del servizioThe credentials for the service administrator account

Passaggi successiviNext steps

Aggiungere i server di hosting e creare database.Add hosting servers and create databases.

Provare altre servizi PaaS come il il provider di risorse di MySQL Server e il provider di risorse di servizi App.Try other PaaS services like the MySQL Server resource provider and the App Services resource provider.