Differenze T-SQL tra Istanza gestita del database SQL di Azure e SQL ServerAzure SQL Database Managed Instance T-SQL differences from SQL Server

Questo articolo vengono riepilogati e vengono illustrate le differenze nella sintassi e il comportamento tra istanza gestita di Azure SQL Database e motore di Database locale SQL Server.This article summarizes and explains the differences in syntax and behavior between Azure SQL Database Managed Instance and on-premises SQL Server Database Engine. Vengono illustrati gli argomenti seguenti: The following subjects are discussed:

L'opzione di distribuzione Istanza gestita assicura una compatibilità elevata con il motore di database di SQL Server locale.The Managed Instance deployment option provides high compatibility with on-premises SQL Server Database Engine. La maggior parte delle funzionalità del motore di database di SQL Server è supportata in un'istanza gestita.Most of the SQL Server database engine features are supported in a managed instance.

Migrazione

DisponibilitàAvailability

Always OnAlways On

Disponibilità elevata è incorporata in istanza gestita e non può essere controllato dagli utenti.High availability is built into Managed Instance and can't be controlled by users. Non sono supportate le istruzioni seguenti:The following statements aren't supported:

BackupBackup

Le istanze gestite sono backup automatici, in modo che gli utenti possono creare completo del database COPY_ONLY i backup.Managed instances have automatic backups, so users can create full database COPY_ONLY backups. Backup differenziali, log e backup di snapshot di file non sono supportati.Differential, log, and file snapshot backups aren't supported.

  • Con un'istanza gestita, è possibile eseguire il backup di un database di istanza solo per un account di archiviazione Blob di Azure:With a managed instance, you can back up an instance database only to an Azure Blob storage account:
    • È supportato solo BACKUP TO URL.Only BACKUP TO URL is supported.
    • FILE, TAPE, e non sono supportati i dispositivi di backup.FILE, TAPE, and backup devices aren't supported.
  • La maggior parte delle generali WITH opzioni sono supportate.Most of the general WITH options are supported.
    • COPY_ONLY è obbligatorio.COPY_ONLY is mandatory.
    • FILE_SNAPSHOT non è supportata.FILE_SNAPSHOT isn't supported.
    • Opzioni nastro: REWIND, NOREWIND, UNLOAD, e NOUNLOAD non sono supportati.Tape options: REWIND, NOREWIND, UNLOAD, and NOUNLOAD aren't supported.
    • Opzioni specifiche dei log: NORECOVERY, STANDBY, e NO_TRUNCATE non sono supportati.Log-specific options: NORECOVERY, STANDBY, and NO_TRUNCATE aren't supported.

Limitazioni:Limitations:

  • Con un'istanza gestita, è possibile eseguire il backup di un database di istanza da un backup con un massimo di 32 strisce, sufficiente per i database fino a 4 TB se viene utilizzata la compressione dei backup.With a managed instance, you can back up an instance database to a backup with up to 32 stripes, which is enough for databases up to 4 TB if backup compression is used.

  • La dimensione massima striscia di backup usando il BACKUP comando in un'istanza gestita corrisponde a 195 GB, ovvero le dimensioni massime del blob.The maximum backup stripe size by using the BACKUP command in a managed instance is 195 GB, which is the maximum blob size. Aumentare il numero di set di stripe nel comando backup per ridurre le dimensioni dei singoli set di stripe e restare nel limite consentito.Increase the number of stripes in the backup command to reduce individual stripe size and stay within this limit.

    Suggerimento

    Per aggirare questa limitazione, quando si esegue il backup di un database da SQL Server in un ambiente locale o in una macchina virtuale, è possibile:To work around this limitation, when you back up a database from either SQL Server in an on-premises environment or in a virtual machine, you can:

    • Eseguire il backup su DISK anziché il backup su URL.Back up to DISK instead of backing up to URL.
    • Caricare i file di backup nell'archiviazione Blob.Upload the backup files to Blob storage.
    • Ripristina nell'istanza gestita.Restore into the managed instance.

    Il Restore comando in un'istanza gestita supporta le dimensioni più grandi del blob nei file di backup poiché viene utilizzato un tipo di blob diverso per l'archiviazione dei file di backup caricati.The Restore command in a managed instance supports bigger blob sizes in the backup files because a different blob type is used for storage of the uploaded backup files.

Per informazioni sui backup con T-SQL, vedere BACKUP.For information about backups using T-SQL, see BACKUP.

SecuritySecurity

ControlloAuditing

Le principali differenze tra il controllo nei database nel database SQL di Azure e quello in SQL Server sono le seguenti:The key differences between auditing in databases in Azure SQL Database and databases in SQL Server are:

  • Con l'opzione di distribuzione di istanza gestita di Database SQL di Azure, il controllo funziona a livello di server.With the Managed Instance deployment option in Azure SQL Database, auditing works at the server level. Il .xel i file di log vengono archiviati nell'archiviazione Blob di Azure.The .xel log files are stored in Azure Blob storage.
  • Con le opzioni di distribuzione dei database singoli e dei pool elastici nel database SQL di Azure, il controllo viene eseguito a livello del database.With the single database and elastic pool deployment options in Azure SQL Database, auditing works at the database level.
  • In SQL Server on-premises o le macchine virtuali, il controllo funziona a livello di server.In SQL Server on-premises or virtual machines, auditing works at the server level. Gli eventi vengono archiviati nel file system o i registri eventi di Windows.Events are stored on file system or Windows event logs.

Il controllo XEvent in Istanza gestita supporta le destinazioni di Archiviazione BLOB di Azure.XEvent auditing in Managed Instance supports Azure Blob storage targets. Log di file e di Windows non sono supportati.File and Windows logs aren't supported.

Le principali differenze nella sintassi CREATE AUDIT per il controllo in Archivio BLOB di Azure sono le seguenti:The key differences in the CREATE AUDIT syntax for auditing to Azure Blob storage are:

  • Una nuova sintassi TO URL condizione che è possibile usare per specificare l'URL del contenitore di archiviazione Blob di Azure in cui il .xel i file vengono inseriti.A new syntax TO URL is provided that you can use to specify the URL of the Azure Blob storage container where the .xel files are placed.
  • La sintassi TO FILE non è supportata perché istanza gestita non può accedere a condivisioni file di Windows.The syntax TO FILE isn't supported because a managed instance can't access Windows file shares.

Per altre informazioni, vedere:For more information, see:

CertificatiCertificates

Un'istanza gestita non può accedere a condivisioni file e cartelle di Windows, in modo che si applicano i vincoli seguenti:A managed instance can't access file shares and Windows folders, so the following constraints apply:

  • Il CREATE FROM / BACKUP TO file non è supportato per i certificati.The CREATE FROM/BACKUP TO file isn't supported for certificates.
  • Il CREATE / BACKUP certificato FILE / ASSEMBLY non è supportato.The CREATE/BACKUP certificate from FILE/ASSEMBLY isn't supported. I file di chiavi private non possono essere usati.Private key files can't be used.

