Differenze T-SQL tra istanze gestite, limitazioni e problemi notiManaged instance T-SQL differences, limitations and known issues

Questo articolo riepiloga e spiega le differenze nella sintassi e nel comportamento tra l'istanza gestita di database SQL di Azure e la SQL Server locale motore di database.This article summarizes and explains the differences in syntax and behavior between Azure SQL Database managed instance and on-premises SQL Server Database Engine. L'opzione di distribuzione dell'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

Esistono alcune limitazioni di PaaS introdotte in Istanza gestita e alcune modifiche di comportamento rispetto a SQL Server.There are some PaaS limitations that are introduced in Managed Instance and some behaviour changes compared to SQL Server. Le differenze sono divise nelle categorie seguenti:The differences are divided into the following categories:

La maggior parte di queste funzionalità sono vincoli di architettura e rappresentano le funzionalità del servizio.Most of these features are architectural constraints and represent service features.

In questa pagina vengono inoltre illustrati i problemi noti temporanei individuati in istanza gestita, che verranno risolti in futuro.This page also explains Temporary known issues that are discovered in managed instance, which will be resolved in the future.

DisponibilitàAvailability

Always OnAlways On

La disponibilità elevata è incorporata nell'istanza gestita e non può essere controllata dagli utenti.High availability is built into managed instance and can't be controlled by users. Le istruzioni seguenti non sono supportate:The following statements aren't supported:

BackupBackup

Per le istanze gestite sono disponibili backup automatici, in modo che gli COPY_ONLY utenti possano creare backup completi del database.Managed instances have automatic backups, so users can create full database COPY_ONLY backups. I backup differenziali, di log e 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 in 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.
    • FILEi TAPEdispositivi di backup, e non sono supportati.FILE, TAPE, and backup devices aren't supported.
  • La maggior parte delle WITH opzioni generali 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, UNLOADe NOUNLOAD non sono supportate.Tape options: REWIND, NOREWIND, UNLOAD, and NOUNLOAD aren't supported.
    • Opzioni specifiche per i log NORECOVERY: STANDBY, e NO_TRUNCATE non sono supportate.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 in un backup con un massimo di 32 striping, che è 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.

  • Non è possibile BACKUP DATABASE ... WITH COPY_ONLY eseguire in un database crittografato con Transparent Data Encryption gestiti dal servizio (Transparent Service).You can't execute BACKUP DATABASE ... WITH COPY_ONLY on a database that's encrypted with service-managed Transparent Data Encryption (TDE). La crittografia Transparent gestita dal servizio impone la crittografia dei backup con una chiave Transparent Data Encryption.Service-managed TDE forces backups to be encrypted with an internal TDE key. La chiave non può essere esportata, quindi non è possibile ripristinare il backup.The key can't be exported, so you can't restore the backup. Utilizzare i backup automatici e il ripristino temporizzato oppure utilizzare la crittografia BYOK (Customer-Managed) .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.

  • Le dimensioni massime dello striping del backup BACKUP tramite il comando in un'istanza gestita sono 195 GB, ovvero la dimensione massima 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 ovviare a 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 DISK di anziché eseguire il backup in URL.Back up to DISK instead of backing up to URL.
    • Caricare i file di backup nell'archivio BLOB.Upload the backup files to Blob storage.
    • Eseguire il ripristino nell'istanza gestita.Restore into the managed instance.

    Il Restore comando in un'istanza gestita supporta dimensioni BLOB maggiori nei file di backup, perché per l'archiviazione dei file di backup caricati viene usato un tipo di BLOB diverso.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 istanza gestita nel 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. I .xel file di log vengono archiviati nell'archivio 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 locali o 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 nei registri eventi di file system o di Windows.Events are stored on file system or Windows event logs.

Il controllo XEvent nell'istanza gestita supporta le destinazioni di Archivio BLOB di Azure.XEvent auditing in managed instance supports Azure Blob storage targets. I 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:

  • Viene fornita una TO URL nuova sintassi che è possibile usare per specificare l'URL del contenitore di archiviazione BLOB di Azure in .xel cui vengono inseriti i file.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é un'istanza gestita non può accedere alle 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, pertanto si applicano i vincoli seguenti:A managed instance can't access file shares and Windows folders, so the following constraints apply:

  • Il CREATE FROM file non è supportato per i / BACKUP TO certificati.The CREATE FROM/BACKUP TO file isn't supported for certificates.
  • Il CREATE certificato/da nonèFILE supportato. / BACKUP ASSEMBLYThe 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: Script per il certificato o la chiave privata, archiviare come file con estensione SQL e creare da Binary: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>)

