The dative case marks the indirect object of a verb, but your example does not have a verb.
You may think it is a shortened form.
Please look at this examples, with a verb:
verb
|
Сколько исполнилось тебе лет?
Сколько дают тебе лет?
Сколько было тебе лет?
Сколько стукнуло тебе лет?
Сколько осталось тебе лет до пенсии?
The examples given are not in the literary forms, but still in a valid form, for the sake of explanation. Their literary forms are:
Сколько лет тебе исполнилось? или, Сколько тебе лет исполнилось?
Сколько тебе лет дают?
Сколько лет тебе было? или, Сколько тебе было лет?
Сколько тебе стукнуло лет? или, Сколько тебе стукнуло?
Сколько тебе осталось лет до пенсии?
__ Update __
Let us consider more interengaged examples for both langs.
How young were you? | original phrase
Как молоды были вы? | morpheme-by-morpheme glosses
"Насколько молоды вы были?" | literary, idiomatic translation
how young were you (when it happened)?
"Насколько вы были молоды (когда это случилось)?"
Now, we're switching from "young" to "old":
How old were you? | original phrase
как старый быть ты | vocab. forms
Насколько стар был ты? | morpheme-by-morpheme glosses
"Сколько тебе было лет?" | literary, idiomatic translation
All three together:
How old were you? Сколько тебе было лет?
How old are you? Сколько тебе лет? (*)
How old will you be? Сколько тебе будет лет?
In Russian, by default, if a scenario would need to be written for the Reality, usually we do not use the verb есть
(*), but it is sometimes also used for stylistic amplification. Such a redundancy used to bringing a hints, and not in line with standard usage patterns.
Thus, returning to the Q: Why there is Dative for ты.
A life is the gift from God/Nuture to humans, which measured in a year. The Dative case (по-русски дательный падеж, от глагола дать) is a grammatical case generally used to indicate the noun to which something is given, i.e. to addressee, destination.
"he gave the girl a gift" = "he gave a gift to the girl";
└────────┘
the girl is addressee.
He gave me his heart, so I gave him mine | original phrase
Он дать|P я его сердце, так я дать|P.F он|DAT мой|N | vocab. forms with grammatical labels
Он дал мне его сердце, так я дала ему своё | morpheme-by-morpheme glosses
Он отдал мне своё сердце, а я отдал(а) ему своё." | literary, idiomatic translation
Here me=мне and him=ему are addressee.
see The Leipzig Glossing Rules for list of standard abbreviations
I just received a call
я|DAT
"Мне только что звонили."
I am very sorry to hear
я|DAT
"Мне очень жаль это слышать."
Let me stay here, and be a servant
я|DAT
"Позвольте мне остаться здесь и быть вашим слугой."
He ought now to have been at school
он|DAT
"Ему следовало сейчас быть в школе."
How old are you?
ты|DAT
"Сколько тебе лет?"
If we have the Dative, this marks addressee.