Vedere CREATE CERTIFICATE e BACKUP CERTIFICATE.See CREATE CERTIFICATE and BACKUP CERTIFICATE.

Soluzione alternativa: Creare uno script per il certificato o chiave privata, archiviare come file con estensione SQL e creare dal file binario:Workaround: Script for the certificate or private key, store as .sql file, and create from binary:

CREATE CERTIFICATE  
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)

CredenzialiCredential

Sono supportati solo l'insieme di credenziali delle chiavi di Azure e le identità SHARED ACCESS SIGNATURE.Only Azure Key Vault and SHARED ACCESS SIGNATURE identities are supported. Gli utenti di Windows non sono supportati.Windows users aren't supported.

Vedere CREATE CREDENTIAL e ALTER CREDENTIAL.See CREATE CREDENTIAL and ALTER CREDENTIAL.

Provider del servizio di crittografiaCryptographic providers

Un'istanza gestita non può accedere a file, in modo che non è possibile creare provider di crittografia:A managed instance can't access files, so cryptographic providers can't be created:

Account di accesso e utentiLogins and users

  • Account di accesso SQL creati usando FROM CERTIFICATE, FROM ASYMMETRIC KEY, e FROM SID sono supportati.SQL logins created by using FROM CERTIFICATE, FROM ASYMMETRIC KEY, and FROM SID are supported. Vedere CREATE LOGIN.See CREATE LOGIN.

  • Azure Active Directory (Azure AD) entità server (accessi) create con il CREATE LOGIN sintassi o il CREATE dall'account di accesso utente [account di accesso AD Azure] sintassi sono supportate (anteprima pubblica).Azure Active Directory (Azure AD) server principals (logins) created with the CREATE LOGIN syntax or the CREATE USER FROM LOGIN [Azure AD Login] syntax are supported (public preview). Questi account di accesso vengono creati a livello di server.These logins are created at the server level.

    Istanza gestita supporta le entità di database di Azure AD con la sintassi CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER.Managed Instance supports Azure AD database principals with the syntax CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Questa funzionalità è nota anche come gli utenti del database indipendente di Azure AD.This feature is also known as Azure AD contained database users.

  • Account di accesso Windows creati con la CREATE LOGIN ... FROM WINDOWS sintassi non sono supportati.Windows logins created with the CREATE LOGIN ... FROM WINDOWS syntax aren't supported. Usare gli accessi e gli utenti di Azure Active Directory.Use Azure Active Directory logins and users.

  • L'utente di Azure AD che ha creato l'istanza ha privilegi amministrativi illimitati.The Azure AD user who created the instance has unrestricted admin privileges.

  • Gli utenti di Azure AD non amministratore a livello di database possono essere creati usando il CREATE USER ... FROM EXTERNAL PROVIDER sintassi.Non-administrator Azure AD database-level users can be created by using the CREATE USER ... FROM EXTERNAL PROVIDER syntax. Vedere CREATE USER ... FROM EXTERNAL PROVIDER.See CREATE USER ... FROM EXTERNAL PROVIDER.

  • Entità del server Azure AD (accessi) supportano le funzionalità di SQL all'interno di una sola istanza gestita.Azure AD server principals (logins) support SQL features within one managed instance only. Le funzionalità che richiedono l'interazione tra istanze, indipendentemente da se si è all'interno di Azure AD stesso tenant o tenant diversi, non sono supportate per gli utenti di Azure AD.Features that require cross-instance interaction, no matter whether they're within the same Azure AD tenant or different tenants, aren't supported for Azure AD users. Tra queste funzionalità sono incluse:Examples of such features are:

    • Replica transazionale di SQL.SQL transactional replication.
    • Server di collegamento.Link server.
  • L'impostazione di un account di accesso di Azure AD mappato a un gruppo di Azure AD come proprietario del database non è supportata.Setting an Azure AD login mapped to an Azure AD group as the database owner isn't supported.

  • Rappresentazione delle identità a livello di server di Azure AD con altre entità di Azure AD è supportata, ad esempio la EXECUTE AS clausola.Impersonation of Azure AD server-level principals by using other Azure AD principals is supported, such as the EXECUTE AS clause. Sono le limitazioni di EXECUTE AS:EXECUTE AS limitations are:

    • EXECUTE AS USER non è supportata per gli utenti di Azure AD quando il nome è diverso dal nome dell'account di accesso.EXECUTE AS USER isn't supported for Azure AD users when the name differs from the login name. Un esempio è quando l'utente viene creato tramite la sintassi CREATE USER [myAadUser] dall'account di accesso [john@contoso.com] e viene tentata la rappresentazione tramite EXEC AS USER = myAadUser.An example is when the user is created through the syntax CREATE USER [myAadUser] FROM LOGIN [john@contoso.com] and impersonation is attempted through EXEC AS USER = myAadUser. Quando si crea una utente da un'entità server Azure AD (account di accesso), specificare la funzione user_name come la stessa login_name dal LOGIN.When you create a USER from an Azure AD server principal (login), specify the user_name as the same login_name from LOGIN.

    • Solo il livello di Server SQL entità (accessi) che fanno parte di sysadmin ruolo può eseguire le operazioni seguenti che usano le entità di Azure AD:Only the SQL Server-level principals (logins) that are part of the sysadmin role can execute the following operations that target Azure AD principals:

      • EXECUTE AS USEREXECUTE AS USER
      • EXECUTE AS LOGINEXECUTE AS LOGIN
  • Limiti dell'anteprima pubblica delle entità del server Azure AD (account di accesso):Public preview limitations for Azure AD server principals (logins):

    • Limitazioni di amministratore Directory attive per l'istanza gestita:Active Directory admin limitations for Managed Instance:

      • L'amministratore di Azure AD usato per configurare l'istanza gestita non può essere utilizzato per creare un Azure AD entità server (account di accesso) all'interno dell'istanza gestita.The Azure AD admin used to set up the managed instance can't be used to create an Azure AD server principal (login) within the managed instance. È necessario creare l'entità server Active Directory (account di accesso) di Azure prima con un account di SQL Server che un sysadmin ruolo.You must create the first Azure AD server principal (login) by using a SQL Server account that's a sysadmin role. Questa limitazione temporanea verrà rimossi dopo l'entità del server Azure AD (accessi) diventa disponibile a livello generale.This temporary limitation will be removed after Azure AD server principals (logins) become generally available. Se si tenta di usare un account di amministratore di Azure AD per creare l'account di accesso, viene visualizzato l'errore seguente: Msg 15247, Level 16, State 1, Line 1 User does not have permission to perform this action.If you try to use an Azure AD admin account to create the login, you see the following error: Msg 15247, Level 16, State 1, Line 1 User does not have permission to perform this action.

        • Attualmente, il primo accesso di Azure AD creato nel database master deve essere creato dall'account di SQL Server standard (non di Azure AD) di un sysadmin ruolo usando CREATE LOGIN dal PROVIDER esterno.Currently, the first Azure AD login created in the master database must be created by the standard SQL Server account (non-Azure AD) that's a sysadmin role by using CREATE LOGIN FROM EXTERNAL PROVIDER. Dopo la disponibilità generale, questa limitazione verrà rimossa.After general availability, this limitation will be removed. È possibile creare un'iniziale di accesso AD Azure con l'amministratore di Active Directory per l'istanza gestita.Then you can create an initial Azure AD login by using the Active Directory admin for Managed Instance.
      • Utilizzato con SQL Server Management Studio o SqlPackage DacFx (esportazione/importazione) non è supportata per gli account di accesso di Azure AD.DacFx (export/import) used with SQL Server Management Studio or SqlPackage isn't supported for Azure AD logins. Questa limitazione verrà rimossa dopo l'entità del server Azure AD (accessi) diventa disponibile a livello generale.This limitation will be removed after Azure AD server principals (logins) become generally available.

      • Utilizzo di entità del server Azure AD (account di accesso) con SQL Server Management Studio:Using Azure AD server principals (logins) with SQL Server Management Studio:

        • Gli account di accesso di Azure AD che usano qualsiasi account di accesso autenticato di scripting non è supportato.Scripting Azure AD logins that use any authenticated login isn't supported.
        • IntelliSense non riconosce l'istruzione CREATE LOGIN da PROVIDER esterni e visualizza una sottolineatura rossa.IntelliSense doesn't recognize the CREATE LOGIN FROM EXTERNAL PROVIDER statement and shows a red underline.
  • Solo il server di accesso entità a livello, che viene creato tramite l'istanza gestita il provisioning di processo, i membri dei ruoli del server, ad esempio securityadmin o sysadmin, o altri account di accesso con autorizzazione ALTER ANY LOGIN a livello di server possono creare Azure AD entità server (accessi) nel database master per l'istanza gestita.Only the server-level principal login, which is created by the Managed Instance provisioning process, members of the server roles, such as securityadmin or sysadmin, or other logins with ALTER ANY LOGIN permission at the server level can create Azure AD server principals (logins) in the master database for Managed Instance.

  • Se l'account di accesso è un'entità SQL, solo gli account di accesso che fanno parte di sysadmin ruolo può usare il comando di creazione per creare gli account di accesso per un account Azure AD.If the login is a SQL principal, only logins that are part of the sysadmin role can use the create command to create logins for an Azure AD account.

  • L'account di accesso di Azure AD deve essere un membro di un Azure Active Directory all'interno della stessa directory utilizzata per l'istanza gestita di Azure SQL Database.The Azure AD login must be a member of an Azure AD within the same directory that's used for Azure SQL Database Managed Instance.

  • Entità del server Azure AD (accessi) sono visibili in Esplora oggetti, a partire da SQL Server Management Studio 18.0 preview 5.Azure AD server principals (logins) are visible in Object Explorer starting with SQL Server Management Studio 18.0 preview 5.

  • È consentita la sovrapposizione di entità server (account di accesso) di Azure AD con un account amministratore di Azure AD.Overlapping Azure AD server principals (logins) with an Azure AD admin account is allowed. Entità del server Azure AD (accessi) hanno la precedenza sull'amministratore di Azure AD quando è risolvere l'entità e applicare le autorizzazioni per l'istanza gestita.Azure AD server principals (logins) take precedence over the Azure AD admin when you resolve the principal and apply permissions to the managed instance.

  • Durante l'autenticazione, viene applicata la sequenza seguente per risolvere l'entità che esegue l'autenticazione:During authentication, the following sequence is applied to resolve the authenticating principal:

    1. Se l'account Azure AD esiste come direttamente il mapping a entità di server di Azure AD (account di accesso), che è presente in sys. server_principals come tipo "E", concedere l'accesso e applicare le autorizzazioni dell'entità del server Azure AD (account di accesso).If the Azure AD account exists as directly mapped to the Azure AD server principal (login), which is present in sys.server_principals as type "E," grant access and apply permissions of the Azure AD server principal (login).
    2. Se l'account Azure AD è un membro di un gruppo di Azure AD che viene eseguito il mapping a entità di server di Azure AD (account di accesso), che è presente in sys. server_principals come "X" di tipo, concedere l'accesso e applicare le autorizzazioni dell'account di accesso di gruppo Azure AD.If the Azure AD account is a member of an Azure AD group that's mapped to the Azure AD server principal (login), which is present in sys.server_principals as type "X," grant access and apply permissions of the Azure AD group login.
    3. Se l'account Azure AD è una speciale configurato al portale di amministrazione di Azure AD per l'istanza gestita, non esiste nelle viste di sistema di istanza gestita, si applicano autorizzazioni speciali fisse dell'amministratore di Azure AD per l'istanza gestita (modalità legacy).If the Azure AD account is a special portal-configured Azure AD admin for Managed Instance, which doesn't exist in Managed Instance system views, apply special fixed permissions of the Azure AD admin for Managed Instance (legacy mode).
    4. Se l'account Azure AD esiste come mappata direttamente a un utente di Azure AD di un database, che è presente in sys. database_principals come tipo "E", concedere l'accesso e applicare le autorizzazioni dell'utente del database di Azure AD.If the Azure AD account exists as directly mapped to an Azure AD user in a database, which is present in sys.database_principals as type "E," grant access and apply permissions of the Azure AD database user.
    5. Se l'account Azure AD è un membro di un gruppo di Azure AD che viene eseguito il mapping a un utente di Azure AD di un database, che è presente in sys. database_principals come tipo "X", concedere l'accesso e applicare le autorizzazioni dell'account di accesso di gruppo Azure AD.If the Azure AD account is a member of an Azure AD group that's mapped to an Azure AD user in a database, which is present in sys.database_principals as type "X," grant access and apply permissions of the Azure AD group login.
    6. Se è presente un account di accesso di Azure AD con mappata a un account utente di Azure AD o un account di gruppo Azure AD, che vengono risolte all'utente che esegue l'autenticazione, vengono applicate tutte le autorizzazioni per questo account di accesso di Azure AD.If there's an Azure AD login mapped to either an Azure AD user account or an Azure AD group account, which resolves to the user who's authenticating, all permissions from this Azure AD login are applied.

