Artikel-ID: 827968 - Geändert am: Dienstag, 20. November 2007 - Version: 4.7

Schätzen die Größe einer SQL Server CE oder SQL Server 2005 Mobile Edition-Datenbank

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.

Auf dieser Seite

Alles erweitern | Alles schließen

Zusammenfassung

Dieser Artikel beschreibt, um die Größe einer Microsoft SQL Server 2000 Windows CE Edition-Datenbank oder einer Microsoft SQL Server 2005 Mobile Edition-Datenbank zu schätzen. Diese Schätzung kann nicht jedoch aufgrund der folgenden Gründe mit echten Genauigkeit bestimmt werden:
  • Die Größe des der Systemtabelle kann variieren, insbesondere wenn Sie SQL Server CE oder SQL Server 2005 Mobile Edition Synchronisierung verwenden.
  • Die Vorkalkulation berücksichtigt nicht für den Speicherplatz, die durch Indizes ausgeführt wird.
  • Aus Gründen der Einfachheit die Vorkalkulation wird davon ausgegangen zusammenhängenden Zeile speichern (d. h. nachdem einer Datenbank komprimieren). SQL Server CE oder SQL Server 2005 Mobile Edition speichert Zeilen auf 4 KB-Seiten, und er teilt nicht Zeilen Seiten außer für die Datentypen Text und Ntext . Da die Seiten nicht immer ausgefüllt sind, ist einigen ungenutzten Speicherplatz auf einzelnen Seiten vorhanden. Darüber hinaus ist wenn weist Zeilen auf einer Seite, und einige dieser Zeilen gelöscht werden, den Speicherplatz für gelöschten Zeilen nicht mehr zugegriffen bis die Datenbank komprimiert wird. Wenn alle Zeilen in einer Seite gelöscht werden, wird die Seite später freigegeben.
  • Die Länge des einige Datentypen möglicherweise die Daten abhängig, die Sie enthalten, einschließlich der Datentypen Nvarchar und Ntext . Wenn Sie die Größe einer Spalte zu schätzen, basiert die Vorkalkulation auf die maximalen Spaltengröße, nicht auf die tatsächliche Größe der Daten, die in der Spalte gespeichert ist. Beispielsweise wenn eine Spalte den Datentyp von nvarchar(50) hat und einen Wert von "Hello" aufweist, die tatsächliche Größe der Spalte werden 5 Bytes, aber die geschätzte Größe beträgt 50 Byte.

Weitere Informationen

Wenn Sie die Größe einer Tabelle oder einer Datenbank schätzen, sollten Sie die folgende Informationen:
  • Jede Zeile in der Tabelle verfügt über ein Overhead 6 Bytes.
  • Jede Spalte in der Tabelle besitzt einen Aufwand von 1 Byte plus 1 Byte für alle 256 Bytes Zeile Speicher.
  • Datentypen fester Länge haben einen Aufwand von 1 Byte für jede Spalte, und der Aufwand wird auf das nächste höhere Byte gerundet.
  • Zeichenfolge der Länge 0 (null) Spalten belegen 1 Byte in der Zeile.
  • SQL Server CE oder SQL Server 2005 Mobile Edition speichert Daten in Unicode-Format. Wenn die Sortierung-Zeichenfolge, die zum Erstellen der Datenbank verwendet wird ein Doppelbyte-Zeichensatz (DBCS) Sprache (z. B. Kanji-Zeichen) festgelegt ist, wird die Größe der Zeichenfolgenspalten verdoppelt, da jedes Byte als 2 Byte gespeichert wird. Wenn die Sortierung-Zeichenfolge, die zum Erstellen der Datenbank verwendet wird ein Single-Byte-Zeichensatz (SBCS) Sprache (z. B. Deutsch)) festgelegt ist, entfernt SQL Server CE führende nicht verwendete Byte. Als Ergebnis SBCS Sortierung Zeichenfolgen werden als 1 Byte für jedes Zeichen geschätzt.
  • Wenn der SQL Server CE-Tabellen oder SQL Server 2005 Mobile Edition-Tabellen in der Mergereplikation verwendet werden, gibt es drei Systemspalten für jede Tabelle.
  • Wenn der SQL Server CE-Tabellen oder SQL Server 2005 Mobile Edition-Tabellen in Remote Access (RDA), 2 Systemspalten für jede Tabelle vorhanden sind.
