Avere un elenco di controllo di compilazione standardizzato per una nuova istanza di SQL Server può aiutarti a non dimenticare passaggi o impostazioni di configurazione importanti durante l'installazione di SQL Server, l'aggiornamento e la configurazione corretta. Questo è molto importante per assicurarti di ottenere le migliori prestazioni e scalabilità dalla tua istanza di SQL Server.
Il mio corso Pluralsight, Installazione e configurazione di SQL Server 2012, approfondisce ulteriormente questo processo. Il quadro generale è il seguente:
- Rack e cabla il server
- Assicurati che ogni alimentatore sia collegato a un circuito di alimentazione diverso
- Assicurati che i cavi di rete siano collegati a switch di rete diversi, se possibile
- Richiedi un normale account di dominio per il servizio SQL Server e per il servizio SQL Server Agent (insieme a qualsiasi altro servizio di SQL Server che utilizzerai, come SSIS, SSRS, SSAS)
- Dovrai conoscere il nome utente e la password per questi account durante l'installazione di SQL Server 2012
- Cerca di fare in modo che questi account utilizzino password che non scadono
- Verifica le impostazioni principali del BIOS sul server
- Hyper-threading e turbo-boost dovrebbero essere abilitati
- La gestione dell'alimentazione deve essere impostata sul controllo del sistema operativo
- Il test della memoria dovrebbe essere disabilitato
- Installa Windows Server 2012 R2 Standard Edition sul server
- Utilizzare due unità interne in RAID 1 con il controller RAID integrato
- Considera l'utilizzo di SSD per questo scopo, se possibile
- Se utilizzi gli SSD, non è necessario deframmentarli
- Crea una singola partizione, unità C:che utilizza tutto lo spazio
- Cambia la dimensione del file di pagina di Windows a 16 GB, utilizzando l'unità C:
- Modifica il piano di alimentazione di Windows in "Prestazioni elevate"
- Esegui CPU-Z sul server per confermare che i processori funzionino alla massima velocità
- Cambia la lettera di unità per l'unità ottica in Z:
- Utilizzare due unità interne in RAID 1 con il controller RAID integrato
- Cambia il nome NETBIOS sul server con il nome permanente desiderato del server
- Installa la funzionalità .NET 3.51 da Windows Server 2012 R2
- Installa Microsoft Update sul server
- Questo è un superset di Windows Update
- Installa tutti gli aggiornamenti Microsoft e Windows sul server
- Potrebbero essere necessari diversi round per ottenere tutti gli aggiornamenti richiesti
- Deframmentare manualmente l'unità C:
- Abilita la deframmentazione automatica dell'unità C:utilizzando la pianificazione settimanale predefinita
- Non consentire l'aggiunta automatica di nuove unità alla pianificazione
- Crea un indirizzo IP statico con il DNS corretto e le informazioni sul gateway predefinito
- Unisciti al server nel dominio Windows appropriato
- Attiva Windows sul server
- Installa la versione più recente di Dell OMSA sul server
- Scarica l'ultima versione di Dell Server Update Utility (SUU)
- Monta il .iso per la SUU ed esegui la SUU
- Ciò garantirà di disporre del firmware e dei driver più recenti per il server
- Utilizza Dell OMSA per creare array RAID per LUN
- Crea una LUN alla volta, quindi vai a Logical Disk Manager per creare/formattare l'unità
- In questo modo non ti confonderai su quale sia quale
- Crea gli array e le LUN nell'ordine mostrato di seguito
- Impostazioni PERC generali in Dell OMSA
- Utilizza il mirroring intelligente per gli array RAID 10
- Nessuna cache Read Ahead
- Abilita cache write-back
- Le norme sulla cache dovrebbero essere abilitate
- Utilizza unità di allocazione 64.000
- Crea una LUN alla volta, quindi vai a Logical Disk Manager per creare/formattare l'unità
- Utilizzare Windows Logical Disk Manager per creare dischi logici
- Dopo aver creato un array con OMSA, apri Gestione disco
- Vedrai la finestra di dialogo Inizializza disco
- Assicurati di utilizzare lo stile di partizione GPT
- Fai clic su Avanti
- Fai clic su Fine
- Unità dati:SQLData
- Unità log:SQLLogs
- Unità TempDB:TempDB
- Unità di backup:SQLBackups
- Esegui attività di manutenzione del volume
- TuoDominio\SQLServerServiceAcct
- Blocca pagine in memoria
- TuoDominio\SQLServerServiceAcct
- Assicurati che non ci siano riavvii in sospeso, altrimenti SQL Server 2012 non verrà installato
- Installa solo i componenti di SQL Server 2012 necessari per questa istanza
- Utilizza l'autenticazione in modalità mista
- Imposta la password sa su una password complessa
- Aggiungi te stesso come amministratore SQL
- Aggiungi altri DBA che devono essere amministratori
- Utilizzare YourDomain\SQLServerServiceAcct per l'account del servizio SQL Server
- La password è:xxxxxxxxx
- Utilizzare YourDomain\SQLServerAgentAcct per l'account di SQL Server Agent
- La password è:xxxxxxxxx
- Imposta il servizio SQL Server Agent sull'avvio automatico
- Imposta le directory predefinite sulle lettere di unità e sui percorsi appropriati
- Directory database utente:P:\SQLData
- Directory del registro del database utente:L:\SQLLogs
- Indirizzario Temp DB:T:\TempDB
- Directory di registro Temp DB:T:\TempDB
- Directory di backup:N:\SQLBackups
- O l'ultimo Service Pack rilasciato per SQL Server 2012
- L'aggiornamento cumulativo è disponibile da questa posizione:
- http://support.microsoft.com/kb/2874879/en-us
- Assicurati di ottenere la versione x64 del pacchetto di aggiornamento
- Deframmentare manualmente l'unità C:dopo l'installazione
- Non è necessario se utilizzi SSD
- Abilita l'ottimizzazione per carichi di lavoro ad hoc
- Ciò consentirà a SQL Server di utilizzare meno memoria per archiviare piani di query ad hoc la prima volta che vengono eseguiti
- Imposta il grado massimo di parallelismo sul numero di core fisici in un nodo NUMA sul tuo server
- Abilita la compressione di backup predefinita
- Questo utilizzerà la compressione di backup di SQL Server per impostazione predefinita per tutti i backup di database
- Ciò eliminerà la registrazione dei messaggi di backup del database riusciti nel registro degli errori di SQL Server
- Ciò aiuterà ad alleviare la contesa di allocazione in tempdb
- Ciò consentirà a SQL Server di inviare notifiche e-mail per gli avvisi di SQL Server Agent e quando i processi di SQL Server Agent non riescono
- Questo valore dipende dalla quantità di memoria fisica disponibile nel server
- Dipende anche da quali componenti di SQL Server sono installati
- Ecco alcuni valori di esempio:
- 96 GB di RAM totale:imposta la memoria massima del server su 87000
- 64 GB di RAM totale:imposta la memoria massima del server su 56000
- 32 GB di RAM totale:imposta la memoria massima del server su 27000
- Tutti i file di dati TempDB devono avere una dimensione di 4096 MB
- Imposta Autogrow a 1024 MB
- Utilizza DBAdmin con un indirizzo e-mail [email protected]
- Fai clic con il pulsante destro del mouse su Posta database e invia un messaggio di prova
- Avviso nomeserver – Errore Sev 19:errore irreversibile nella risorsa
- Avviso nomeserver – Errore Sev 20:errore irreversibile nel processo corrente
- Avviso nomeserver – Errore Sev 21:errore irreversibile nel processo di database
- Avviso nomeserver – Errore Sev 22 Errore irreversibile:sospetto di integrità della tabella
- Avviso nomeserver – Errore Sev 23:errore irreversibile sospetto di integrità del database
- Avviso nomeserver – Errore Sev 24:errore hardware irreversibile
- Avviso nomeserver – Errore Sev 25:errore irreversibile
- Avviso nomeserver – Errore 825:tentativo di lettura richiesto
- Avviso nomeserver – Errore 832:la pagina costante è cambiata
- Avviso nomeserver – Errore 855:rilevato un danneggiamento della memoria hardware non correggibile
- Avviso YourServerName – Errore 856:SQL Server ha rilevato un danneggiamento della memoria hardware, ma ha ripristinato la pagina
- Assicurati che ogni avviso agente abbia una risposta per avvisare l'operatore DBAdmin
- DBCC FREESYSTEMCACHE ("Piani SQL");
- Parte ogni sera alle 00:00
- http://ola.hallengren.com/
- Apri lo script MaintenanceSolution.sql mentre sei connesso all'istanza
- Modifica la variabile @BackupDirectory in N:\SQLBackups
- Esegui lo script per creare undici nuovi processi di SQL Server Agent
- Per ogni lavoro, vai alla finestra delle proprietà Notifiche e fai in modo che il lavoro invii un'e-mail al gruppo DBAdmin se il lavoro non riesce
- Per ogni lavoro, crea una pianificazione per quando verrà eseguito.
- Ecco un programma suggerito per i lavori:
- CommandLogCleanup domenica alle 00:00
- DatabaseBackup – SYSTEM_DATABASES – COMPLETO tutti i giorni alle 23:55
- DatabaseBackup – USER_DATABASES – DIFF tutti i giorni alle 12:00
- DatabaseBackup – USER_DATABASES – COMPLETO tutti i giorni alle 00:00
- DatabaseBackup – USER_DATABASES – LOG ogni ora
- DatabaseIntegrityCheck – SYSTEM_DATABASES sabato alle 7:55
- DatabaseIntegrityCheck – USER_DATABASES sabato alle 8:00
- IndexOptimize – USER_DATABASES domenica alle 20:00
- Pulizia del file di output domenica alle 00:00
- sp_delete_backuphistory domenica alle 00:00
- sp_purge_jobhistory domenica alle 00:00