Chiave del servizio e chiave master del servizioService key and service master key

ConfigurazioneConfiguration

Estensione del pool di bufferBuffer pool extension

CollationCollation

Le regole di confronto di istanza predefinita sono SQL_Latin1_General_CP1_CI_AS e possono essere specificate come un parametro di creazione.The default instance collation is SQL_Latin1_General_CP1_CI_AS and can be specified as a creation parameter. Vedere Regole di confronto.See Collations.

Livelli di compatibilitàCompatibility levels

  • Livelli di compatibilità supportati sono 100, 110, 120, 130 e 140.Supported compatibility levels are 100, 110, 120, 130, and 140.
  • I livelli di compatibilità inferiori a 100 non sono supportati.Compatibility levels below 100 aren't supported.
  • Il livello di compatibilità predefinito per i nuovi database è 140.The default compatibility level for new databases is 140. Per i database ripristinati, il livello di compatibilità rimane invariato se era 100 e versioni successive.For restored databases, the compatibility level remains unchanged if it was 100 and above.

Vedere Livello di compatibilità ALTER DATABASE.See ALTER DATABASE Compatibility Level.

Mirroring del databaseDatabase mirroring

Il mirroring del database non è supportato.Database mirroring isn't supported.

  • Le opzioni ALTER DATABASE SET PARTNER e SET WITNESS non sono supportate.ALTER DATABASE SET PARTNER and SET WITNESS options aren't supported.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING non è supportata.CREATE ENDPOINT … FOR DATABASE_MIRRORING isn't supported.