In der folgende Tabelle werden Datentypen in SQL Server CE und der Speichergröße für jeden Datentyp beschrieben.
Tabelle minimierenTabelle vergrößern
TypBeschreibung
bigint Integer (ganze Zahl) Daten von-2 ^ 63 (- 9,223,372,036,854,775,808) bis 2 ^ 63-1 (9.223.372.036.854.775.807). Die Speichergröße beträgt 8 Byte.
ganze Zahl Integer (ganze Zahl) Daten von-2 ^ 31 (-2.147.483.648) bis 2 ^ 31-1 (2.147.483.647). Die Speichergröße beträgt 4 Byte.
smallint Ganzzahlige Daten von-32.768 bis 32.767. Die Speichergröße beträgt 2 Bytes.
tinyint Ganzzahlige Daten von 0 bis 255. Die Speichergröße beträgt 1 Byte.
Bit Ganzzahlige Daten mit einem Wert von 1 oder 0.
Numeric (p, s) Mit fester Genauigkeit und Skalierung-numerische Daten von-10 ^ 38 + 1 bis 10 ^ 38? 1. p gibt Genauigkeit und zwischen 1 und 38 variieren kann. s gibt an, Skalierung und kann variieren zwischen 0 und p. verwendet numerische immer 19 Bytes unabhängig von der Genauigkeit und Dezimalstellenanzahl.
Money Währungsdatenwerte von-2 ^ 63 (- 922,337,203,685,477.5808) bis 2 ^ 63-1 (922.337.203.685.477,5807) mit einer Genauigkeit von einem Zehntausendstel einer monetären Einheit. Die Speichergröße beträgt 8 Byte.
float Gleitkomma-Daten von - 1.79E + 308 bis 1,79E + 308 Zahl der Speicher beträgt 8 Byte.
Real Daten mit unverankerter Genauigkeit Anzahl von - 3.40E + 38 bis 3,40E + 38.
DateTime Datums- und Zeitdaten von January 1, 1753 zu 31. Dezember 9999 mit einer Genauigkeit von drei - Hundertstel von einem zweiten oder 3.33 Millisekunden. Werte werden Inkremente der.000, Abschnitten oder 007 Millisekunden gerundet. Gespeichert als zwei 4-Byte-Ganzzahlen. Die ersten 4 Bytes speichern die Anzahl der Tage vor oder nach dem Basisdatum (01.01.1900). Das base Datum ist das Systemdatum Verweis. Werte für Datetime , die älter sind als January 1, 1753 sind nicht zulässig. Die 4 Bytes speichern die Tageszeit als die Anzahl der Millisekunden nach Mitternacht. Sekunden haben gültigen Bereich von 0 bis 59.
nationale character(n) Synonym: nchar(n) Unicode-Daten fester Länge mit einer maximalen Länge von 255 Zeichen. Die Standardlänge ist 1. Die Speichergröße in Bytes, ist zwei Mal die Anzahl der eingegebenen Zeichen.
National Character-varying(n) Synonym: nvarchar(n)"Unicode-Daten variabler Länge mit einer Länge von 1 bis 255 Zeichen. Die Standardlänge ist 1. Die Speichergröße in Bytes, ist zwei Mal die Anzahl der eingegebenen Zeichen.
ntext Unicode-Daten variabler Länge mit einer maximalen Länge von (2 ^ 30-2) / 2 (536,870,911) Zeichen. Die Speichergröße in Bytes, ist zwei Mal die Anzahl der eingegebenen Zeichen.
Binary(n) Binärdaten fester Länge mit einer maximalen Länge von 510 Bytes. Die Standardlänge ist 1.
varbinary(n) Binärdaten variabler Länge mit einer maximalen Länge von 510 Bytes. Die Standardlänge ist 1.
Bild Binäre Daten variabler Länge mit einer maximalen Länge von 2 ^ 30 ? 1 (1.073.741.823) Byte.
uniqueidentifier EINE GUID. Die Speichergröße beträgt 16 Bytes.
IDENTITY [(s, i)]Dies ist eine Eigenschaft einer Datenspalte keinem unterschiedlichen Datentyp. Für Identitätsspalten können nur Datenspalten der ganzzahligen Datentypen verwendet werden. Eine Tabelle kann nur eine Identitätsspalte enthalten. Ein Ausgangswert und Schrittweite können angegeben werden, und die Spalte kann nicht aktualisiert werden. s (Seed) = Anfangswert i (Inkrement) = Inkrementwert.
ROWGUIDCOLDies ist eine Eigenschaft einer Datenspalte keinem unterschiedlichen Datentyp. Dies ist eine Spalte in einer Tabelle, die mithilfe den Uniqueidentifier -Datentyp definiert ist. Eine Tabelle kann nur eine ROWGUIDCOL-Spalte besitzen.

