Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

MS SQL Server Forum


Alles zum Thema Microsoft SQL Server — Q & A zu Microsoft SQL Server 2000 / 2005 / 2008 Architektur, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 04.01.2012, 14:30   #1
Board Veteran
 
Offline
Registriert seit: 01-2004
Beiträge: 760
SQL - DB in unterschiedliche Dateien splitten

MSSQL Server 2008 R2 SP1 (Standard)

Ist es möglich bei obigen MSSQL eine Datenbank in mehrere Dateien zu splitten und einzelne Tabellen bestimmten Dateien zuzuweisen?

Gruß,
Peter
    Mit Zitat antworten
Alt 04.01.2012, 14:32   #2
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

ja, das ist möglich.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 04.01.2012, 14:36   #3
Moderator
 
Benutzerbild von Dr.Melzer
 
Offline
Registriert seit: 05-2001
Ort: München
Beiträge: 23.334
Die Frage ist jetzt nur was du genau vor hast.

Datenbank splitten um des Splitten willens wird wohl nicht dein Ziel sein.

Signatur
Never argue with an idíot, they drag you down to their level and beat you with experience!

    Mit Zitat antworten
Alt 04.01.2012, 16:05   #4
Board Veteran
 
Offline
Registriert seit: 01-2004
Beiträge: 760
Wir haben Performanceprobleme mit unserem MSSQL. Ich suche jetzt Möglichkeiten die Geschwindigkeit zu erhöhen - erstmal nur theoretisch.

Ein paar technische Daten zum MSSQL Server:
  • 1x Quad-Core mit HyperV = 8 Kerne in der VM
  • 22GB RAM
  • HDD auf SAN mit Raid10.
Der Windows Server ist eine VM, die auf einem eigenen Hardware Server sitzt und diesen Host nicht mit anderen VMs teilen muss. Eine unserer Vermutungen ist, dass das SAN evtl zu langsam ist. Deshalb die theoretische Idee, der VM eine weitere virtuelle Platte zu spendieren, die auf einem eigenen SAN liegen sollte und somit völlig von der ursprünglichen Platte getrennt ist. Die Platte soll dann für einen Teil der Datenbankdateien genutzt werden.

Geändert von passt (04.01.2012 um 16:25 Uhr).
    Mit Zitat antworten
Alt 05.01.2012, 08:58   #5
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

ihr solltet solche Aktionen nicht aufs Geratewohl unternehmen. Bei SQL Server (und anderen Datenbanken) gibt es hunderte von Faktoren, die die Performance beeinflussen können. IO gehört sicher als wesentlicher Punkt dazu, ist aber längst nicht immer die Ursache für Probleme.

Sind z.B. DB und Logs getrennt? Wie sieht es mit der Nutzung der TempDB aus und wo liegt die? Sind alle notwendigen Indizes vorhanden? Gibt es Sperrkonflikte oder andere Verzögerungen durch die Applikationslogik? Ist das SAN korrekt angebunden und vom LAN getrennt? ... usw. usf.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 05.01.2012, 09:29   #6
Expert Member
 
Offline
Registriert seit: 07-2005
Beiträge: 11.339
Aus Erfahrung kann ich sagen, dass es bei Datenbanken sehr viel bringt auf die jeweilige Query optimierte Indizies zu erstellen. Leider packen das Entwickler oft nicht, weil Hibernate oder ähnliche API's benutzt werden.

Siehe dazu How To: Optimize SQL Indexes

BTW: Wie viele Prozessoren hat denn die Hardware ? Du darfst auf keinen Fall sol viele VCPU's zuordnen, wenn die Hardware nur 8 Cores hat.
Je nachdem, was der Host sonst noch macht, 2 bis max. 4 vCPU's

Bei Nils gab es (glaube ich) einen Link zum Thema, wie viele VCPU's eine VM haben sollte...

Signatur
Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!

    Mit Zitat antworten
Alt 05.01.2012, 12:14   #7
Board Veteran
 
Offline
Registriert seit: 01-2004
Beiträge: 760
@NilsK
Vorab, ich werde keinenfalls den MSSQL betreffende Lösungsvorschläge selbsttätig ausführen. Dafür habe ich zu wenig Erfahrung damit.