Per altre informazioni, vedere ALTER DATABASE SET PARTNER e SET WITNESS e CREATE ENDPOINT … FOR DATABASE_MIRRORING.For more information, see ALTER DATABASE SET PARTNER and SET WITNESS and CREATE ENDPOINT … FOR DATABASE_MIRRORING.

Opzioni di databaseDatabase options

  • I file di log multipli non sono supportati.Multiple log files aren't supported.
  • Gli oggetti in memoria non sono supportati nel livello di servizio per utilizzo generico.In-memory objects aren't supported in the General Purpose service tier.
  • È previsto un limite di 280 file per ogni istanza di uso generale, che implica un massimo di 280 file per ogni database.There's a limit of 280 files per General Purpose instance, which implies a maximum of 280 files per database. I file di log sia i dati nel livello utilizzo generico sono conteggiati per il limite.Both data and log files in the General Purpose tier are counted toward this limit. Il livello Business Critical supporta 32.767 file per ogni database.The Business Critical tier supports 32,767 files per database.
  • Il database non può contenere filegroup che contengono dati filestream.The database can't contain filegroups that contain filestream data. Ripristino ha esito negativo se con estensione bak contiene FILESTREAM dei dati.Restore fails if .bak contains FILESTREAM data.
  • Ogni file viene inserito in Archiviazione BLOB di Azure.Every file is placed in Azure Blob storage. L'I/O e la velocità effettiva per file dipendono dalle dimensioni di ogni singolo file.IO and throughput per file depend on the size of each individual file.

Istruzione CREATE DATABASECREATE DATABASE statement

Le limitazioni seguenti si applicano a CREATE DATABASE:The following limitations apply to CREATE DATABASE:

  • Non possono essere definiti file e filegroup.Files and filegroups can't be defined.

  • Il CONTAINMENT opzione non è supportata.The CONTAINMENT option isn't supported.

  • WITH opzioni non sono supportate.WITH options aren't supported.

    Suggerimento

    In alternativa, usare ALTER DATABASE dopo CREATE DATABASE per impostare le opzioni di database per aggiungere file o impostazione del contenimento.As a workaround, use ALTER DATABASE after CREATE DATABASE to set database options to add files or to set containment.

  • Il FOR ATTACH opzione non è supportata.The FOR ATTACH option isn't supported.

  • Il AS SNAPSHOT OF opzione non è supportata.The AS SNAPSHOT OF option isn't supported.

Per altre informazioni, vedere CREATE DATABASE.For more information, see CREATE DATABASE.

Istruzione ALTER DATABASEALTER DATABASE statement

Alcune proprietà di file non possono essere impostate o modificate:Some file properties can't be set or changed:

  • Non è possibile specificare un percorso di file nei ALTER DATABASE ADD FILE (FILENAME='path') istruzione T-SQL.A file path can't be specified in the ALTER DATABASE ADD FILE (FILENAME='path') T-SQL statement. Rimuovere FILENAME dallo script in quanto un'istanza gestita inserisce i file automaticamente.Remove FILENAME from the script because a managed instance automatically places the files.
  • Un nome di file non può essere modificato usando il ALTER DATABASE istruzione.A file name can't be changed by using the ALTER DATABASE statement.

Le opzioni seguenti sono attive per impostazione predefinita e non possono essere modificate:The following options are set by default and can't be changed:

  • MULTI_USER
  • ENABLE_BROKER ON
  • AUTO_CLOSE OFF

Le opzioni seguenti non possono essere modificate:The following options can't be modified:

  • AUTO_CLOSE
  • AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
  • AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
  • DISABLE_BROKER
  • EMERGENCY
  • ENABLE_BROKER
  • FILESTREAM
  • HADR
  • NEW_BROKER
  • OFFLINE
  • PAGE_VERIFY
  • PARTNER
  • READ_ONLY
  • RECOVERY BULK_LOGGED
  • RECOVERY_SIMPLE
  • REMOTE_DATA_ARCHIVE
  • RESTRICTED_USER
  • SINGLE_USER
  • WITNESS

Per altre informazioni, vedere ALTER DATABASE.For more information, see ALTER DATABASE.

Agente SQL ServerSQL Server Agent

  • Abilitazione e disabilitazione di SQL Server Agent non è supportato in istanza gestita.Enabling and disabling SQL Server Agent is currently not supported in managed instance. SQL Agent è sempre in esecuzione.SQL Agent is always running.
  • Le impostazioni di SQL Server Agent sono di sola lettura.SQL Server Agent settings are read only. La procedura sp_set_agent_properties non è supportata in istanza gestita.The procedure sp_set_agent_properties isn't supported in Managed Instance.
  • ProcessiJobs
    • I passaggi dei processi T-SQL sono supportati.T-SQL job steps are supported.
    • I processi di replica seguenti sono supportati:The following replication jobs are supported:
      • Lettore di log delle transazioniTransaction-log reader
      • SnapshotSnapshot
      • Database di distribuzioneDistributor
    • I passaggi di processo SSIS sono supportati.SSIS job steps are supported.
    • Non sono attualmente supportati altri tipi di passaggi di processo:Other types of job steps aren't currently supported:
      • Il passaggio di processo di merge della replica non è supportato.The merge replication job step isn't supported.
      • La lettura della coda non è supportata.Queue Reader isn't supported.
      • Shell dei comandi non è ancora supportata.Command shell isn't yet supported.
    • Le istanze gestite non possono accedere alle risorse esterne, ad esempio, condivisioni di rete tramite robocopy.Managed instances can't access external resources, for example, network shares via robocopy.
    • SQL Server Analysis Services non sono supportati.SQL Server Analysis Services aren't supported.
  • Le notifiche sono supportate in modo parziale.Notifications are partially supported.
  • Notifica tramite posta elettronica è supportata, anche se è necessario configurare un profilo di posta elettronica Database.Email notification is supported, although it requires that you configure a Database Mail profile. SQL Server Agent è possibile usare un solo profilo di posta elettronica Database e deve essere chiamato AzureManagedInstance_dbmail_profile.SQL Server Agent can use only one Database Mail profile, and it must be called AzureManagedInstance_dbmail_profile.
    • Pager non è supportato.Pager isn't supported.
    • NetSend non è supportato.NetSend isn't supported.
    • Gli avvisi non sono ancora supportati.Alerts aren't yet supported.
    • I proxy non sono supportati.Proxies aren't supported.
  • EventLog non è supportata.EventLog isn't supported.