CredenzialeCredential

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 ai file, pertanto non è possibile creare i provider di crittografia:A managed instance can't access files, so cryptographic providers can't be created:

Account di accesso e utentiLogins and users

  • Gli account di accesso SQL creati FROM CERTIFICATEusando 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 (account di accesso) create con la sintassi Create Login o Create User FROM login [Azure ad login] 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 Azure AD entità di database 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 Azure AD utenti del database indipendente.This feature is also known as Azure AD contained database users.

  • Gli account di accesso di Windows CREATE LOGIN ... FROM WINDOWS creati con la 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.

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

  • Gli utenti non amministratori Azure ad a livello di database possono essere creati utilizzando la 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.

  • Azure AD entità server (account di accesso) supportano le funzionalità SQL all'interno di un'istanza gestita.Azure AD server principals (logins) support SQL features within one managed instance only. Le funzionalità che richiedono l'interazione tra istanze, indipendentemente dal fatto che si trovino nello stesso tenant Azure AD o in tenant diversi, non sono supportate per gli utenti 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.

  • È supportata la rappresentazione di entità Azure AD a livello di server utilizzando altre entità Azure AD, ad esempio la clausola Execute As .Impersonation of Azure AD server-level principals by using other Azure AD principals is supported, such as the EXECUTE AS clause. Le limitazioni EXECUTE AS sono:EXECUTE AS limitations are:

    • L'opzione 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] from login [john@contoso.com] e la rappresentazione viene tentata tramite exec come 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 un utente da un'entità di Azure ad server (account di accesso), specificare user_name come Login_name da 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 le entità a livello di SQL Server (account di accesso) che fanno parte del sysadmin ruolo possono eseguire le operazioni seguenti destinate a Azure ad entità: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
  • Limitazioni dell'anteprima pubblica per Azure AD entità server (account di accesso):Public preview limitations for Azure AD server principals (logins):

    • Active Directory limitazioni dell'amministratore per l'istanza gestita:Active Directory admin limitations for managed instance:

      • Il Azure AD amministratore utilizzato per configurare l'istanza gestita non può essere utilizzato per creare un'entità server di Azure AD (login) nell'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 la prima entità di Azure ad server (account di accesso) utilizzando un account SQL Server che sysadmin sia un 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à rimossa dopo che Azure AD entità server (account di accesso) diventeranno disponibili 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 amministratore 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 account di accesso Azure ad creato nel database master deve essere creato dall'account di SQL Server standard (non Azure ad) che è un sysadmin ruolo utilizzando Crea account di accesso da 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. È quindi possibile creare un account di accesso Azure AD iniziale usando l'amministratore Active Directory per istanza gestita.Then you can create an initial Azure AD login by using the Active Directory admin for managed instance.
      • DacFx (Export/Import) utilizzato con SQL Server Management Studio o SqlPackage non è supportato per Azure AD account di accesso.DacFx (export/import) used with SQL Server Management Studio or SqlPackage isn't supported for Azure AD logins. Questa limitazione verrà rimossa dopo che Azure AD entità server (account di accesso) diventeranno disponibili a livello generale.This limitation will be removed after Azure AD server principals (logins) become generally available.

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

        • La creazione di script Azure AD account di accesso che utilizzano qualsiasi account di accesso autenticato non è supportata.Scripting Azure AD logins that use any authenticated login isn't supported.
        • IntelliSense non riconosce l'istruzione CREATE LOGIN FROM EXTERNAL PROVIDER e Mostra una sottolineatura rossa.IntelliSense doesn't recognize the CREATE LOGIN FROM EXTERNAL PROVIDER statement and shows a red underline.
  • Solo l'account di accesso dell'entità di livello server, creato dal processo di provisioning dell'istanza gestita, i membri dei ruoli del server securityadmin , sysadminad esempio o, o altri account di accesso con autorizzazione ALTER ANY login a livello di server possono creare Azure ad entità server (account di accesso) 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 sysadmin fanno parte del ruolo possono utilizzare il comando crea per creare 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 Azure AD deve essere un membro di un Azure AD all'interno della stessa directory usata per istanza gestita di database SQL di Azure.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.

  • Azure AD entità server (account di accesso) sono visibili 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. Azure AD entità server (account di accesso) hanno la precedenza sull'amministratore Azure AD quando si risolve l'entità e si applicano le autorizzazioni all'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à di autenticazione:During authentication, the following sequence is applied to resolve the authenticating principal:

    1. Se l'account Azure AD esiste come mappato direttamente all'entità di Azure AD server (account di accesso), presente in sys. server_principals come tipo "E", concedere l'accesso e applicare le autorizzazioni dell'entità 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 di cui è stato eseguito il mapping all'entità di Azure AD server (account di accesso), presente in sys. server_principals come tipo "X", concedere l'accesso e applicare le autorizzazioni dell'account di accesso al gruppo di 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 è uno speciale Azure AD amministratore configurato per il portale per istanza gestita, che non esiste nelle viste di sistema dell'istanza gestita, applicare autorizzazioni fisse speciali dell'amministratore 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 mappato direttamente a un utente di Azure AD in un database, presente in sys. database_principals come tipo "E", concedere l'accesso e applicare le autorizzazioni dell'utente del database 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 è membro di un gruppo di Azure AD di cui è stato eseguito il mapping a un utente Azure AD in un database, presente in sys. database_principals come tipo "X", concedere l'accesso e applicare le autorizzazioni dell'account di accesso al gruppo di 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 Azure AD mappato a un account utente Azure AD o a un account di gruppo Azure AD, che viene risolto nell'utente che esegue l'autenticazione, vengono applicate tutte le autorizzazioni da questo Azure AD account di accesso.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

