Gestione e risoluzione dei problemi di Stretch DatabaseManage and troubleshoot Stretch Database

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per gestire e risolvere i problemi di Stretch Database, usare gli strumenti e i metodi descritti in questo argomento.To manage and troubleshoot Stretch Database, use the tools and methods described in this topic .

Gestire i dati localiManage local data

        </a> Ottenere informazioni su tabelle e database locali abilitati per Stretch Database</span><span class="sxs-lookup"><span data-stu-id="fd1b6-105"><a name="LocalInfo"></a> Get info about local databases and tables enabled for Stretch Database</span></span>  

Aprire le viste del catalogo sys.databases e sys.tables per visualizzare informazioni sulle tabelle e i database di SQL Server abilitati per l'estensione.Open the catalog views sys.databases and sys.tables to see info about Stretch-enabled SQL Server databases and tables. Per altre informazioni, vedere sys.databases (Transact-SQL) e sys.tables (Transact-SQL).For more info, see sys.databases (Transact-SQL) and sys.tables (Transact-SQL).

Per visualizzare la quantità di spazio usata da una tabella abilitata per l'estensione in SQL Server, eseguire questa istruzione.To see how much space a Stretch-enabled table is using in SQL Server, run the following statement.

USE <Stretch-enabled database name>;
GO
EXEC sp_spaceused '<Stretch-enabled table name>', 'true', 'LOCAL_ONLY';
GO

Gestire la migrazione dei datiManage data migration

Verificare la funzione di filtro applicata a una tabellaCheck the filter function applied to a table

Aprire la vista del catalogo sys.remote_data_archive_tables e verificare il valore della colonna filter_predicate per trovare la funzione usata da Stretch Database per selezionare le righe per la migrazione.Open the catalog view sys.remote_data_archive_tables and check the value of the filter_predicate column to identify the function that Stretch Database is using to select rows to migrate. Se il valore è null, l'intera tabella è idonea per la migrazione.If the value is null, the entire table is eligible to be migrated. Per altre informazioni, vedere sys.remote_data_archive_tables (Transact-SQL) e Selezionare le righe di cui eseguire la migrazione tramite una funzione di filtro.For more info, see sys.remote_data_archive_tables (Transact-SQL) and Select rows to migrate by using a filter function.

Controllare lo stato della migrazione dei datiCheck the status of data migration

Selezionare Attività | Stretch | Monitoraggio per un database in SQL Server Management Studio per monitorare la migrazione dei dati in Monitoraggio di Stretch Database.Select Tasks | Stretch | Monitor for a database in SQL Server Management Studio to monitor data migration in Stretch Database Monitor. Per altre informazioni, vedere Monitorare e risolvere i problemi relativi alla migrazione dei dati (Stretch Database).For more info, see Monitor and troubleshoot data migration (Stretch Database).

In alternativa, aprire la DMV sys.dm_db_rda_migration_status per visualizzare il numero di batch e righe di dati di cui è stata eseguita la migrazione.Or, open the dynamic management view sys.dm_db_rda_migration_status to see how many batches and rows of data have been migrated.

Risolvere i problemi relativi alla migrazione dei datiTroubleshoot data migration

Per consigli sulla risoluzione dei problemi, vedere Monitorare e risolvere i problemi relativi alla migrazione dei dati (Stretch Database).For troubleshooting suggestions, see Monitor and troubleshoot data migration (Stretch Database).

Gestire i dati remotiManage remote data

        </a> Ottenere informazioni su tabelle e database remoti usati da Stretch Database</span><span class="sxs-lookup"><span data-stu-id="fd1b6-121"><a name="RemoteInfo"></a> Get info about remote databases and tables used by Stretch Database</span></span>  

Aprire le viste del catalogo sys.remote_data_archive_databases e sys.remote_data_archive_tables per visualizzare informazioni sulle tabelle e i database remoti in cui sono memorizzati i dati migrati.Open the catalog views sys.remote_data_archive_databases and sys.remote_data_archive_tables to see info about the remote databases and tables in which migrated data is stored. Per altre informazioni, vedere sys.remote_data_archive_databases (Transact-SQL) e sys.remote_data_archive_tables (Transact-SQL).For more info, see sys.remote_data_archive_databases (Transact-SQL) and sys.remote_data_archive_tables (Transact-SQL).

Per visualizzare la quantità di spazio usata da una tabella abilitata per l'estensione in Azure, eseguire questa istruzione.To see how much space a Stretch-enabled table is using in Azure, run the following statement.

USE <Stretch-enabled database name>;
GO
EXEC sp_spaceused '<Stretch-enabled table name>', 'true', 'REMOTE_ONLY';
GO

Eliminare i dati migratiDelete migrated data

Per eliminare i dati di cui è già stata eseguita la migrazione in Azure, seguire i passaggi descritti in sys.sp_rda_reconcile_batch.If you want to delete data that has already been migrated to Azure, follow the steps described in sys.sp_rda_reconcile_batch.

Gestire lo schema di una tabellaManage table schema