Wenn Sie SQL Server 2005 Mobile Edition verwenden

Weitere Informationen zu den Datentypen in SQL Server 2005 Mobile Edition finden Sie unter "Datentypen" in der SQL Server 2005-Onlinedokumentation.

In den folgenden Szenarien wird die Größe einer Tabelle je nach Datentyp der Spalte, die Anzahl der Zeilen, die Sortierung und den Typ der Synchronisierung geschätzt.

1. Szenario

In diesem Szenario wird die Größe der Tabelle myTableA1 geschätzt. Die Tabelle enthält die folgenden Merkmale:
  • Die Tabelle myTableA1 hat 10.000 Zeilen.
  • In der Tabelle myTableA1 ist mit englischen Standardsortierung erstellt und verwendet die Tabelle keine Form von SQL Server CE-Synchronisierung.
In der folgende Tabelle werden den Typ der jede Spalte in der Tabelle myTableA1 und die Anzahl der Bytes, die von jeder Spalte belegt sind beschrieben.
Tabelle minimierenTabelle vergrößern
SpalteTypGröße in Bytes Aufwand bytes
1 nvarchar 251
2 nchar 251
3 bigint 81
4 DateTime 81
nicht verfügbar Verwaltungsaufwand nicht verfügbar6
Summen6610
Die Gesamtgröße der jede Zeile in der Tabelle myTableA1 ist 76 (66 + 10) Bytes. Da die Tabelle über 10.000 Zeilen verfügt, ist die Gesamtgröße der Tabelle myTableA1 760,000 Bytes (76 * 10, 000). Da die Berechnung die maximale Größe des Nvarchar -Datentyp berücksichtigt, ist dies nur eine Schätzung der Tabellengröße. Die tatsächliche Größe der Tabelle kann der Wert abhängig, die in den Nvarchar -Datentyp gespeichert wird.

Hinweis: Wenn die Datenwerte in einer Spalte zum erheblich variieren erwartet werden, müssen Sie Nvarchar -Datentyp verwenden, um die Datenbankgröße der zu verringern.

Szenario 2

In diesem Szenario wird die Größe der Tabelle myTableA2 geschätzt. Die Tabelle enthält die folgenden Merkmale:
  • myTableA2 -Tabelle weist Zeilen auf 91.
  • Die Tabelle myTableA2 ist mit englischen Standardsortierung erstellt, und die Tabelle wird in der Mergereplikation verwendet.