Regole di confrontoCollation

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

  • I 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 per utilizzo generico, che implica un massimo di 280 file per database.There's a limit of 280 files per General Purpose instance, which implies a maximum of 280 files per database. I dati e i file di log nel livello per utilizzo generico vengono conteggiati per questo 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 database.The Business Critical tier supports 32,767 files per database.
  • Il database non può contenere filegroup contenenti dati FILESTREAM.The database can't contain filegroups that contain filestream data. Il ripristino ha esito negativo FILESTREAM se. bak contiene 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.

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

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

    Suggerimento

    Come soluzione alternativa, usare ALTER DATABASE after CREATE DATABASE per impostare le opzioni di database per aggiungere file o per impostare l'indipendenza.As a workaround, use ALTER DATABASE after CREATE DATABASE to set database options to add files or to set containment.

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

  • L' 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 ALTER DATABASE ADD FILE (FILENAME='path') nell'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.
  • Non è possibile modificare il nome di un file ALTER DATABASE utilizzando l'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

  • L'abilitazione e la disabilitazione di SQL Server Agent non è attualmente supportata nell'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.
  • SQL Server Agent impostazioni sono di sola lettura.SQL Server Agent settings are read only. La procedura sp_set_agent_properties non è supportata nell'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
      • Server di distribuzioneDistributor
    • I passaggi del processo SSIS sono supportati.SSIS job steps are supported.
    • Altri tipi di passaggi di processo non sono attualmente supportati:Other types of job steps aren't currently supported:
      • Il passaggio del processo di replica di tipo merge non è supportato.The merge replication job step isn't supported.
      • La lettura della coda non è supportata.Queue Reader isn't supported.
      • La shell comandi non è ancora supportata.Command shell isn't yet supported.
    • Le istanze gestite non possono accedere alle risorse esterne, ad esempio le 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.
  • La notifica tramite posta elettronica è supportata, anche se richiede la configurazione di un profilo di Posta elettronica database.Email notification is supported, although it requires that you configure a Database Mail profile. SQL Server Agent possibile utilizzare 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 è supportato.EventLog isn't supported.

Attualmente non sono supportate le funzionalità di SQL Agent seguenti:The following SQL Agent features currently aren't supported:

  • ProxyProxies
  • Pianificazione di processi in 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

I tipi di tabella seguenti non sono supportati:The following table types aren't supported:

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, quindi i file devono essere importati dall'archivio 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è necessario nel BULK INSERT comando quando si importano 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è obbligatorio nella OPENROWSET funzione 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, pertanto si applicano i vincoli seguenti:A managed instance can't access file shares and Windows folders, so the following constraints apply:

DBCCDBCC

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

  • È supportato solo un numero limitato Trace flags di elementi globali.Only a limited number of Global Trace flags is supported. Il livello Trace flags di sessione non è supportato.Session-level Trace flags aren't supported. Vedere flag di traccia.See Trace flags.
  • DBCC TRACEOFF e DBCC TRACEON funzionano con il numero limitato di flag di traccia globali.DBCC TRACEOFF and DBCC TRACEON work with the limited number of global trace-flags.
  • Impossibile utilizzare DBCC CHECKDB con le opzioni REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST e REPAIR_REBUILD perché il database non può essere impostato SINGLE_USER in modalità. vedere differenze di alter database.DBCC CHECKDB with options REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST, and REPAIR_REBUILD cannot be used because database cannot be set in SINGLE_USER mode - see ALTER DATABASE differences. I potenziali danneggiamenti del database sono gestiti dal team di supporto di Azure.Potential database corruptions are handled by Azure support team. Se si nota un danneggiamento del database da correggere, contattare il supporto tecnico di Azure.Contact Azure support if you are noticing database corruption that should be fixed.

Transazioni distribuiteDistributed transactions

Attualmente le transazioni MSDTC e elastiche 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

R e Python nel database, le 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 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:

  • Le destinazioni supportate sono istanze gestite, database singoli e istanze di SQL Server.Supported targets are Managed Instances, Single Databases, and SQL Server instances.
  • I server collegati non supportano le transazioni scrivibili distribuite (MS DTC).Linked servers don't support distributed writable transactions (MS DTC).
  • 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. Provare a usare l'importazione CSV nativa dall'archiviazione BLOB di BULK INSERT Azure OPENROWSET usando o come alternativa per l'importazione di file.Try to use native CSV import from Azure Blob Storage using BULK INSERT or OPENROWSET as an alternative for file import.

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.
  • La OPENROWSET funzione può essere utilizzata per eseguire query solo su istanze SQL Server.The OPENROWSET function can be used to execute queries only on SQL Server instances. Possono essere gestite, locali o in macchine virtuali.They can be either managed, on-premises, or in virtual machines. Vedere OPENROWSET.See OPENROWSET.
  • La OPENDATASOURCE funzione può essere utilizzata per eseguire query solo su istanze SQL Server.The OPENDATASOURCE function can be used to execute queries only on SQL Server instances. Possono essere gestite, locali o in macchine virtuali.They can be either managed, on-premises, or in virtual machines. Solo i SQLNCLIvalori SQLNCLI11, e SQLOLEDB sono supportati come provider.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.
  • Non è possibile usare i server collegati per leggere i file (Excel, CSV) dalle condivisioni di rete.Linked servers cannot be used to read files (Excel, CSV) from the network shares. Provare a usare BULK INSERT o OPENROWSET che legge i file CSV dall'archiviazione BLOB di Azure.Try to use BULK INSERT or OPENROWSET that reads CSV files from Azure Blob Storage. Tieni traccia delle richieste sull' elemento feedback istanza gestita|Track this requests on managed instance Feedback item|

PolyBasePolyBase

Le tabelle esterne che fanno riferimento ai file in HDFS o nell'archiviazione BLOB di Azure non sono supportate.External tables that reference the files in HDFS or Azure Blob storage aren't supported. Per informazioni su polibase, vedere polibase.For information about PolyBase, see PolyBase.

ReplicaReplication

  • Sono supportati i tipi di replica snapshot e bidirezionali.Snapshot and Bi-directional replication types are supported. La replica di tipo merge, la replica peer-to-peer e le sottoscrizioni aggiornabili non sono supportate.Merge replication, Peer-to-peer replication, and updatable subscriptions are not supported.
  • La replica transazionale è disponibile per l'anteprima pubblica in istanza gestita con alcuni vincoli:Transactional Replication is available for public preview on managed instance with some constraints:
    • Tutti i tipi di partecipanti alla replica (server di pubblicazione, server di distribuzione, sottoscrittore pull e Sottoscrittore push) possono essere inseriti in istanze gestite, ma non è possibile inserire server di pubblicazione e server di distribuzione in istanze diverseAll types of replication participants (Publisher, Distributor, Pull Subscriber, and Push Subscriber) can be placed on managed instances, but Publisher and Distributor cannot be placed on different instances.
    • Le istanze gestite possono comunicare con le versioni recenti di SQL Server.Managed instances can communicate with the recent versions of SQL Server. Vedere le versioni supportate qui.See the supported versions here.
    • La replica transazionale presenta requisiti di rete aggiuntivi.Transactional Replication has some additional networking requirements.

