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 nativoDatabases for cloud-native apps
  • siti Web basati su SQLWebsites that are based on SQL
  • i carichi di lavoro che si basano su SQL non è necessario eseguire il provisioning di una macchina virtuale (VM) che ospita SQL Server ogni volta.Workloads that are based on SQL 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 automaticamente le prestazioni del database su e giù 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 i database di SQL Server.The API is not compatible with SQL DB.

Architettura dell'Adapter di Provider di risorse SQLSQL Resource Provider Adapter architecture

Il provider di risorse è costituito da tre componenti:The resource provider is made up of three components:

  • L'adapter di provider di risorse SQL VM, che è una macchina virtuale Windows in esecuzione i servizi di provider.The SQL resource provider adapter VM, which is a Windows virtual machine running 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 uno o più SQL Server e/o fornire l'accesso a istanze di SQL esterne.You must create one (or more) SQL servers and/or provide access to external SQL 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 -assicurarsi di selezionare l'opzione componenti di base.You can also use a script to create a Windows Server 2016 image - 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 può accedere con privilegi Endpoint di macchina virtuale.Sign in to a host that can access the Privileged Endpoint VM.

    a.a. Nelle installazioni di Azure Stack Development Kit (ASDK), accedere all'host fisico.On Azure Stack Development Kit (ASDK) installations, sign in to the physical host.

    b.b. 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.

  3. Scaricare il provider di risorse SQL binario ed eseguire il programma di autoestrazione per estrarre il contenuto in una directory temporanea.Download the SQL resource provider binary and execute 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. È necessario scaricare il file binario corretto per la versione dello Stack di Azure che è in esecuzione.You must download the correct binary for the version of Azure Stack that is running.

    Compilazione di Azure StackAzure Stack Build Programma di installazione di SQL RPSQL RP installer
    1.0.171122.11.0.171122.1 RP SQL versione 1.1.10.0SQL RP version 1.1.10.0
    1.0.171028.11.0.171028.1 RP SQL versione 1.1.8.0SQL RP version 1.1.8.0
    1.0.170928.31.0.170928.3 RP SQL versione 1.1.3.0SQL RP version 1.1.3.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 ASDK, viene creato un certificato autofirmato come parte di questo processo.For ASDK, 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.

    Se è necessario fornire il proprio certificato, è necessario il certificato seguente:If you need to provide your own certificate, you need the following certificate:

    Un certificato con caratteri jolly per *.dbadapter.< area>.< fqdn esterno>.A wildcard certificate for *.dbadapter.<region>.<external fqdn>. Questo certificato deve essere considerato attendibile, ad esempio potrebbe essere emesso da un'autorità di certificazione.This certificate must be trusted, such as would be issued by a certificate authority. 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. Con il nome di macchina virtuale esplicito [sqladapter] utilizzato durante l'installazione, è possibile utilizzare un certificato del singolo sito.A single site certificate can be used with the explicit VM name [sqladapter] used during install.

  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 emergere dalla corretti moduli PowerShell già caricati nel sistema, utilizzare una nuova finestra.Use a new window to avoid problems that may arise from incorrect PowerShell modules 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 con i parametri elencati di seguito.Run the DeploySqlProvider.ps1 script with the parameters listed below.

Lo script esegue le operazioni:The script performs these steps:

  • Caricare i certificati e altri elementi di un account di archiviazione nello Stack Azure.Upload the certificates and other artifacts to a storage account on your Azure Stack.
  • Pubblicare pacchetti di raccolta in modo che è possibile distribuire il database SQL tramite la raccolta.Publish gallery packages so that you can deploy SQL databases through the gallery.
  • Pubblicare un pacchetto di raccolta per la distribuzione di server di HostingPublish a gallery package for deploying Hosting Servers
  • Distribuire una macchina virtuale utilizzando l'immagine di Windows Server 2016 creato nel passaggio 1 e installare il provider di risorse.Deploy a VM using the Windows Server 2016 image created in step 1 and install the resource provider.
  • Registrare un record DNS locale che esegue il mapping al provider di risorse macchina virtuale.Register a local DNS record that maps to your resource provider VM.
  • Registrare il provider di risorse con locale Gestione risorse di Azure (utente e amministratore).Register your resource provider with the local Azure Resource Manager (user and admin).

Nota

Se l'installazione richiede più di 90 minuti, potrebbe non riuscire e viene visualizzato un messaggio di errore sullo schermo e nel file di log, ma la distribuzione viene ritentata dal passaggio non riuscito.If the installation takes more than 90 minutes, it may fail and 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 RP SQL.Systems that do not meet the recommended memory and vCPU specifications may not be able to deploy the SQL RP.

Di seguito è riportato un esempio è possibile eseguire da PowerShell richiesto (ma modificare le informazioni sull'account e password in base alle esigenze):Here's an example you can run from the PowerShell prompt (but change the account information and passwords as needed):

# Install the AzureRM.Bootstrapper module, set the profile, and install 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 ASDK, the default is AzureStack and the default prefix is AzS
# For integrated systems, the domain and the prefix will be the same.
$domain = "AzureStack"
$prefix = "AzS"
$privilegedEndpoint = "$prefix-ERCS01"

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

# The service admin account (can be AAD or ADFS)
$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
# and 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. Se non fosse possibile, o qualsiasi parametro convalida non riesce, viene chiesto di fornire le.If you do not, or any parameter validation fails, you are prompted to provide the required ones.

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 Specificare le credenziali per l'account di amministratore del servizio Azure dello Stack.Provide 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 Definire le credenziali per l'account amministratore locale del provider di risorse SQL macchina virtuale.Define the credentials for the local administrator account of the SQL resource provider VM. obbligatoriorequired
PrivilegedEndpointPrivilegedEndpoint Specificare l'indirizzo IP o nome DNS del Privleged Endpoint.Provide the IP address or DNS Name of the Privleged 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 pfxThe password for the .pfx certificate obbligatoriorequired
MaxRetryCountMaxRetryCount Definire il numero di volte che si desidera ripetere ogni operazione se si verifica un errore.Define how many times you want to retry each operation if there is a failure. 22
RetryDurationRetryDuration Definire il timeout di tra due tentativi, in secondi.Define the timeout between retries, in seconds. 120120
DisinstallareUninstall Rimuovere il provider di risorse e tutte le risorse associate (vedere le note sottostanti)Remove the resource provider and all associated resources (see notes below) NoNo
DebugModeDebugMode Impedisce la pulizia automatica in caso di errorePrevents automatic cleanup on failure NoNo

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 completes, you will 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. Cerca gruppi di risorse >, fare clic su di system.< percorso>.sqladapter risorse di gruppo e verificare che tutte le distribuzioni di quattro ha avuto esito positivo.Browse for Resource Groups >, click on the system.<location>.sqladapter resource group and verify that all four deployments succeeded.

    Verificare la distribuzione del componente SQL

Rimuovere la scheda Provider di risorse SQLRemove the SQL Resource Provider Adapter

Per rimuovere il provider di risorse, è essenziale prima di rimuovere eventuali dipendenze.In order to remove the resource provider, it is essential to first remove any dependencies.

  1. Assicurarsi di disporre del pacchetto di distribuzione originale scaricati per questa versione di adattatore di Provider di risorse di SQL.Ensure 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 (non eliminare i dati).All user databases must be deleted from the resource provider (this doesn't delete the data). Questa operazione deve essere eseguita dagli utenti stessi.This should be performed by the users themselves.

  3. Amministratore deve eliminare il server di hosting dalla scheda Provider di risorse SQLAdministrator must delete the hosting servers from the SQL Resource Provider Adapter

  4. Amministratore deve eliminare i piani che fanno riferimento l'Adapter di Provider di risorse di SQL.Administrator must delete any plans that reference the SQL Resource Provider Adapter.

  5. Amministratore deve eliminare qualsiasi SKU e quote associate all'adapter di Provider di risorse di SQL.Administrator must delete any SKUs and quotas associated to the SQL Resource Provider Adapter.

  6. Eseguire di nuovo lo script di distribuzione con il parametro - disinstallare parametro, gli endpoint di gestione risorse di Azure, DirectoryTenantID e le credenziali per l'account amministratore del servizio.Rerun the deployment script with the -Uninstall parameter, Azure Resource Manager endpoints, DirectoryTenantID, and 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.