Le seguenti funzionalità attualmente non sono supportate ma saranno abilitate in futuro:The following features currently aren't supported but will be enabled in the future:

  • ProxyProxies
  • Pianificazione dei processi su una CPU inattivaScheduling jobs on an idle CPU
  • Abilitazione o disabilitazione di un agenteEnabling or disabling an Agent
  • AvvisiAlerts

Per informazioni su SQL Server Agent, vedere SQL Server Agent.For information about SQL Server Agent, see SQL Server Agent.

TabelleTables

Non sono supportate nelle tabelle seguenti:The following tables aren't supported:

  • FILESTREAM
  • FILETABLE
  • EXTERNAL TABLE
  • MEMORY_OPTIMIZED

Per informazioni su come creare e modificare le tabelle, vedere CREATE TABLE e ALTER TABLE.For information about how to create and alter tables, see CREATE TABLE and ALTER TABLE.

FunzionalitàFunctionalities

Inserimento bulk/openrowsetBulk insert / openrowset

Un'istanza gestita non può accedere a condivisioni file e cartelle di Windows, in modo che i file devono essere importati dall'archiviazione Blob di Azure:A managed instance can't access file shares and Windows folders, so the files must be imported from Azure Blob storage:

  • DATASOURCE è necessaria la BULK INSERT comando durante l'importazione di file dall'archiviazione Blob di Azure.DATASOURCE is required in the BULK INSERT command while you import files from Azure Blob storage. Vedere BULK INSERT.See BULK INSERT.
  • DATASOURCE è necessaria la OPENROWSET funzionare quando si legge il contenuto di un file dall'archiviazione Blob di Azure.DATASOURCE is required in the OPENROWSET function when you read the content of a file from Azure Blob storage. Vedere OPENROWSET.See OPENROWSET.

CLRCLR

Un'istanza gestita non può accedere a condivisioni file e cartelle di Windows, in modo che si applicano i vincoli seguenti:A managed instance can't access file shares and Windows folders, so the following constraints apply:

DBCCDBCC

Istruzioni DBCC non documentate abilitate in SQL Server non sono supportate nelle istanze gestite.Undocumented DBCC statements that are enabled in SQL Server aren't supported in managed instances.

Transazioni distribuiteDistributed transactions

MSDTC e transazioni elastiche attualmente non sono supportate nelle istanze gestite.MSDTC and elastic transactions currently aren't supported in managed instances.

Eventi estesiExtended Events

Alcune destinazioni specifiche di Windows per gli eventi estesi (XEvent) non sono supportate:Some Windows-specific targets for Extended Events (XEvents) aren't supported:

Librerie esterneExternal libraries

In-database R e Python, librerie esterne non sono ancora supportate.In-database R and Python, external libraries aren't yet supported. Vedere SQL Server Machine Learning Services.See SQL Server Machine Learning Services.

FileStream e FileTableFilestream and FileTable

  • i dati FILESTREAM non sono supportati.Filestream data isn't supported.
  • Il database non può contenere filegroup con FILESTREAM dei dati.The database can't contain filegroups with FILESTREAM data.
  • FILETABLE non è supportata.FILETABLE isn't supported.
  • Le tabelle non possono contenere tipi FILESTREAM.Tables can't have FILESTREAM types.
  • Le funzioni seguenti non sono supportate:The following functions aren't supported:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

Per altre informazioni, vedere FILESTREAM e FileTable.For more information, see FILESTREAM and FileTables.

La ricerca semantica non è supportata.Semantic Search isn't supported.

Server collegatiLinked servers

I server collegati nelle istanze gestite supportano un numero limitato di destinazioni:Linked servers in Managed Instances support a limited number of targets:

  • Destinazioni supportate sono SQL Server e Database SQL.Supported targets are SQL Server and SQL Database.
  • Le destinazioni che non sono supportate sono file, Analysis Services e altri RDBMS.Targets that aren't supported are files, Analysis Services, and other RDBMS.

OperazioniOperations

  • Le transazioni di scrittura tra istanze non sono supportate.Cross-instance write transactions aren't supported.
  • sp_dropserver è supportato per l'eliminazione di un server collegato.sp_dropserver is supported for dropping a linked server. Vedere sp_dropserver.See sp_dropserver.
  • Il OPENROWSET funzione può essere utilizzata per eseguire query solo su istanze di SQL Server.The OPENROWSET function can be used to execute queries only on SQL Server instances. Possono essere gestiti in locale, o in macchine virtuali.They can be either managed, on-premises, or in virtual machines. Vedere OPENROWSET.See OPENROWSET.
  • Il OPENDATASOURCE funzione può essere utilizzata per eseguire query solo su istanze di SQL Server.The OPENDATASOURCE function can be used to execute queries only on SQL Server instances. Possono essere gestiti in locale, o in macchine virtuali.They can be either managed, on-premises, or in virtual machines. Solo le SQLNCLI, SQLNCLI11, e SQLOLEDB sono supportati come provider di valori.Only the SQLNCLI, SQLNCLI11, and SQLOLEDB values are supported as a provider. Un esempio è SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee.An example is SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. Vedere OPENDATASOURCE.See OPENDATASOURCE.

PolyBasePolyBase

Tabelle esterne che fanno riferimento che non sono supportati i file in HDFS o Blob di Azure nell'archivio.External tables that reference the files in HDFS or Azure Blob storage aren't supported. Per informazioni su PolyBase, vedere PolyBase.For information about PolyBase, see PolyBase.

ReplicaReplication

Per l'anteprima pubblica di Istanza gestita è disponibile la replica.Replication is available for public preview for Managed Instance. Per informazioni sulla replica, vedere replica di SQL Server.For information about replication, see SQL Server replication.