Non modificare lo schema di una tabella remotaDon't change the schema of the remote table

Non modificare lo schema di una tabella remota di Azure associata a una tabella di SQL Server configurata per Stretch Database.Don't change the schema of a remote Azure table that's associated with a SQL Server table configured for Stretch Database. In particolare, non modificare il nome o il tipo di dati di una colonna.In particular, don't modify the name or the data type of a column. La funzionalità Stretch Database formula varie ipotesi relative allo schema della tabella remota in relazione allo schema della tabella di SQL Server.The Stretch Database feature makes various assumptions about the schema of the remote table in relation to the schema of the SQL Server table. Se si modifica lo schema remoto, Stretch Database smetterà di funzionare per la tabella modificata.If you change the remote schema, Stretch Database stops working for the changed table.

Riconciliare le colonne della tabellaReconcile table columns

Se sono state accidentalmente eliminate colonne dalla tabella remota, eseguire sp_rda_reconcile_columns per aggiungere colonne alla tabella remota presenti nella tabella di SQL Server abilitata per l'estensione, ma non nella tabella remota.If you have accidentally deleted columns from the remote table, run sp_rda_reconcile_columns to add columns to the remote table that exist in the Stretch-enabled SQL Server table but not in the remote table. Per altre informazioni, vedere sys.sp_rda_reconcile_columns.For more info, see sys.sp_rda_reconcile_columns.

Importante

Quando sp_rda_reconcile_columns crea nuovamente le colonne accidentalmente eliminate dalla tabella remota, non ripristina i dati che erano presenti nelle colonne eliminate.When sp_rda_reconcile_columns recreates columns that you accidentally deleted from the remote table, it does not restore the data that was previously in the deleted columns.

sp_rda_reconcile_columns non elimina le colonne della tabella remota presenti nella tabella remota, ma non nella tabella di SQL Server abilitata per l'estensione.sp_rda_reconcile_columns does not delete columns from the remote table that exist in the remote table but not in the Stretch-enabled SQL Server table. Se sono presenti colonne nella tabella remota di Azure che non esistono più nella tabella di SQL Server abilitata per Stretch, queste colonne aggiuntive non impediscono il normale funzionamento di Stretch Database.If there are columns in the remote Azure table that no longer exist in the Stretch-enabled SQL Server table, these extra columns do not prevent Stretch Database from operating normally. È possibile rimuovere le colonne aggiuntive manualmente.You can optionally remove the extra columns manually.

Gestire prestazioni e costiManage performance and costs

Risolvere i problemi relativi alle prestazioni delle queryTroubleshoot query performance

L'esecuzione di query che includono tabelle abilitate per Estensione database in genere è più lenta rispetto a quanto avveniva prima dell'abilitazione delle tabelle per Estensione database.Queries that include Stretch-enabled tables are expected to perform more slowly than they did before the tables were enabled for Stretch. Se le prestazioni delle query peggiorano notevolmente, esaminare i possibili problemi seguenti.If query performance degrades significantly, review the following possible problems.

  • Il server di Azure si trova in un'area geografica diversa rispetto all'istanza di SQL Server?Is your Azure server in a different geographical region than your SQL Server? Configurare il server di Azure in modo che si trovi nella stessa area geografica dell'istanza di SQL Server per ridurre la latenza di rete.Configure your Azure server to be in the same geographical region as your SQL Server to reduce network latency.

  • Le condizioni della rete possono essere peggiorate.Your network conditions may have degraded. Per informazioni su problemi o interruzioni recenti, contattare l'amministratore di rete.Contact your network administrator for info about recent issues or outages.

Aumentare il livello di prestazioni di Azure per le operazioni a elevato utilizzo di risorse, quali l'indicizzazioneIncrease Azure performance level for resource-intensive operations such as indexing

Quando si compila, si ricompila o si riorganizza un indice in una tabella di grandi dimensioni configurata per Stretch Database e si prevede di eseguire molte query sui dati migrati in Azure in questa fase, è opportuno aumentare il livello di prestazioni del database remoto di Azure corrispondente per la durata dell'operazione.When you build, rebuild, or reorganize an index on a large table that's configured for Stretch Database, and you anticipate heavy querying of the migrated data in Azure during this time, consider increasing the performance level of the corresponding remote Azure database for the duration of the operation. Per informazioni sui livelli di prestazioni e i relativi prezzi, vedere Prezzi di SQL Server Stretch Database.For more info about performance levels and pricing, see SQL Server Stretch Database Pricing.

Non è possibile sospendere il servizio SQL Server Stretch Database in AzureYou can't pause the SQL Server Stretch Database service on Azure

Assicurarsi di selezionare il livello di prestazioni e il piano tariffario corretti.Make sure that you select the appropriate performance and pricing level. Se si aumenta il livello di prestazioni temporaneamente per un'operazione che usa un numero elevato di risorse, ripristinare il livello precedente al termine dell'operazione.If you increase the performance level temporarily for a resource-intensive operation, restore it to the previous level after the operation completes. Per informazioni sui livelli di prestazioni e i relativi prezzi, vedere Prezzi di SQL Server Stretch Database.For more info about performance levels and pricing, see SQL Server Stretch Database Pricing.

Modificare l'ambito delle queryChange the scope of queries

Le query sulle tabelle abilitate per l'estensione restituiscono dati locali e remoti per impostazione predefinita.Queries against Stretch-enabled tables return both local and remote data by default. È possibile modificare l'ambito delle query per tutte le query di tutti gli utenti oppure per una singola query di un amministratore.You can change the scope of queries for all queries by all users, or only for a single query by an administrator.

Modificare l'ambito delle query per tutte le query di tutti gli utentiChange the scope of queries for all queries by all users

Per modificare l'ambito di tutte le query di tutti gli utenti, eseguire la stored procedure sys.sp_rda_set_query_mode.To change the scope of all queries by all users, run the stored procedure sys.sp_rda_set_query_mode. È possibile ridurre l'ambito per eseguire query solo sui dati locali, disabilitare tutte le query o ripristinare l'impostazione predefinita.You can reduce the scope to query local data only, disable all queries, or restore the default setting. Per altre informazioni, vedere sys.sp_rda_set_query_mode.For more info, see sys.sp_rda_set_query_mode.

Modificare l'ambito delle query per una singola query di un amministratoreChange the scope of queries for a single query by an administrator

Per modificare l'ambito di una singola query di un membro del ruolo db_owner, aggiungere l'hint per la query WITH ( REMOTE_DATA_ARCHIVE_OVERRIDE = valore ) all'istruzione SELECT.To change the scope of a single query by a member of the db_owner role, add the WITH ( REMOTE_DATA_ARCHIVE_OVERRIDE = value ) query hint to the SELECT statement. L'hint per la query REMOTE_DATA_ARCHIVE_OVERRIDE può avere i valori seguenti.The REMOTE_DATA_ARCHIVE_OVERRIDE query hint can have the following values.

  • LOCAL_ONLY.LOCAL_ONLY. Eseguire query solo sui dati locali.Query local data only.

  • REMOTE_ONLY.REMOTE_ONLY. Eseguire query solo sui dati remoti.Query remote data only.

  • STAGE_ONLY.STAGE_ONLY. Eseguire query solo sui dati della tabella in cui Stretch Database inserisce temporaneamente righe idonee per la migrazione e conserva le righe migrate per il periodo specificato dopo la migrazione.Query only the data in the table where Stretch Database stages rows eligible for migration and retains migrated rows for the specified period after migration. Questo hint per la query è l'unico modo per eseguire query sulla tabella di staging.This query hint is the only way to query the staging table.

Ad esempio, la query seguente restituisce solo risultati locali.For example, the following query returns local results only.

USE <Stretch-enabled database name>;
GO
SELECT * FROM <Stretch_enabled table name> WITH (REMOTE_DATA_ARCHIVE_OVERRIDE = LOCAL_ONLY) WHERE ... ;
GO

Eseguire aggiornamenti ed eliminazioni amministrativiMake administrative updates and deletes

Per impostazione predefinita non è possibile eseguire operazioni UPDATE o DELETE sulle righe idonee per la migrazione o già migrate in una tabella abilitata per l'estensione.By default you can't UPDATE or DELETE rows that are eligible for migration, or rows that have already been migrated, in a Stretch-enabled table. Se è necessario risolvere un problema, un membro del ruolo db_owner può eseguire un'operazione UPDATE o DELETE aggiungendo l'hint per la query WITH ( REMOTE_DATA_ARCHIVE_OVERRIDE = valore ) all'istruzione.When you have to fix a problem, a member of the db_owner role can run an UPDATE or DELETE operation by adding the WITH ( REMOTE_DATA_ARCHIVE_OVERRIDE = value ) query hint to the statement. L'hint per la query REMOTE_DATA_ARCHIVE_OVERRIDE può avere i valori seguenti.The REMOTE_DATA_ARCHIVE_OVERRIDE query hint can have the following values.

  • LOCAL_ONLY.LOCAL_ONLY. Aggiornare o eliminare solo i dati locali.Update or delete local data only.

  • REMOTE_ONLY.REMOTE_ONLY. Aggiornare o eliminare solo i dati remoti.Update or delete remote data only.

  • STAGE_ONLY.STAGE_ONLY. Aggiornare o eliminare solo i dati della tabella in cui Stretch Database inserisce temporaneamente righe idonee per la migrazione e conserva le righe migrate per il periodo specificato dopo la migrazione.Update or delete only the data in the table where Stretch Database stages rows eligible for migration and retains migrated rows for the specified period after migration.

Vedere ancheSee Also

Monitorare e risolvere i problemi relativi alla migrazione dei dati (Stretch Database) Monitor and troubleshoot data migration (Stretch Database)
Eseguire il backup di database abilitati per Stretch (Stretch Database)Backup Stretch-enabled databases (Stretch Database)
Ripristinare database abilitati per Stretch (Stretch Database)Restore Stretch-enabled databases (Stretch Database)