2013-02-06 4 views
6

Ich arbeite an einem Projekt, das eine SQL Server Express-Datenbank verwendet, die anständig groß ist, und ich weiß, dass die Indizierung bestimmter Spalten/Tabellen ziemlich viel Speicherplatz beanspruchen kann.Werden Indizes für die Größenbeschränkung von 10 GB auf SQL Server Express gezählt?

Was ich nicht weiß, ist, ob der vom Index verwendete Speicherplatz gegen die Gesamtgröße der Datenbank zählt. Wenn jemand irgendwelche Einblicke hat, lass es mich wissen.

+3

Für eine 10-GB-Datenbank sind Sie sicher, dass sql-express das richtige Werkzeug ist? –

+3

Ja, die Indizes zählen. Tatsächlich zählt alles, was tatsächlich in der .MDF-Datenbank gespeichert ist. – RBarryYoung

+0

@BenjaminGruenbaum was empfehlen Sie stattdessen? Ich habe keine Zeit, den Dienst, der von der DB ausgeführt wird, umzufunktionieren, um mit einer anderen Datenbank-Engine zu arbeiten. Eine Volllizenz für MS SQL liegt wahrscheinlich außerhalb des Budgets für das Projekt, so dass es auch nicht wahrscheinlich ist zu fliegen. – PorcupineRending

Antwort

2

relational data zählt in Richtung der Grenze. Dies umfasst tatsächlich Indizes, aber keine FILESTREAM-Daten.

Die full list of limitations can be found on MSDN. Dies beinhaltet den Hinweis zu relationalen Daten.

+1

Indizes verwenden keine FILESTREAM-Spalten. Die Seite, die Sie verlinken, sagt auch nichts. Indizes zu relationalen Daten zählen eindeutig als relationale Daten. – RBarryYoung

+1

Entschuldigung, Full-Text-Indizierung verwendet FILESTREAM. – Fenton

1

Die Grenze ist wirklich für die Größe der MDF-Datei der Datenbank, also ja Ihre Indizes, sowie andere Datenbankobjekte, wie SQLCLR-Code, etc. enthalten. Ab SQL Server 2008 sind auch die Volltextindizes Teil der Datenbank, so dass sie auf das Limit zählen.

Ausgeschlossen sind die Daten, die im von Steve erwähnten FILESTREAM-Datentyp gespeichert sind, da FILESTREAM-Daten in separaten Dateien und nicht in der MDF-Datei gespeichert sind.

1

Ich habe ein Detail blogpost über die 10GB Größenbeschränkung in SQL Express geschrieben und wie Sie versuchen können, Ihre Datenbankgröße unter dem Limit zu halten. Wie von anderen in den Antworten oben erwähnt, fügen Indizes die Größe Ihrer Datenbank hinzu.

Sehen Sie sich meinen Blogpost und die SQL Server-Standardberichte an (verfügbar in SQL Server Management Studio), um die Größe Ihrer Indizes zu ermitteln. Sie können sehr groß sein, wenn Sie viele Indizes verwenden.