Vantaggi della creazione di un database SQL Server come sola lettura?


8

Sto usando un database di report, che per tutti gli scopi pratici è un database di sola lettura. Vengono creati dati e report dinamici vengono generati e visualizzati su questo database.

Stavo pensando di rendere questo database di sola lettura.

Alcune delle cose che vorrei chiedere riguardo ai database di sola lettura sono

  1. Solo i dati sono di sola lettura? Possiamo ancora creare indici o viste su questo database?
  2. Quali sono i vantaggi in termini di prestazioni dell'utilizzo di un database di sola lettura? ad es. SELEZIONA le query usando blocchi condivisi, ecc ...
  3. C'è qualche svantaggio nell'utilizzare un database di sola lettura?
  4. Ci sono delle migliori pratiche da seguire durante l'utilizzo di database di sola lettura?

Risposte:


16
  1. Non è possibile apportare modifiche allo schema quando il database è di sola lettura ma è possibile inserire tutte le tabelle utente in un nuovo gruppo di file e contrassegnarlo come sola lettura.
  2. Puoi aspettarti un modesto vantaggio in termini di prestazioni dall'assenza di blocco.
  3. Nelle versioni di SQL Server precedenti al 2012 le statistiche non possono essere create o aggiornate automaticamente su database di sola lettura.
  4. Prima di farlo leggere, potresti anche rimuovere tutta la frammentazione logica e aumentare la densità della pagina il più in alto possibile. Eventuali impostazioni non predefinite FILL_FACTORnon saranno utili in un ambiente di sola lettura. Inoltre, crea / aggiorna le statistiche che potrebbero essere utili per le SELECTquery se nella versione <2012.

1 e 4, grandi idee.
Mark Storey-Smith,

9
  1. L'intero database è di sola lettura, quindi non è possibile aggiungere indici o viste.
  2. Non è richiesto alcun blocco, quindi non vengono presi blocchi per qualsiasi query diversa da un blocco del database condiviso. Ovviamente significa che non si verificherà alcun blocco.
  3. Non come tale no.
  4. Nessuno che io possa suggerire.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.