Istruzione RESTORERESTORE statement

  • Sintassi supportata:Supported syntax:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • Sintassi non supportata:Unsupported syntax:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • Origine:Source:
    • FROM URL (Archivio Blob di azure) è l'unica opzione supportata.FROM URL (Azure Blob storage) is the only supported option.
    • FROM DISK/TAPE/dispositivo di backup non è supportata.FROM DISK/TAPE/backup device isn't supported.
    • I set di backup non sono supportati.Backup sets aren't supported.
  • WITH non sono supportate le opzioni, ad esempio no DIFFERENTIAL o STATS.WITH options aren't supported, such as no DIFFERENTIAL or STATS.
  • ASYNC RESTORE: Ripristino continua anche se si interrompe la connessione client.ASYNC RESTORE: Restore continues even if the client connection breaks. Se la connessione viene interrotta, è possibile controllare il sys.dm_operation_status visualizzazione dello stato di un'operazione di ripristino e per un database CREATE e DROP.If your connection is dropped, you can check the sys.dm_operation_status view for the status of a restore operation, and for a CREATE and DROP database. Vedere sys.dm_operation_status.See sys.dm_operation_status.

Le seguenti opzioni di database sono set o sottoposto a override e non può essere modificato in un secondo momento:The following database options are set or overridden and can't be changed later:

  • NEW_BROKER Se il broker non è abilitato nel file con estensione bak.NEW_BROKER if the broker isn't enabled in the .bak file.
  • ENABLE_BROKER Se il broker non è abilitato nel file con estensione bak.ENABLE_BROKER if the broker isn't enabled in the .bak file.
  • AUTO_CLOSE=OFF Se un database nel file con estensione bak ha AUTO_CLOSE=ON.AUTO_CLOSE=OFF if a database in the .bak file has AUTO_CLOSE=ON.
  • RECOVERY FULL Se dispone di un database nel file con estensione bak SIMPLE o BULK_LOGGED modalità di ripristino.RECOVERY FULL if a database in the .bak file has SIMPLE or BULK_LOGGED recovery mode.
  • Un filegroup ottimizzato per la memoria viene aggiunto e denominato XTP se non fosse nel file con estensione bak di origine.A memory-optimized filegroup is added and called XTP if it wasn't in the source .bak file.
  • Qualsiasi filegroup con ottimizzazione per la memoria esistente viene rinominato come XTP.Any existing memory-optimized filegroup is renamed to XTP.
  • SINGLE_USER e RESTRICTED_USER vengono convertiti in Opzioni MULTI_USER.SINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER.

Limitazioni:Limitations:

  • .BAK non è possibile ripristinare i file che contengono più set di backup..BAK files that contain multiple backup sets can't be restored.
  • .BAK non è possibile ripristinare i file che contengono più file di log..BAK files that contain multiple log files can't be restored.
  • Ripristino ha esito negativo se con estensione bak contiene FILESTREAM dei dati.Restore fails if .bak contains FILESTREAM data.
  • Impossibile ripristinare i backup contenenti database con oggetti in memoria attivi in un'istanza di uso generale.Backups that contain databases that have active in-memory objects can't be restored on a General Purpose instance. Per informazioni sulle istruzioni di ripristino, vedere istruzioni RESTORE.For information about restore statements, see RESTORE statements.

Broker di servizioService broker

Il broker di servizio tra istanze non è supportato:Cross-instance service broker isn't supported:

  • sys.routes: Come prerequisito, è necessario selezionare l'indirizzo da Sys. Routes.sys.routes: As a prerequisite, you must select the address from sys.routes. L'indirizzo deve essere locale in ogni route.The address must be LOCAL on every route. Vedere sys.routes.See sys.routes.
  • CREATE ROUTE: Non è possibile usare CREATE ROUTE con ADDRESS diverso da LOCAL.CREATE ROUTE: You can't use CREATE ROUTE with ADDRESS other than LOCAL. Vedere CREATE ROUTE.See CREATE ROUTE.
  • ALTER ROUTE: Non è possibile usare ALTER ROUTE con ADDRESS diverso da LOCAL.ALTER ROUTE: You can't use ALTER ROUTE with ADDRESS other than LOCAL. Vedere ALTER ROUTE.See ALTER ROUTE.

I trigger, funzioni e stored procedureStored procedures, functions, and triggers

Vincoli dell'ambienteEnvironment constraints

SubnetSubnet

Rete virtualeVNET

  • Rete virtuale può essere distribuita usando il modello di risorse: modello di distribuzione classica per rete virtuale non è supportato.VNet can be deployed using Resource Model - Classic Model for VNet is not supported.
  • Alcuni servizi, ad esempio ambienti del servizio App, App per la logica e le istanze gestite (usato per la replica geografica, la replica transazionale, o tramite i server collegati) non possono accedere le istanze gestite in aree diverse se le reti virtuali sono connesse tramite peering globale.Some services such as App Service Environments, Logic apps, and Managed Instances (used for Geo-replication, Transactional replication, or via linked servers) cannot access Managed Instances in different regions if their VNets are connected using global peering. È possibile connettersi a queste risorse tramite ExpressRoute o della rete virtuale a rete virtuale tramite gateway di rete virtuale.You can connect to these resource via ExpressRoute or VNet-to-VNet through VNet Gateways.

Modifiche nel comportamentoBehavior changes

Le variabili, funzioni e viste seguenti restituiscono risultati diversi:The following variables, functions, and views return different results:

  • SERVERPROPERTY('EngineEdition') Restituisce il valore 8.SERVERPROPERTY('EngineEdition') returns the value 8. Questa proprietà identifica in maniera univoca un'istanza gestita.This property uniquely identifies a managed instance. Vedere SERVERPROPERTY.See SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName') Restituisce NULL perché il concetto di istanza perché esiste per SQL Server non è possibile in un'istanza gestita.SERVERPROPERTY('InstanceName') returns NULL because the concept of instance as it exists for SQL Server doesn't apply to a managed instance. Vedere SERVERPROPERTY('InstanceName').See SERVERPROPERTY('InstanceName').
  • @@SERVERNAME Restituisce nome DNS completo "collegabile", ad esempio,-instance.wcus17662feb9ce98.database.windows.net gestito my.@@SERVERNAME returns a full DNS "connectable" name, for example, my-managed-instance.wcus17662feb9ce98.database.windows.net. Vedere @@SERVERNAME.See @@SERVERNAME.
  • SYS.SERVERS Restituisce, ad esempio nome DNS completo "collegabile", myinstance.domain.database.windows.net per le proprietà "nome" e "data_source."SYS.SERVERS returns a full DNS "connectable" name, such as myinstance.domain.database.windows.net for the properties "name" and "data_source." Vedere SYS.SERVERS.See SYS.SERVERS.
  • @@SERVICENAME Restituisce NULL perché il concetto di servizio perché è presente per SQL Server non è possibile in un'istanza gestita.@@SERVICENAME returns NULL because the concept of service as it exists for SQL Server doesn't apply to a managed instance. Vedere @@SERVICENAME.See @@SERVICENAME.
  • SUSER_ID è supportato.SUSER_ID is supported. Restituisce NULL se l'account di accesso di Azure AD non è in sys. syslogins.It returns NULL if the Azure AD login isn't in sys.syslogins. Vedere SUSER_ID.See SUSER_ID.
  • SUSER_SID non è supportata.SUSER_SID isn't supported. Viene restituiti dati non corretto, che è una variabile temporanea problema noto.The wrong data is returned, which is a temporary known issue. Vedere SUSER_SID.See SUSER_SID.

Problemi noti e limitazioniKnown issues and limitations

Dimensioni di TEMPDBTEMPDB size

Le dimensioni massime di tempdb non può essere maggiore di 24 GB per ogni core in un livello utilizzo generico.The maximum file size of tempdb can't be greater than 24 GB per core on a General Purpose tier. Il valore massimo tempdb dimensioni su un livello Business Critical sono limitata con le dimensioni di archiviazione di istanza.The maximum tempdb size on a Business Critical tier is limited with the instance storage size. Il tempdb database sempre è suddiviso in file di 12 dati.The tempdb database is always split into 12 data files. Queste dimensioni massime per ogni file non possono essere modificata e non possono essere aggiunti al nuovo file tempdb.This maximum size per file can't be changed, and new files cannot be added to tempdb. Alcune query potrebbero restituire un errore se necessitano più di 24 GB per ogni core di tempdb.Some queries might return an error if they need more than 24 GB per core in tempdb. tempdb viene sempre ricreato come un database vuoto quando l'avvio dell'istanza o il failover e qualsiasi modifica effettuata in tempdb non verrà mantenuta.tempdb is always re-created as an empty database when the instance start or fail-over and any change made in tempdb will not be preserved.

Non è possibile ripristinare i database indipendentiCan't restore contained database

Non è possibile ripristinare l'istanza gestita database indipendenti.Managed Instance can't restore contained databases. Point-in-time ripristinare i database indipendenti esistenti non funziona con istanza gestita.Point-in-time restore of the existing contained databases doesn't work on Managed Instance. Questo problema verrà risolto a breve.This issue will be resolved soon. Nel frattempo, è consigliabile rimuovere l'opzione di indipendenza dai database che vengono inseriti in istanza gestita.In the meantime, we recommend that you remove the containment option from your databases that are placed on Managed Instance. Non usare l'opzione di contenimento per i database di produzione.Don't use the containment option for the production databases.

Superamento dello spazio di archiviazione con file di database di piccole dimensioniExceeding storage space with small database files

CREATE DATABASE, ALTER DATABASE ADD FILE, e RESTORE DATABASE istruzioni potrebbero non riuscire perché l'istanza può raggiungere il limite di archiviazione di Azure.CREATE DATABASE, ALTER DATABASE ADD FILE, and RESTORE DATABASE statements might fail because the instance can reach the Azure Storage limit.

Ogni istanza gestita generico ha fino a 35 TB di spazio di archiviazione riservati per lo spazio su disco Premium di Azure.Each General Purpose managed instance has up to 35 TB of storage reserved for Azure Premium Disk space. Ogni file di database si trova su un disco fisico separato.Each database file is placed on a separate physical disk. I dischi possono essere da 128 GB, 256 GB, 512 GB, 1 TB o 4 TB.Disk sizes can be 128 GB, 256 GB, 512 GB, 1 TB, or 4 TB. Non viene addebitato lo spazio inutilizzato su disco, ma la somma delle dimensioni dei dischi Premium di Azure non può superare 35 TB.Unused space on the disk isn't charged, but the total sum of Azure Premium Disk sizes can't exceed 35 TB. In alcuni casi, un'istanza gestita che non necessita di 8 TB in totale può superare i 35 TB Azure limita alle dimensioni di archiviazione a causa della frammentazione interna.In some cases, a managed instance that doesn't need 8 TB in total might exceed the 35 TB Azure limit on storage size due to internal fragmentation.

Ad esempio, un'istanza gestita di uso generale potrebbe contenere un file che è posizionata su un disco da 4 TB di dimensioni pari a 1,2 TB.For example, a General Purpose managed instance might have one file that's 1.2 TB in size placed on a 4-TB disk. Può anche avere 248 file ogni 1 GB di dimensioni che vengono inseriti in dischi separati da 128 GB.It also might have 248 files that are each 1 GB in size that are placed on separate 128-GB disks. Esempio:In this example:

  • la dimensione totale della risorsa di archiviazione sul disco allocato è 1 x 4 TB + 248 x 128 GB = 35 TB.The total allocated disk storage size is 1 x 4 TB + 248 x 128 GB = 35 TB.
  • Lo spazio totale riservato per i database nell'istanza è 1 x 1,2 TB + 248 x 1 GB = 1,4 TB.The total reserved space for databases on the instance is 1 x 1.2 TB + 248 x 1 GB = 1.4 TB.

Questo esempio illustra che in determinate circostanze, a causa di una distribuzione specifica di file, un'istanza gestita può raggiungere il limite di 35 TB riservata per un disco Premium di Azure collegato quando potrebbe essere non previsto.This example illustrates that under certain circumstances, due to a specific distribution of files, a managed instance might reach the 35-TB limit that's reserved for an attached Azure Premium Disk when you might not expect it to.

In questo esempio, i database esistenti continuano a funzionare e può crescere senza alcun problema fino a quando non vengono aggiunti nuovi file.In this example, existing databases continue to work and can grow without any problem as long as new files aren't added. Impossibile creare nuovi database o ripristinati perché non c'è spazio sufficiente per nuove unità disco, anche se le dimensioni totali di tutti i database non raggiungono il limite delle dimensioni di istanza.New databases can't be created or restored because there isn't enough space for new disk drives, even if the total size of all databases doesn't reach the instance size limit. L'errore restituito in questo caso non è chiaro.The error that's returned in that case isn't clear.

È possibile identificare il numero di file rimanenti utilizzando viste di sistema.You can identify the number of remaining files by using system views. Se si raggiunge questo limite, tentare vuoto ed eliminare alcuni dei file più piccoli, usando l'istruzione DBCC SHRINKFILE o passare al livello Business Critical, che non hanno questo limite.If you reach this limit, try to empty and delete some of the smaller files by using the DBCC SHRINKFILE statement or switch to the Business Critical tier, which doesn't have this limit.

Configurazione errata della chiave di firma di accesso condiviso durante il database di ripristinoIncorrect configuration of the SAS key during database restore

