2015-04-05 7 views
7

Serwer SQL przechowuje dane na stronach o rozmiarze 8k (8192) bajtów. Na stronie danych zarezerwowano 96 bajtów dla nagłówka strony. Biorąc pod uwagę maksymalną dozwoloną pojemność 8060 bajtów dla strony danych, pozostało jeszcze 36 bajtów. Ale nie mogłem znaleźć żadnego odniesienia mówiącego dokąd ten 36-bajtowy blok idzie.Serwer SQL: błąd rozmiaru strony danych: 8060 + 96 bajtów jest nadal mniejszych niż 8 tys. Bajtów

Każda pomoc?

+7

Zobacz [znakomity post Paula Randala na ten temat] (http://www.sqlskills.com/blogs/paul/inside-the-storage-engine-anatomy-of-a-page/) - oprócz 96 bajtów nagłówek na stronie, każda strona wymaga również miejsca na * tablicę slotów * na końcu strony zajmującą trochę miejsca. Lub [zobacz ten wpis SImple-Talk na stronie wewnętrznej] (https://www.simple-talk.com/sql/database-administration/sql-server-storage-internals-101/) –

+1

@marc_s Jeśli pozostałe 32 bajty trafiają do tablicy slotów, wtedy każda strona nie może zawierać więcej niż 16 wierszy, ponieważ każdy element tablicy zajmuje 2 bajty, co nie jest poprawnym założeniem. Co więcej, w SimpleTalk [link] (https://www.simple-talk.com/sql/database-administration/sql-server-storage-internals-101/) znajduje się obraz przedstawiający anatomię strony, która wyraźnie stwierdza Ciało zawiera układ slotów. – Hans

+3

http://dba.stackexchange.com/q/15053/3690 –

Odpowiedz

0

Nie określono stałego rozmiaru dla macierzy offsetu i odstępu między wierszami.

Nagłówek strony zajmuje pierwsze 96 bajtów każdej strony danych (, pozostawiając 8 096 bajtów dla danych, narzutu rzędów i przesunięć wierszy). Poza tym maksymalny rozmiar pojedynczego wiersza danych może wynosić 8 060 bajtów.

Liczba wierszy przechowywanych na danej stronie zależy od struktury tabeli i przechowywanych danych. Tabela ze wszystkimi kolumnami o stałej długości zawsze może przechowywać taką samą liczbę wierszy na stronę; Wiersze o zmiennej długości mogą przechowywać tyle wierszy, ile zmieści się na podstawie faktycznej długości wprowadzonych danych.

Na przykład strona może zawierać więcej niż 19 wierszy, z których każdy ma rozmiar 403 bajtów. W tym przypadku rozmiar tablicy slotów wynosiłby 38 bajtów.

Powiązane problemy