Preconfigurazione per le ottimizzazioni del database BizTalk Server

BizTalk Server è un'applicazione a elevato utilizzo di database che può richiedere la creazione di un massimo di 13 database separati in Microsoft SQL Server. A causa del ruolo critico svolto da SQL Server in qualsiasi ambiente BizTalk Server, è fondamentale che SQL Server sia configurato/ottimizzato per ottenere prestazioni ottimali. Se SQL Server non è ottimizzato per ottenere prestazioni ottimali, i database usati da BizTalk Server diventeranno un collo di bottiglia e le prestazioni complessive dell'ambiente BizTalk Server subiranno problemi. In questo argomento vengono descritte diverse ottimizzazioni delle prestazioni di SQL Server da seguire prima di installare BizTalk Server e configurare i database BizTalk Server.

Impostare l'unità di allocazione file NTFS

SQL Server archivia i dati in Extent, che sono gruppi di otto pagine da 8.000. Pertanto, per ottimizzare le prestazioni del disco, impostare le dimensioni dell'unità di allocazione NTFS su 64 KB, come descritto nella guida di SQL Server per "Procedure consigliate per la configurazione del disco - Procedure consigliate di I/O di pre-distribuzione. Per ulteriori informazioni sulle pagine e sugli extent di SQL Server, vedere Comprensione delle Pagine ed Extent.

Considerazioni sulla pianificazione del database

Microsoft consiglia di ospitare i database di SQL Server in una risorsa di archiviazione veloce, ad esempio dischi SAN veloci o dischi SCSI veloci. Microsoft consiglia RAID 10 (1+0) invece di RAID 5 perché RAID 5 è più lento durante la scrittura. I dischi SAN più recenti hanno cache di memoria molto grandi, quindi in questi casi la selezione RAID non è altrettanto importante. Per migliorare le prestazioni, i database e i relativi file di log possono risiedere in dischi fisici diversi.

Installare il Service Pack più recente e gli aggiornamenti cumulativi per SQL Server

Installare i Service Pack più recenti e gli aggiornamenti cumulativi più recenti per SQL Server 2005 e SQL Server 2008, nonché i Service Pack di .NET Framework più recenti.

Installare i Service Pack di SQL sia in BizTalk Server che in SQL Server

Quando si installano Service Pack per SQL Server, installare anche il Service Pack nel computer BizTalk Server. BizTalk Server usa i componenti di SQL Client aggiornati dai Service Pack di SQL Server.

Prendere in considerazione l'implementazione di SQL Server 2008 Data Collector and Management Data Warehouse

SQL Server 2008 supporta l'uso del nuovo Data Collector and Management Data Warehouse per raccogliere dati correlati alle prestazioni di ambiente/database per l'analisi di test e tendenza. L'agente di raccolta dati mantiene tutti i dati raccolti nel data warehouse di gestione specificato. Anche se non si tratta di un'ottimizzazione delle prestazioni, questa operazione sarà utile per l'analisi di eventuali problemi di prestazioni.

Concedere all'account utilizzato per SQL Server il privilegio di blocco delle pagine in memoria di Windows.

Concedere il privilegio "Blocco pagine in memoria" di Windows all'account del servizio SQL Server. Questa operazione deve essere eseguita per impedire al sistema operativo Windows di eseguire il paging della memoria del pool di buffer del processo di SQL Server bloccando la memoria allocata per il pool di buffer in memoria fisica. Per altre informazioni, vedere l'articolo della Microsoft Knowledge Base 914483 "Come ridurre il paging della memoria del pool di buffer nella versione a 64 bit di SQL Server 2005" all'indirizzo https://go.microsoft.com/fwlink/?LinkId=148948.

Concedere il diritto SE_MANAGE_VOLUME_NAME all'account del servizio SQL Server