In der folgende Tabelle werden den Typ der jede Spalte in der Tabelle myTableA2 und die Anzahl der Bytes, die von jeder Spalte belegt sind beschrieben.
Tabelle minimierenTabelle vergrößern
SpalteTypGröße in Bytes Aufwand bytes
CustomerID nvarchar 51
Firma nvarchar 401
Kontaktperson nvarchar 301
ContactTitle nvarchar 301
Adresse nvarchar 601
Ort nvarchar 151
Region nvarchar 151
Postleitzahl nvarchar 101
Land nvarchar 151
Telefon nvarchar 241
Fax nvarchar 241
nicht verfügbar Zeile Aufwand nicht verfügbar6
nicht verfügbar Aufwand für mehr als 256 bytesnicht verfügbar1
nicht verfügbar ganze Zahl für die Replikation41
nicht verfügbar UniqueIdentifier für die Replikation161
nicht verfügbar binäre 241
Summen312 21
Die Gesamtgröße der einzelnen Zeilen der Tabelle myTableA2 ist 333 (312 + 21) Bytes. Da die Tabelle 91 Zeilen verfügt, ist die Gesamtgröße der Tabelle myTableA2 30,303 Bytes. Da die tatsächliche Größe der Zeichenfolge Spaltenwerte nicht bekannt ist, ist dieser Größe nur eine Schätzung.

Szenario 3

In diesem Szenario wird die Größe der Tabelle myTableA3 geschätzt. In der Tabelle beteiligt RDA und weist die folgenden Merkmale auf:
  • myTableA3 -Tabelle weist Zeilen auf 91.
  • Die myTableA3 -Tabelle mit englischen Standardsortierung erstellt wird, und diese Tabelle hat die Primärschlüsselspalten, da Sie als Teil einer der Systemspalten, die für RDA nachverfolgt verwendet werden.
In der folgende Tabelle werden den Typ der jede Spalte in der Tabelle myTableA3 und die Anzahl der Bytes, die von jeder Spalte belegt sind beschrieben.
Tabelle minimierenTabelle vergrößern
SpalteTypGröße in Bytes Aufwand bytes
CustomerID (PK) nvarchar 51
Firma (PK) nvarchar 401
Kontaktperson nvarchar 301
ContactTitle nvarchar 301
Adresse nvarchar 601
Ort nvarchar 151
Region nvarchar 151
Postleitzahl nvarchar 101
Land nvarchar 151
Telefon nvarchar 241
Fax nvarchar 241
nicht verfügbar Zeile Aufwand nicht verfügbar6
nicht verfügbar Aufwand für mehr als 256 bytesnicht verfügbar1
nicht verfügbar ganze Zahl für RDA41
nicht verfügbar binäre für RDA (4 Bytes für jede Spalte in den Primärschlüsselspalten plus Byte des Spaltenwerts, wenn der Primärschlüssel, andernfalls geändert ist, 1 Byte)53-1
Summen325-27320
Wenn der Primärschlüssel geändert wird, die Gesamtgröße der Tabelle ist 345 (325 + 20) Bytes für jede Zeile. Da die Tabelle myTableA3 91 Zeilen verfügt, ist die Größe der Tabelle 31,395 Bytes. Wenn der Primärschlüssel nicht geändert wird, die Gesamtgröße der Tabelle ist 293 (273 + 20) Bytes für jede Zeile. Da die Tabelle myTableA3 91 Zeilen verfügt, ist die Größe der Tabelle 26,663 Bytes. Da die tatsächliche Größe der Zeichenfolge Spaltenwerte nicht bekannt ist, ist dies nur eine Schätzung.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Windows CE Edition 2.0
  • Microsoft SQL Server 2000 Windows CE Edition 1.1
  • Microsoft SQL Server 2000 Windows CE Edition
  • Microsoft SQL Server 2005 Compact Edition
Keywords: 
kbmt kbtable kbdatabase kbinfo KB827968 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 827968  (http://support.microsoft.com/kb/827968/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.