[MS SQL] Problem z dlugoscia wiersza
Moczul - 15-06-2006 00:33
[MS SQL] Problem z dlugoscia wiersza
Witam!
Mam powazny problem z rzekoma iloscia danych w wierszu ktora maksymalnie moze wynosic 8060 bajtow. Sytuacja wyglada nastepujaco: Mam tabele w ktorej kilka kolumn jest stalych VARCHAR 30 natomiast pozostale kolumny sa dynamicznie (INT) dodawane lub usuwane z tabeli, a ich ilosc jest rozna i nieprzewidywalna ale zwykle oscyluje w graniczach 100 do 150. Problem polega na tym, ze co pewien czas przy dodawaniu kolumny wyskakuje mi blad: "Insert **** failed because the row size would be 8062, including internal overhead. This exceeds the maximum allowable table row size, 8060."
Po obliczeniu wszystkich kolumn ni w zab nie wychodzi nawet 1000 bajtow ! wiec skad ten blad ? Nie pomaga shrinkowanie bazy, skutkuje jedynie usuniecie wszystkich dynamicznych kolumn ale to rozwiazanie iscie spartanskie :( Jak sie uporac z ta upierdliwa materia ?
pozdrawiam moczul
Alwik - 15-06-2006 00:34
> > Mam powazny problem z rzekoma iloscia danych w wierszu ktora maksymalnie > moze wynosic 8060 bajtow. > Sytuacja wyglada nastepujaco: > Mam tabele w ktorej kilka kolumn jest stalych VARCHAR 30 natomiast pozostale > kolumny sa dynamicznie (INT) dodawane lub usuwane z tabeli, a ich ilosc jest > rozna i nieprzewidywalna ale zwykle oscyluje w graniczach 100 do 150. > Problem polega na tym, ze co pewien czas przy dodawaniu kolumny wyskakuje mi > blad: > "Insert **** failed because the row size would be 8062, including internal > overhead. This exceeds the maximum allowable table row size, 8060." > > Po obliczeniu wszystkich kolumn ni w zab nie wychodzi nawet 1000 bajtow ! > wiec skad ten blad ? > Nie pomaga shrinkowanie bazy, skutkuje jedynie usuniecie wszystkich > dynamicznych kolumn ale to rozwiazanie iscie spartanskie :( > Jak sie uporac z ta upierdliwa materia ? >
A mozesz napisac w jaki sposob dodajesz te 'dynamiczne' kolumny - moze tutaj pies pogrzebany :)
Alwik
Grzegorz - 18-06-2006 00:44
Alwik napisał(a): >> Mam powazny problem z rzekoma iloscia danych w wierszu ktora maksymalnie >> moze wynosic 8060 bajtow.
>> "Insert **** failed because the row size would be 8062, including internal >> overhead. This exceeds the maximum allowable table row size, 8060." >> >> Po obliczeniu wszystkich kolumn ni w zab nie wychodzi nawet 1000 bajtow ! >> wiec skad ten blad ? >> Nie pomaga shrinkowanie bazy, skutkuje jedynie usuniecie wszystkich >> dynamicznych kolumn ale to rozwiazanie iscie spartanskie :( >> Jak sie uporac z ta upierdliwa materia ? >> > > A mozesz napisac w jaki sposob dodajesz te 'dynamiczne' kolumny - moze tutaj > pies pogrzebany :)
Info jest od znajomych, ktorzy uzywaja MS SQL w swoich aplikacjach.
W MS SQL 2000 jest blad, ktory powoduje, ze rozmiar wiersza nigdy nie jest zmniejszany (np. po usunieciu kolumny).
Ale nie umiem wygooglowac takiego wyjasnienia.
A info uzyskalem, gdy sam mialem *dokladnie* taki sam problem i zapytalem o mozliwe przyczyny.
Koledzy stwierdzili tez, ze MS SQL 2005 tego bledu juz nie posiada.
Gdyby udalo Ci sie dotrzec do zrodla, ktore potwierdzaloby powyzsze twierdzenie to podziel sie zrodlem informacji na grupie.
-- Grzegorz
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?=
[Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?=
=?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
mysql i mysql-front, problem
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|