Monitoraggio, backup e scalabilità di MSSQL
Strumenti per il monitoraggio e l'ottimizzazione delle prestazioni di MSSQL Server
Microsoft SQL Server fornisce una serie completa di strumenti per il monitoraggio degli eventi in SQL Server e per l'ottimizzazione del progetto di database fisico. La scelta dello strumento dipende dal tipo di monitoraggio o di ottimizzazione da eseguire e dagli eventi specifici da monitorare. Per garantire le prestazioni previste, le statistiche devono almeno essere generate a intervalli regolari.
Supporto nativo per il backup e il ripristino di Microsoft SQL Server
È possibile utilizzare una copia dei dati di SQL Server per ripristinare e recuperare i dati in seguito a un errore. Un backup dei dati di SQL Server viene creato a livello di database o di uno o più dei relativi file o gruppi di file. Non è possibile creare backup a livello di tabella. Oltre ai backup dei dati, il modello di recupero completo richiede la creazione di backup del log delle transazioni.
Modello di recupero
Proprietà del database che controlla la manutenzione del log delle transazioni in un database. Esistono tre modelli di recupero: semplice, completo e con registrazione minima delle operazioni bulk. Il modello di recupero del database determina i requisiti di backup e ripristino.
Ripristino
Processo multifase che copia tutte le pagine di dati e di log da un determinato backup di SQL Server a un database specificato e quindi esegue il roll forward di tutte le transazioni registrate nel backup applicando le modifiche registrate per aggiornare i dati.
Per ulteriori informazioni, vedere
Scalabilità orizzontale di SQL Server
La scalabilità è la capacità di un'applicazione di utilizzare in modo efficiente più risorse allo scopo di eseguire operazioni più utili.
Database condivisi scalabili
La soluzione di scalabilità orizzontale più semplice da implementare in SQL Server è rappresentata dai database condivisi scalabili. Questo scenario prevede la creazione di un database su una SAN, il collegamento a tale database di un massimo di otto istanze di SQL Server in esecuzione su server diversi e l'inizio della fase di gestione delle interrogazioni. Si tratta della classica soluzione di scalabilità orizzontale di tipo "disco condiviso", in cui la potenza di elaborazione viene scalata orizzontalmente, ma viene utilizzata una singola immagine disco dei dati. A questo punto, coloro che hanno familiarità con SQL Server potrebbero chiedersi: "Che cosa succede ai blocchi? Pensavo che ogni istanza di SQL Server mantenesse i propri blocchi all'interno della rispettiva memoria." È proprio quello che succede. Ogni istanza mantiene i propri blocchi di database e nessuna di esse viene a conoscenza dei blocchi delle altre istanze. Questo processo funziona solo se non sono presenti blocchi e pertanto i database condivisi scalabili funzionano solo se il database è collegato come database di sola lettura. Di conseguenza i database condivisi scalabili sono la soluzione ideale per i data warehouse o i database di report, ma non sono adatti per le applicazioni che aggiornano i dati. Tornando alle caratteristiche dei dati, i database condivisi scalabili funzionano solo se la frequenza di aggiornamento è uguale a zero. Questi dati sono, per definizione, cronologici e pertanto sono tutti dati di riferimento.
Limitazione e implementazione della dimensione dell'indice
In MSSQL Server, qualsiasi chiave di indice può avere un numero di byte non superiore a 900. È possibile definire una chiave utilizzando colonne di lunghezza variabile le cui dimensioni massime totalizzano più di 900 byte, ma in questo caso non si deve inserire una riga con più di 900 byte di dati in tali colonne. (https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?view=sql-server-2014&redirectedfrom=MSDN).
* 
Gli utenti di ThingWorx devono prestare particolare attenzione quando creano chiavi composte e ne specificano la lunghezza. I nomi delle chiavi devono essere progettati in modo da essere brevi ma il più possibile descrittivi.
È stato utile?