Per informazioni sulla configurazione della replica, vedere l'esercitazione relativa alla replica.For information about configuring replication, see the replication tutorial.

Se la replica è abilitata in un database in un gruppo di failover, l'amministratore dell'istanza gestita deve pulire tutte le pubblicazioni nel database primario precedente e riconfigurarle sul nuovo database primario dopo un failover.If replication is enabled on a database in a failover group, the managed instance administrator must cleanup all publications on the old primary and reconfigure them on the new primary after a failover occurs. In questo scenario sono necessarie le attività seguenti:The following activities are needed in this scenario:

  1. Arrestare tutti i processi di replica in esecuzione nel database, se presenti.Stop all replication jobs running on the database, if there are any.

  2. Eliminare i metadati della sottoscrizione dal server di pubblicazione eseguendo lo script seguente nel database del server di pubblicazione:Drop subscription metadata from publisher by running the following script on publisher database:

    EXEC sp_dropsubscription @publication='<name of publication>', @article='all',@subscriber='<name of subscriber>'
    
  3. Rilasciare i metadati della sottoscrizione dal Sottoscrittore.Drop subscription metadata from the subscriber. Eseguire lo script seguente nel database di sottoscrizione dell'istanza del Sottoscrittore:Run the following script in the subscription database on subscriber instance:

    EXEC sp_subscription_cleanup
       @publisher = N'<full DNS of publisher, e.g. example.ac2d23028af5.database.windows.net>', 
       @publisher_db = N'<publisher database>', 
       @publication = N'<name of publication>'; 
    
  4. Eliminare in modo forzato tutti gli oggetti di replica dal server di pubblicazione eseguendo lo script seguente nel database pubblicato:Forcefully drop all replication objects from publisher by running the following script in the published database:

    EXEC sp_removedbreplication
    
  5. Eliminare in modo forzato il server di distribuzione precedente dall'istanza primaria originale (se si esegue il failover in un database primario precedente utilizzato per avere un server di distribuzione).Forcefully drop old distributor from original primary instance (if failing back over to an old primary that used to have a distributor). Eseguire lo script seguente nel database master nell'istanza gestita del server di distribuzione precedente:Run the following script on the master database in old distributor managed instance:

    EXEC sp_dropdistributor 1,1
    

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(Archiviazione 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.
  • WITHle opzioni non sono supportate, ad DIFFERENTIAL esempio STATSno o.WITH options aren't supported, such as no DIFFERENTIAL or STATS.
  • ASYNC RESTORE: Il ripristino continua anche se la connessione client si interrompe.ASYNC RESTORE: Restore continues even if the client connection breaks. Se la connessione viene eliminata, è possibile controllare sys.dm_operation_status la vista per lo stato di un'operazione di ripristino e per creare ed eliminare un database.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 opzioni di database seguenti sono impostate o sottoposte a override e non possono essere modificate in un secondo momento:The following database options are set or overridden and can't be changed later:

  • NEW_BROKERSe il broker non è abilitato nel file con estensione bak.NEW_BROKER if the broker isn't enabled in the .bak file.
  • ENABLE_BROKERSe il broker non è abilitato nel file con estensione bak.ENABLE_BROKER if the broker isn't enabled in the .bak file.
  • AUTO_CLOSE=OFFSe è AUTO_CLOSE=ONpresente un database nel file con estensione bak.AUTO_CLOSE=OFF if a database in the .bak file has AUTO_CLOSE=ON.
  • RECOVERY FULLSe un database nel file con estensione bak ha 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 era presente 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 ottimizzato per la memoria esistente viene rinominato in XTP.Any existing memory-optimized filegroup is renamed to XTP.
  • SINGLE_USERle RESTRICTED_USER opzioni e vengono convertite in. MULTI_USERSINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER.

Limitazioni:Limitations:

  • I backup dei database danneggiati potrebbero essere ripristinati a seconda del tipo di danneggiamento, ma i backup automatici non verranno eseguiti finché il danneggiamento non viene risolto.Backups of the corrupted databases might be restored depending on the type of the corruption, but automated backups will not be taken until the corruption is fixed. Assicurarsi di eseguire DBCC CHECKDB sull'istanza di origine e utilizzare backup WITH CHECKSUM per evitare questo problema.Make sure that you run DBCC CHECKDB on the source instance and use backup WITH CHECKSUM in order to prevent this issue.
  • Il ripristino .BAK del file di un database che contiene qualsiasi limitazione descritta in questo documento (ad esempio FILESTREAM , FILETABLE oggetti o) non può essere ripristinato in istanza gestita.Restore of .BAK file of a database that contains any limitation described in this document (for example, FILESTREAM or FILETABLE objects) cannot be restored on Managed Instance.
  • .BAKnon è possibile ripristinare i file che contengono più set di backup..BAK files that contain multiple backup sets can't be restored.
  • .BAKi file che contengono più file di log non possono essere ripristinati..BAK files that contain multiple log files can't be restored.
  • Non è possibile ripristinare i backup che contengono database di dimensioni maggiori di 8 TB, oggetti OLTP in memoria attivi o più di 280 file in un'istanza di per utilizzo generico.Backups that contain databases bigger than 8TB, active in-memory OLTP objects, or more than 280 files can't be restored on a General Purpose instance.
  • Non è possibile ripristinare i backup che contengono database di dimensioni maggiori di 4 TB o oggetti OLTP in memoria con dimensioni totali superiori a quelle descritte in limiti di risorse in business critical istanza.Backups that contain databases bigger than 4TB or in-memory OLTP objects with the total size larger than the size described in resource limits cannot be restored on Business Critical instance. Per informazioni sulle istruzioni RESTORE, 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 CREATE ROUTE usare ADDRESS con diversi LOCALda.CREATE ROUTE: You can't use CREATE ROUTE with ADDRESS other than LOCAL. Vedere CREATE ROUTE.See CREATE ROUTE.
  • ALTER ROUTE: Non è possibile ALTER ROUTE usare ADDRESS con diversi LOCALda.ALTER ROUTE: You can't use ALTER ROUTE with ADDRESS other than LOCAL. Vedere ALTER ROUTE.See ALTER ROUTE.

Stored procedure, funzioni e triggerStored procedures, functions, and triggers

Funzioni e variabili di sistemaSystem functions and variables

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 esistente per SQL Server non si applica a 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').
  • @@SERVERNAMERestituisce un nome DNS "connettibile" completo, ad esempio my-managed-instance.wcus17662feb9ce98.database.windows.net.@@SERVERNAME returns a full DNS "connectable" name, for example, my-managed-instance.wcus17662feb9ce98.database.windows.net. Vedere @@SERVERNAME.See @@SERVERNAME.
  • SYS.SERVERSRestituisce un nome DNS "connettibile" completo, ad esempio myinstance.domain.database.windows.net per le proprietà "Name" 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.
  • @@SERVICENAMErestituisce NULL perché il concetto di servizio esistente per SQL Server non si applica a 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 Azure AD non è presente 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. Vengono restituiti dati errati, ovvero un problema noto temporaneo.The wrong data is returned, which is a temporary known issue. Vedere SUSER_SID.See SUSER_SID.

Vincoli di ambienteEnvironment constraints

SubnetSubnet

Rete virtualeVNET

  • VNet può essere distribuito usando il modello di risorse. il modello classico per VNet non è supportato.VNet can be deployed using Resource Model - Classic Model for VNet is not supported.
  • Dopo la creazione di un'istanza gestita, lo stato di trasferimento dell'istanza gestita o VNet a un altro gruppo di risorse o a una sottoscrizione non è supportato.After a managed instance is created, moving the managed instance or VNet to another resource group or subscription is not supported.
  • Alcuni servizi, ad esempio gli ambienti del servizio app, le app per la logica e le istanze gestite, usati per la replica geografica, la replica transazionale o tramite server collegati, non possono accedere alle istanze gestite in aree diverse se i reti virtuali sono connessi tramite Global peering.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 da VNet a VNet tramite gateway VNet.You can connect to these resources via ExpressRoute or VNet-to-VNet through VNet Gateways.

TEMPDBTEMPDB

La dimensione massima del tempdb file non può essere maggiore di 24 GB per core in un livello per utilizzo generico.The maximum file size of tempdb can't be greater than 24 GB per core on a General Purpose tier. Le dimensioni tempdb massime di un livello business critical sono limitate dalle dimensioni di archiviazione dell'istanza.The maximum tempdb size on a Business Critical tier is limited by the instance storage size. Tempdble dimensioni del file di log sono limitate a 120 GB nei livelli per utilizzo generico e business critical.Tempdb log file size is limited to 120 GB both on General Purpose and Business Critical tiers. Alcune query potrebbero restituire un errore se hanno bisogno di più di 24 GB per core tempdb in o se producono più di 120 GB di dati di log.Some queries might return an error if they need more than 24 GB per core in tempdb or if they produce more than 120 GB of log data.

Log degli erroriError logs

Un'istanza gestita inserisce informazioni dettagliate nei log degli errori.A managed instance places verbose information in error logs. Nel log degli errori di sono presenti molti eventi interni di sistema che vengono registrati.There are many internal system event that are logged in the error log. Utilizzare una procedura personalizzata per leggere i log degli errori che filtrano alcune voci irrilevanti.Use a custom procedure to read error logs that filters out some irrelevant entries. Per ulteriori informazioni, vedere istanza gestita – sp_readmierrorlog.For more information, see managed instance – sp_readmierrorlog.

Problemi notiKnown issues

È necessario inizializzare nuovamente le finestre di dialogo Service Broker tra database dopo l'aggiornamento del livello di servizioCross-database Service Broker dialogs must be re-initialized after service tier upgrade

Data 2019 agostoDate: Aug 2019

Le finestre di dialogo Service Broker tra database interromperanno il recapito dei messaggi ai servizi di altri database dopo l'operazione di modifica del livello di servizio.Cross-database Service Broker dialogs will stop delivering the messages to the services in other databases after change service tier operation. I messaggi non vengono persi ed è possibile trovarli nella coda del mittente.The messages are not lost and they can be found in the sender queue. Qualsiasi modifica delle dimensioni di archiviazione dell'istanza o di Vcore in istanza gestita service_broke_guid , causerà la modifica del valore della vista sys. databases per tutti i database.Any change of vCores or instance storage size in Managed Instance, will cause service_broke_guid value in sys.databases view to be changed for all databases. Eventuali DIALOG istruzioni create utilizzando BEGIN DIALOG che fanno riferimento a broker di servizi in un altro database arresteranno il recapito dei messaggi al servizio di destinazione.Any DIALOG created using BEGIN DIALOG statement that references Service Brokers in other database will stop delivering messages messages to the target service.

Soluzione alternativa: Arrestare tutte le attività che usano le conversazioni di dialogo Service Broker tra database prima di aggiornare il livello di servizio e reinizializzarle dopo.Workaround: Stop any activity that uses cross-database Service Broker dialog conversations before updating service tier and re-initialize them after. Se sono presenti messaggi rimanenti che non vengono recapitati dopo la modifica del livello di servizio, leggere i messaggi dalla coda di origine e inviarli nuovamente alla coda di destinazione.If there are remaining messages that are undelivered after service tier change, read the messages from the source queue and resend them to the target queue.

L'impersonificazione dei tipi di accesso ad AAD non è supportataImpersonification of AAD login types is not supported

Data 2019 luglioDate: July 2019

La rappresentazione tramite EXECUTE AS USER o EXECUTE AS LOGIN delle entità AAD seguenti non è supportata:Impersonation using EXECUTE AS USER or EXECUTE AS LOGIN of following AAD principals is not supported:

  • Utenti di AAD con alias.Aliased AAD users. In questo caso 15517viene restituito l'errore seguente.The following error is returned in this case 15517.
  • Accessi e utenti di AAD basati su applicazioni o entità servizio di AAD.AAD logins and users based on AAD applications or service principals. In questo caso 15517 vengono restituiti i seguenti errori e 15406.The following errors are returned in this case 15517 and 15406.

@queryil parametro non è supportato in sp_send_db_mail@query parameter not supported in sp_send_db_mail

Data Aprile 2019Date: April 2019

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

La replica transazionale deve essere riconfigurata dopo il failover geograficoTransactional Replication must be reconfigured after geo-failover

Data Mar 2019Date: Mar 2019

Se la replica transazionale è abilitata in un database in un gruppo di failover automatico, l'amministratore dell'istanza gestita deve eseguire la pulizia di tutte le pubblicazioni nel database primario precedente e riconfigurarle nel nuovo database primario dopo che si è verificato un failover in un'altra area.If Transactional Replication is enabled on a database in a auto-failover group, the managed instance administrator must cleanup all publications on the old primary and reconfigure them on the new primary after a failover to another region occurs. Per altri dettagli, vedere replica .See Replication for more details.

Gli account di accesso e gli utenti di AAD non sono supportati negli strumentiAAD logins and users are not supported in tools

Data Gennaio 2019Date: Jan 2019

SQL Server Management Studio e SQL Server Data Tools non fuly supportano gli account di accesso e gli utenti di Azure acctive directory.SQL Server Management Studio and SQL Server Data Tools don't fuly support Azure Acctive directory logins and users.

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

La struttura e il contenuto di TEMPDB vengono ricreatiTEMPDB structure and content is re-created

Il tempdb database viene sempre suddiviso in 12 file di dati e la struttura del file non può essere modificata.The tempdb database is always split into 12 data files and the file structure cannot be changed. Non è possibile modificare le dimensioni massime per ogni file e non è possibile aggiungere tempdbnuovi file a.The maximum size per file can't be changed, and new files cannot be added to tempdb. Tempdbviene sempre ricreato come database vuoto quando l'istanza viene avviata o sottoposta a failover e tutte le tempdb modifiche apportate in non verranno mantenute.Tempdb is always re-created as an empty database when the instance starts or fails over, and any changes made in tempdb will not be preserved.

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

CREATE DATABASEle ALTER DATABASE ADD FILEistruzioni, RESTORE DATABASE e 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 di per utilizzo generico ha fino a 35 TB di spazio di archiviazione riservato 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 in 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. Lo spazio inutilizzato sul disco non viene addebitato, ma la somma totale delle dimensioni del disco 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 il limite di Azure di 35 TB per le 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 per utilizzo generico potrebbe avere un file grande di 1,2 TB di dimensioni posizionate su un disco da 4 TB.For example, a General Purpose managed instance might have one big file that's 1.2 TB in size placed on a 4-TB disk. Potrebbero inoltre essere presenti 248 file da 1 GB, ognuno dei quali viene inserito in dischi 128 GB distinti.It also might have 248 files 1GB files that are each 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 dei file, un'istanza gestita potrebbe raggiungere il limite di 35 TB riservato per un disco Premium di Azure collegato quando potrebbe non essere 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 possono crescere senza problemi, purché non vengano 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. Non è possibile creare o ripristinare nuovi database perché lo spazio disponibile non è sufficiente per le nuove unità disco, anche se le dimensioni totali di tutti i database non raggiungono il limite delle dimensioni dell'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 usando le visualizzazioni di sistema.You can identify the number of remaining files by using system views. Se si raggiunge questo limite, provare a svuotare ed eliminare alcuni dei file più piccoli usando l'istruzione DBCC SHRINKFILE o passare al livello business critical, che non ha 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.

Valori GUID visualizzati al posto dei nomi di databaseGUID values shown instead of database names

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é sono sostituiti con nomi di database effettivi in futuro.Don't rely on these GUID identifiers because they're replaced with actual database names in the future.

I log degli errori non sono salvati in stato permanenteError logs aren't persisted

I log degli errori disponibili nell'istanza gestita non sono salvati in modo permanente e la loro dimensione non è inclusa nel limite massimo di archiviazione.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. Potrebbero esserci gap nella cronologia dei log degli errori perché Istanza gestita stato spostato più tempo in diverse macchine virtuali.There might be gaps in the error log history because Managed Instance was moved several time on several virtual machines.

L'ambito della transazione su due database all'interno della stessa istanza non è supportatoTransaction scope on two databases within the same instance isn't supported

La TransactionScope classe in .NET non funziona se due query vengono inviate a due database all'interno della 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 funzioni con i dati all'interno della stessa istanza, è necessario MSDTC.Although this code works with data within the same instance, it required MSDTC.

Soluzione alternativa: Utilizzare SqlConnection. ChangeDatabase (String) per utilizzare un altro database in un contesto di connessione anziché utilizzare due connessioni.Workaround: Use SqlConnection.ChangeDatabase(String) to use another database in a connection context instead of using two connections.

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

I moduli CLR posizionati in un'istanza gestita, i server collegati o le query distribuite che fanno riferimento a un'istanza corrente talvolta non riescono a 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 le connessioni di contesto in un modulo CLR.Workaround: Use context connections in a CLR module if possible.

Passaggi successiviNext steps