Files mdf estremamente grande

venerdì 20 aprile 2012 - 16.02

Bubblebin01 Profilo | Newbie

Buongiorno a tutti ho importato in un database SQL server oltre 300 tabelle, proveneienti da da database diversi ed aministrati da applicativi diversi.

Il file di database ha assunto delle dimensioni gigantesche, oltre i 100 Gb. Le interrogazioni risultano essere molto lente. Vorrei sapere se la causa della lentezza sia dovuta anche alle dimensioni del file mdf.
Vorrei sapere, nel caso le dimensioni siano una causa, sarebbe possibile distribuire le tabelle dello stesso database su più file fisici?

iif Profilo | Expert

Prova a compattare il db ed a riorganizzare eventuali indici.

Bubblebin01 Profilo | Newbie

La compattazione è già sta fatta, organizzare gli indici, è una condizione necessaria però,forse, potrebbe essere non sufficente.

Poichè tale operazione potrebbe richiedermi molto tempo, parliamo di centinaia di tabelle delle quali potrei anche non sapere tutte le relazioni e inoltre queste tabelle sono periodicamente distrutte e ricreate e popolate con i dati aggiornati, sto ricercando un piano B nel caso la creazione degli indici non mi dia i risultati attesi.

La mia idea di distribuire le tabelle su files fisici diversi nasce da una considerazione, forse banale ma ve la espongo:
Quando un client esegue una query, il server SQL per reperire i dati deve caricare in memoria ram il file fisico del database (100 Gb). Distribunedo le tabelle su files fisici diversi, forse, sql server caricherebbe solo il file o i files che contengono le tabelle coinvolte dalla query diminuendo drasticamente la memoria ram occupata.

Di conseguenza avendo più Ram a disposizione per l'elaborazione le prestazioni della macchina su cui risiede SQL server sarebbero migliori rispetto ad una che invece ha l'intera Ram occupata.

Vi chiedo nel caso la mia osservazione sia giusta dove reperire informazioni per poter distribuire le tabelle di uno stesso database sql server su files fisici diversi

iif Profilo | Expert

Se il problema è la lentezza, hai partizionato il tempdb?

alx_81 Profilo | Guru

Ma tutte le risposte sono lente?
Stai parlando di che tipo di query? Letture? Scritture?
Sicuro di aver fatto un'analisi approfondita degli indici che utilizzi? Hai solo i cluster di default oppure ne hai scritti dei tuoi?
Hai query che non scalano perchè considerano troppi dati?
In che modo ottieni lentezze? Sul client? Server to server?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5