Assicurarsi che l'account che esegue il servizio SQL Server disponga del privilegio di Windows "Esegui attività di manutenzione volume" o di assicurarsi che appartenga a un gruppo di sicurezza che esegue questa operazione. In questo modo, l'inizializzazione immediata dei file garantisce prestazioni ottimali se un database deve aumentare automaticamente.

Impostare la Memoria Minima e Massima del Server

I computer che eseguono SQL Server che ospitano i database BizTalk Server devono essere dedicati all'esecuzione di SQL Server. È consigliabile impostare le opzioni "min server memory" e "max server memory" in ogni istanza di SQL Server per specificare la quantità fissa di memoria da allocare a SQL Server. In questo caso, è necessario impostare "min server memory" e "max server memory" sullo stesso valore (uguale alla quantità massima di memoria fisica usata da SQL Server). In questo modo si ridurrà il sovraccarico che altrimenti verrebbe usato da SQL Server per la gestione dinamica di questi valori. Eseguire i comandi T-SQL seguenti in ogni computer SQL Server per specificare la quantità fissa di memoria da allocare a SQL Server:

sp_configure ‘Max Server memory (MB)’,(max size in MB)
sp_configure ‘Min Server memory (MB)’,(min size in MB)

Prima di impostare la quantità di memoria per SQL Server, determinare l'impostazione di memoria appropriata sottraendo la memoria necessaria per Windows Server dalla memoria fisica totale. Si tratta della quantità massima di memoria che è possibile assegnare a SQL Server.

Annotazioni

Se i computer che eseguono SQL Server che ospitano i database BizTalk Server ospitano anche Enterprise Single Sign-On Master Secret Server, potrebbe essere necessario modificare questo valore per assicurarsi che sia disponibile memoria sufficiente per eseguire il servizio Enterprise Single Sign-On. Non è raro eseguire un'istanza in cluster del servizio Enterprise Single Sign-On in un cluster di SQL Server per offrire disponibilità elevata per master secret server. Per altre informazioni sul clustering di Enterprise Single Sign-On Master Secret Server, vedere l'argomento "How to Cluster the Master Secret Server" in BizTalk Serverdocumentation all'indirizzo https://go.microsoft.com/fwlink/?LinkID=106874.

Suddividere il database tempdb in più file di dati di dimensioni uguali in ogni istanza di SQL Server usata da BizTalk Server

Assicurarsi che i file di dati usati per tempdb siano di dimensioni uguali è fondamentale perché l'algoritmo di riempimento proporzionale usato da SQL Server è basato sulle dimensioni dei file di dati. Questo algoritmo tenta di garantire che SQL Server riempia ogni file in proporzione allo spazio disponibile lasciato nel file in modo che raggiungano la capacità massima allo stesso tempo. Se i file di dati vengono creati con dimensioni diverse, l'algoritmo di riempimento proporzionale userà il file più grande per le allocazioni GAM anziché distribuire le allocazioni tra tutti i file, sconfiggendo così lo scopo di creare più file di dati. Il numero di file di dati per il database tempdb deve essere configurato per essere almeno uguale al numero di processori assegnati per SQL Server.

Abilitare il flag di traccia T1118 come parametro di avvio per tutte le istanze di SQL Server

Implementando il flag di traccia T1118, si possono ridurre i conflitti tra le istanze di SQL Server rimuovendo quasi tutte le allocazioni di singole pagine. Per altre informazioni, vedere Microsoft Knowledge Base 328551 - Miglioramenti della concorrenza per il database tempdb.

Non modificare le impostazioni predefinite di SQL Server per il grado massimo di parallelismo, le statistiche di SQL Server o la ricostruzione degli indici e la deframmentazione del database.

Se si dispone di un'istanza di SQL Server che ospita i database BizTalk Server, non modificare le impostazioni di SQL Server per il grado massimo di parallelismo, le statistiche di SQL Server nel database MessageBox e le impostazioni per la ricompilazione e la deframmentazione dell'indice del database. Per altre informazioni, vedere Impostazioni di SQL Server che non devono essere modificate.