Warnung wegen 8060 Bytes

13/11/2008 - 14:09 von Detlef | Report spam
Hallo,

habe eine Tabelle mit 80 Spalten.
Verlàngere ich eine Spalte von 256 auf 512 Bytes kommt die Warnung
Warnung: Die "Tabelle2"-Tabelle wurde erstellt, aber ihre maximale
Zeilengröße überschreitet das zulàssige Maximum von 8060 Bytes. INSERT oder
UPDATE für diese Tabelle schlàgt fehl, falls die daraus resultierende Zeile
die Größenbeschrànkung überschreitet.

Mir kommt das merkwürdig vor, denn so lange sind die einzelnen Spalten
nicht. Und wenn ich select sum(length()) from syscolumns where
object_name(id) = 'Tabelle2' berechnen lasse komme ich auf 1300 Bytes.

Deshalb wollte ich gerne wissen wie die Datenbank die Zeilengröße
ausrechnet.
Könnt Ihr mir da helfen?

Danke im voraus
Detlef
 

Lesen sie die antworten

#1 Detlef
13/11/2008 - 14:15 | Warnen spam
Hallo,

noch eine Zusatzinfo:
Wenn ich die Tabelle neu aufbaue, dann gibt's keine Warnung.

Daraus schließe ich, dass bei der Größenberechnung auch Spalten mitzàhlen,
die in der Zwischenzeit gelöscht wurden.Wie kann ich das ohne Löschen der
Tabelle korrigieren?

detlef


"Detlef" schrieb im Newsbeitrag
news:
Hallo,

habe eine Tabelle mit 80 Spalten.
Verlàngere ich eine Spalte von 256 auf 512 Bytes kommt die Warnung
Warnung: Die "Tabelle2"-Tabelle wurde erstellt, aber ihre maximale
Zeilengröße überschreitet das zulàssige Maximum von 8060 Bytes. INSERT
oder UPDATE für diese Tabelle schlàgt fehl, falls die daraus resultierende
Zeile die Größenbeschrànkung überschreitet.

Mir kommt das merkwürdig vor, denn so lange sind die einzelnen Spalten
nicht. Und wenn ich select sum(length()) from syscolumns where
object_name(id) = 'Tabelle2' berechnen lasse komme ich auf 1300 Bytes.

Deshalb wollte ich gerne wissen wie die Datenbank die Zeilengröße
ausrechnet.
Könnt Ihr mir da helfen?

Danke im voraus
Detlef







Ähnliche fragen