RESTORE DATABASE che legge il file con estensione bak potrebbe essere costantemente nuovo tentativo di leggere l'estensione bak di file e restituisce un errore dopo un lungo periodo di tempo se la firma di accesso condiviso in CREDENTIAL non è corretto.RESTORE DATABASE that reads the .bak file might be constantly retrying to read the .bak file and return an error after a long period of time if the shared access signature in CREDENTIAL is incorrect. Eseguire RESTORE HEADERONLY prima di ripristinare un database per verificare che la chiave di firma di accesso condiviso sia corretta.Execute RESTORE HEADERONLY before you restore a database to be sure that the SAS key is correct. Assicurarsi di rimuovere il leader ? dalla chiave di firma di accesso condiviso generato usando il portale di Azure.Make sure that you remove the leading ? from the SAS key that's generated by using the Azure portal.

StrumentiTooling

SQL Server Management Studio e SQL Server Data Tools potrebbero presentano alcuni problemi quando accedono a un'istanza gestita.SQL Server Management Studio and SQL Server Data Tools might have some issues while they access a managed instance.

  • Uso di entità del server Azure AD (account di accesso) e gli utenti (anteprima pubblica) con SQL Server Data Tools attualmente non è supportata.Using Azure AD server principals (logins) and users (public preview) with SQL Server Data Tools currently isn't supported.
  • Script per l'entità del server Azure AD (account di accesso) e gli utenti (anteprima pubblica) non è supportato in SQL Server Management Studio.Scripting for Azure AD server principals (logins) and users (public preview) isn't supported in SQL Server Management Studio.

Nomi di database errati in alcune viste, log e messaggiIncorrect database names in some views, logs, and messages

In numerose viste di sistema, contatori delle prestazioni, messaggi di errore, XEvent e voci del log degli errori sono visualizzati gli identificatori GUID dei database anziché i nomi effettivi.Several system views, performance counters, error messages, XEvents, and error log entries display GUID database identifiers instead of the actual database names. Non fare affidamento su questi identificatori GUID perché vengono sostituiti con i nomi dei database effettivo in futuro.Don't rely on these GUID identifiers because they're replaced with actual database names in the future.

Posta elettronica databaseDatabase mail

Il @query parametro il sp_send_db_mail procedura non funziona.The @query parameter in the sp_send_db_mail procedure doesn't work.

Profilo di posta elettronica databaseDatabase Mail profile

Il profilo di posta elettronica Database usato da SQL Server Agent deve essere chiamato AzureManagedInstance_dbmail_profile.The Database Mail profile used by the SQL Server Agent must be called AzureManagedInstance_dbmail_profile. Non sono previste restrizioni per gli altri nomi di profilo di posta elettronica Database.There are no restrictions for other Database Mail profile names.

Non sono salvati in modo permanente i log degli erroriError logs aren't persisted

I log degli errori che sono disponibili nell'istanza gestita non sono persistenti e le relative dimensioni non sono inclusa nel limite di archiviazione massima.Error logs that are available in Managed Instance aren't persisted, and their size isn't included in the maximum storage limit. I log degli errori potrebbero essere cancellati automaticamente se si verifica il failover.Error logs might be automatically erased if failover occurs.

I log degli errori sono di tipo dettagliatoError logs are verbose

Un'istanza gestita inserisce informazioni dettagliate nel log degli errori e gran parte di esso non è rilevante.A managed instance places verbose information in error logs, and much of it isn't relevant. In futuro verrà ridotta la quantità di informazioni nel log degli errori.The amount of information in error logs will decrease in the future.

Soluzione alternativa: Usare una procedura personalizzata per leggere i log degli errori che esclude alcune voci irrilevanti.Workaround: Use a custom procedure to read error logs that filters out some irrelevant entries. Per altre informazioni, vedere istanza gestita: sp_readmierrorlog.For more information, see Managed Instance – sp_readmierrorlog.

Ambito di transazione in due database nella stessa istanza non è supportatoTransaction scope on two databases within the same instance isn't supported

Il TransactionScope classe in .NET non funziona se le due query vengono inviate a due database nella stessa istanza nello stesso ambito di transazione:The TransactionScope class in .NET doesn't work if two queries are sent to two databases within the same instance under the same transaction scope:

using (var scope = new TransactionScope())
{
    using (var conn1 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn1.Open();
        SqlCommand cmd1 = conn1.CreateCommand();
        cmd1.CommandText = string.Format("insert into T1 values(1)");
        cmd1.ExecuteNonQuery();
    }

    using (var conn2 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn2.Open();
        var cmd2 = conn2.CreateCommand();
        cmd2.CommandText = string.Format("insert into b.dbo.T2 values(2)");        cmd2.ExecuteNonQuery();
    }

    scope.Complete();
}

Sebbene questo codice funziona con i dati nella stessa istanza, è necessario MSDTC.Although this code works with data within the same instance, it required MSDTC.

Soluzione alternativa: Usare SqlConnection.ChangeDatabase(String) usare un altro database in un contesto di connessione invece di usare due connessioni.Workaround: Use SqlConnection.ChangeDatabase(String) to use another database in a connection context instead of using two connections.

In alcuni casi i server collegati e i moduli CLR non possono fare riferimento a un indirizzo IP localeCLR modules and linked servers sometimes can't reference a local IP address

I moduli CLR collocati in un'istanza gestita e i server collegati o le query distribuite che fanno riferimento a un'istanza corrente, in alcuni casi non è possibile risolvere l'indirizzo IP di un'istanza locale.CLR modules placed in a managed instance and linked servers or distributed queries that reference a current instance sometimes can't resolve the IP of a local instance. Questo errore è un problema temporaneo.This error is a transient issue.

Soluzione alternativa: Se possibile, utilizzare connessioni di contesto in un modulo CLR.Workaround: Use context connections in a CLR module if possible.

Database crittografato con TDE con una chiave gestita dal servizio non supportano backup avviati dall'utenteTDE-encrypted databases with a service-managed key don't support user-initiated backups

Non è possibile eseguire BACKUP DATABASE ... WITH COPY_ONLY in un database crittografato con gestite dal servizio Transparent Data Encryption (TDE).You can't execute BACKUP DATABASE ... WITH COPY_ONLY on a database that's encrypted with service-managed Transparent Data Encryption (TDE). TDE gestita dal servizio e impone i backup da crittografare con una chiave interna di Transparent Data Encryption.Service-managed TDE forces backups to be encrypted with an internal TDE key. Impossibile esportare la chiave, in modo che non è possibile ripristinare il backup.The key can't be exported, so you can't restore the backup.

Soluzione alternativa: Usare i backup automatici e ripristino temporizzato in oppure usare gestite dal cliente (BYOK) TDE invece.Workaround: Use automatic backups and point-in-time restore, or use customer-managed (BYOK) TDE instead. È anche possibile disabilitare la crittografia nel database.You also can disable encryption on the database.

Passaggi successiviNext steps