Avatar billede Lasse Novice
08. oktober 2001 - 20:32 Der er 1 løsning

forebyggelse af fejl

Jeg får nedenstående warning når jeg vha. sql query analyzer prøver at indsætte noget i tabellen acervodocumental... Hvordan ændrer man MAX row size i MSSQL?

Warning: The table \'AcervoDocumental\' has been created but its maximum row size (9787) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
Avatar billede torbenkoch Nybegynder
08. oktober 2001 - 20:38 #1
Det er en warning, der kommer hvis man har oprettet en tabel, hvor man potentielt kan komme til at indsætte en række, der er længere end 8060 bytes. Det kan man komme til, hvis man f.eks. laver 5 varchar(2000) felter.

I og for sig er det ikke en fejl, men netop en advarsel, som man dog lige bør kigge på. Det er nemlig ikke muligt at lave en ROW SIZE bredere end dette.

Der er to måder at omgå problemet på:

1. Splitte tabellen op i flere tabeller, besværligt.

2. Ændre nogle char/varchar felter til text felter i stedet. Disse fylder kun 16 bytes i tabellen, men er noget mere ineffektive at håndtere, men ikke særligt besværlige.

Hvis man ved med sig selv, at man aldrig vil komme til at indsætte en række, der er i den størrelse, kan man se roligt på advarslen og simpelthen bare ignore den.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester