Eseguire la migrazione degli schemi a SQL Data WarehouseMigrate your schemas to SQL Data Warehouse

Indicazioni per la migrazione degli schemi SQL a SQL Data Warehouse.Guidance for migrating your SQL schemas to SQL Data Warehouse.

Pianificare la migrazione dello schemaPlan your schema migration

Per pianificare una migrazione vedere la panoramica delle tabelle per aspetti della creazione delle tabelle come statistiche, distribuzione, partizionamento e indicizzazione.As you plan a migration, see the table overview to become familiar with table design considerations such as statistics, distribution, partitioning, and indexing. Vengono anche presentate alcune funzionalità non supportate per le tabelle e le soluzioni alternative.It also lists some unsupported table features and their workarounds.

Usare gli schemi definiti dall'utente per consolidare i databaseUse user-defined schemas to consolidate databases

È probabile che carico di lavoro esistente includa più di un database.Your existing workload probably has more than one database. Ad esempio un data warehouse di SQL Server può includere un database di staging, un database del data warehouse e alcuni database del data mart.For example, a SQL Server data warehouse might include a staging database, a data warehouse database, and some data mart databases. In questa topologia ogni database viene eseguito come carico di lavoro separato con criteri di protezione separati.In this topology, each database runs as a separate workload with separate security policies.

Al contrario, SQL Data Warehouse esegue tutto il carico di lavoro del data warehouse all'interno di un database.By contrast, SQL Data Warehouse runs the entire data warehouse workload within one database. I join tra database non sono consentiti.Cross database joins are not permitted. SQL Data Warehouse prevede pertanto che tutte le tabelle usate dal data warehouse siano archiviate in un unico database.Therefore, SQL Data Warehouse expects all tables used by the data warehouse to be stored within the one database.

È consigliabile usare schemi definiti dall'utente per consolidare il carico di lavoro esistente in un unico database.We recommend using user-defined schemas to consolidate your existing workload into one database. Per esempi, vedere Schemi definiti dall'utenteFor examples, see User-defined schemas

Usare tipi di dati compatibiliUse compatible data types

Modificare i tipi di dati in modo che siano compatibili con SQL Data Warehouse.Modify your data types to be compatible with SQL Data Warehouse. Per l'elenco dei tipi di dati supportati e non supportati, vedere Tipi di dati.For a list of supported and unsupported data types, see data types. L'argomento offre soluzioni alternative per i tipi non supportati.That topic gives workarounds for the unsupported types. Offre anche una query per identificare i tipi esistenti che non sono supportati in SQL Data Warehouse.It also provides a query to identify existing types that are not supported in SQL Data Warehouse.

Ridurre al minimo le dimensioni delle righeMinimize row size

Per prestazioni ottimali, ridurre al minimo la lunghezza delle righe delle tabelle.For best performance, minimize the row length of your tables. Dato che a righe più brevi corrispondono prestazioni migliori, usare i tipi di dati più brevi che funzionano per i dati.Since shorter row lengths lead to better performance, use the smallest data types that work for your data.

Per la larghezza della riga della tabella, PolyBase ha un limite pari a 1 MB.For table row width, PolyBase has a 1 MB limit. Se si prevede di caricare dati in SQL Data Warehouse con PolyBase, aggiornare le tabelle in modo che le righe abbiano una larghezza massima inferiore a 1 MB.If you plan to load data into SQL Data Warehouse with PolyBase, update your tables to have maximum row widths of less than 1 MB.

Specificare l'opzione di distribuzioneSpecify the distribution option

SQL Data Warehouse è un sistema di database distribuito.SQL Data Warehouse is a distributed database system. Ogni tabella è distribuita o replicata nei nodi di calcolo.Each table is distributed or replicated across the Compute nodes. Un'opzione della tabella consente di specificare la modalità di distribuzione dei dati.There's a table option that lets you specify how to distribute the data. Le scelte disponibili sono round robin, replica o distribuzione hash.The choices are round-robin, replicated, or hash distributed. Ognuna presenta vantaggi e svantaggi.Each has pros and cons. Se non si specifica l'opzione di distribuzione, SQL Data Warehouse usa round robin come impostazione predefinita.If you don't specify the distribution option, SQL Data Warehouse will use round-robin as the default.

  • La modalità round robin è la modalità predefinita.Round-robin is the default. È la più semplice da usare e carica i dati alla massima velocità, ma lo spostamento di dati richiesto dai join determina un rallentamento delle prestazioni delle query.It is the simplest to use, and loads the data as fast as possible, but joins will require data movement which slows query performance.
  • Nell'approccio con tabelle replicate, viene archiviata una copia della tabella in ogni nodo di calcolo.Replicated stores a copy of the table on each Compute node. Le tabelle replicate sono efficienti perché non richiedono lo spostamento di dati per i join e le aggregazioni.Replicated tables are performant because they do not require data movement for joins and aggregations. Tuttavia richiedono risorse di archiviazione aggiuntive e di conseguenza sono la scelta migliore per tabelle di dimensioni contenute.They do require extra storage, and therefore work best for smaller tables.
  • La distribuzione hash distribuisce le righe su tutti i nodi tramite una funzione hash.Hash distributed distributes the rows across all the nodes via a hash function. Le tabelle con distribuzione hash sono il nucleo di SQL Data Warehouse e sono progettate per garantire alte prestazioni per le query su tabelle di grandi dimensioni.Hash distributed tables are the heart of SQL Data Warehouse since they are designed to provide high query performance on large tables. Questa opzione richiede un certo grado di pianificazione nella scelta della colonna ottimale per la distribuzione dei dati.This option requires some planning to select the best column on which to distribute the data. Se tuttavia al primo tentativo non si sceglie la colonna migliore, è possibile ridistribuire facilmente i dati in base a un'altra colonna.However, if you don't choose the best column the first time, you can easily re-distribute the data on a different column.

Per scegliere la migliore opzione di distribuzione per ogni tabella, vedere Tabelle con distribuzione.To choose the best distribution option for each table, see Distributed tables.

Passaggi successiviNext steps

Dopo la migrazione dello schema del database a SQL Data Warehouse, passare a uno degli articoli seguenti:Once you have successfully migrated your database schema to SQL Data Warehouse, proceed to one of the following articles:

Per altre informazioni, vedere l'articolo con le procedure consigliate di SQL Data Warehouse.For more about SQL Data Warehouse best practices, see the best practices article.