Der MSSQL Server hat seine beiden Platten auf ein und dem selben Raid des SANs liegen. Damit sind die Dateien für DB, T-Log und TempDB nicht getrennt. Ich weiß, dass das die Vorgaben zur optimierten Installation eines MSSQL durch Microsoft sind (Dokument habe ich jetzt nicht zur Hand).

Für Indizierungsprobleme haben wir uns schon einen Profi für MSSQL (mit Dynamics NAV!) ins Haus geholt. Er konnte auch einiges erkennen und ändern, aber eine dramatische Besserung hat das nicht gebracht. Allerdings ist seine Aussage, dass die Performance des virtualisierten Windows Servers mit MSSQL schon sehr gut ist.

Ob allerdings in NAV Probleme liegen, die nur die Anwendungsentwickler erkennen und lösen können, haben wir noch nicht geprüft.

@zahni
Bzgl der CPUs habe ich mich ein wenig vertan. Der Host hat 2x Quadcores. Hyperthreading (nicht HyperV!) ist abgeschaltet. Der VM des MSSQL sind alle 8x CPU-Kerne zugeordnet. Das sollte problemlos sein, da der Host keine weiteren VMs laufen hat. MSSQL in der Standardversion verwendet nur 4 Kerne, was man klar am Taskmanager erkennen kann. Die restlichen 4 Kerne dümpeln nur vor sich hin.
    Mit Zitat antworten
Alt 05.01.2012, 13:09   #8
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

Zitat von passt Beitrag anzeigen
Der MSSQL Server hat seine beiden Platten auf ein und dem selben Raid des SANs liegen.
das wäre Punkt 1, den man ändern sollte. Erfordert ggf. Umkonfiguration im SAN und in den Speicherpfaden der DB, aber nicht in der Datenbanklogik.

Damit sind die Dateien für DB, T-Log und TempDB nicht getrennt. Ich weiß, dass das die Vorgaben zur optimierten Installation eines MSSQL durch Microsoft sind (Dokument habe ich jetzt nicht zur Hand).
Da fehlt zwischen "dass das" und "die Vorgaben" aber ein "nicht", oder?

Der VM des MSSQL sind alle 8x CPU-Kerne zugeordnet. Das sollte problemlos sein, da der Host keine weiteren VMs laufen hat.
Nein. Der Host hat auch selbst was zu tun und braucht dafür CPU-Leistung. Das ist bei allen Virtualisierern so (wie sollte es auch anders sein?), bei Hyper-V und Verwandten aber besonders.

faq-o-matic.net » Hyper-V-Sizing: Virtuelle und echte CPUs

MSSQL in der Standardversion verwendet nur 4 Kerne, was man klar am Taskmanager erkennen kann. Die restlichen 4 Kerne dümpeln nur vor sich hin.
Dann gibst du der VM natürlich auch nicht mehr als vier vCPUs. Siehe obiger Artikel.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 05.01.2012, 19:13   #9
Board Veteran
 
Offline
Registriert seit: 01-2004
Beiträge: 760
Nein, mir ist schon bekannt, dass bei MSSQL Installation die drei Bereiche getrennt werden sollten. Bei der Installation hatte ich allerdings nichts zu sagen, muss jetzt aber die Performance Probleme ausbügeln.

Bzgl VM hast du fälschlicherweise angenommen, dass ich HyperV einsetze. Es ist aber VMware ESX. Andererseits gehe ich davon aus, dass VMware und HyperV bzgl der Verwendung von vCPUs sich analog verhalten und werde die vCPUs der Maschine auf vier reduzieren.
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mit BAT dateien splitten simgel Windows Forum — Allgemein 6 13.07.2006 09:34
2K - per script Dateien in unterschiedliche Verzeichnisse verteilen mfdoom Windows Forum — LAN & WAN 2 30.09.2005 14:57
Eigene Dateien je Benutzer auf unterschiedliche Server umleiten tango Windows Server Forum 3 17.03.2005 19:50
Dateien- Splitten Arachnophobia Tipps & Links 0 01.06.2004 17:17
Grosse Dateien splitten unter Windows Saber_Rider Windows Forum — Allgemein 3 14.04.2004 22:52


Alle Zeitangaben in MEZ/CET. Es ist jetzt 19:54 Uhr. Seite generiert in 0,040 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang