OVH Cloud OVH Cloud

Nombre de colonnes maxi dans une table

8 réponses
Avatar
Hervé R.
Bonjour,

Je voudrais savoir combien de colonnes maximum on peut avoir dans une table,
ma table doit avoir plus de 600 colonnes, mais lors de la création de la
table par SQL Enterprise Manager, je n'arrive pas à aller plus loin que 300
colonnes.
Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL server,
y'a-t'il un paramétrage à faire quelque part pour solutionner mon problème ?
Merci de vos réponses.

8 réponses

Avatar
Boss Hog
Salut
600 colonnes sa frise le délire lol, n'oublie pas la limitation des 8k
peut etre devrais tu songer à splitter ta table ?!
@+
Boss Hog
"Hervé R." <Herv wrote in message
news:
Bonjour,

Je voudrais savoir combien de colonnes maximum on peut avoir dans une


table,
ma table doit avoir plus de 600 colonnes, mais lors de la création de la
table par SQL Enterprise Manager, je n'arrive pas à aller plus loin que


300
colonnes.
Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL server,
y'a-t'il un paramétrage à faire quelque part pour solutionner mon problème


?
Merci de vos réponses.


Avatar
Hervé R.
Oui, ça frise le délire, mais je n'ai pas vraiment le choix, c'est une
migration de base de données et je ne peux pas toucher à la table sans
changer l'applicatif et comme je ne peux pas changer l'applicatif, je
devrais faire avec mes 600 colonnes...


"Boss Hog @tiscali.fr>" <bosshog<replace> a écrit dans le message de
news:
Salut
600 colonnes sa frise le délire lol, n'oublie pas la limitation des 8k
peut etre devrais tu songer à splitter ta table ?!
@+
Boss Hog
"Hervé R." <Herv wrote in message
news:
> Bonjour,
>
> Je voudrais savoir combien de colonnes maximum on peut avoir dans une
table,
> ma table doit avoir plus de 600 colonnes, mais lors de la création de la
> table par SQL Enterprise Manager, je n'arrive pas à aller plus loin que
300
> colonnes.
> Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL server,
> y'a-t'il un paramétrage à faire quelque part pour solutionner mon


problème
?
> Merci de vos réponses.




Avatar
Dominique Peralta
Et ça fait combien d'octets par enregistrement ?
Est-ce tu peux arranger le coup en jouant sur les varchar's ?
Es-tu en unicode, car dans ce cas, la limite tombe à 4000 caractères.

"Hervé R." a écrit dans le message de
news:419c9c86$0$24238$
Oui, ça frise le délire, mais je n'ai pas vraiment le choix, c'est une
migration de base de données et je ne peux pas toucher à la table sans
changer l'applicatif et comme je ne peux pas changer l'applicatif, je
devrais faire avec mes 600 colonnes...


"Boss Hog @tiscali.fr>" <bosshog<replace> a écrit dans le message de
news:
> Salut
> 600 colonnes sa frise le délire lol, n'oublie pas la limitation des 8k
> peut etre devrais tu songer à splitter ta table ?!
> @+
> Boss Hog
> "Hervé R." <Herv wrote in message
> news:
> > Bonjour,
> >
> > Je voudrais savoir combien de colonnes maximum on peut avoir dans une
> table,
> > ma table doit avoir plus de 600 colonnes, mais lors de la création de


la
> > table par SQL Enterprise Manager, je n'arrive pas à aller plus loin


que
> 300
> > colonnes.
> > Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL


server,
> > y'a-t'il un paramétrage à faire quelque part pour solutionner mon
problème
> ?
> > Merci de vos réponses.
>
>




Avatar
Hervé R.
Je suis en effet en unicode, ce doit être ça qui me pose problème, je vais
essayer de passer en varchar à la place de nvarchar pour voir...

En tout cas, merci des réponses.

Hervé R.

"Dominique Peralta" a écrit dans le message de
news:
Et ça fait combien d'octets par enregistrement ?
Est-ce tu peux arranger le coup en jouant sur les varchar's ?
Es-tu en unicode, car dans ce cas, la limite tombe à 4000 caractères.



Avatar
Philippe [MS]
Non, je confirme, il y a un nombre de colonne maxi !!! J'ai eu le même
problème la semaine dernière.

Phil.


"Hervé R." wrote in message
news:419ca4c4$0$1354$
Je suis en effet en unicode, ce doit être ça qui me pose problème, je vais
essayer de passer en varchar à la place de nvarchar pour voir...

En tout cas, merci des réponses.

Hervé R.

"Dominique Peralta" a écrit dans le message de
news:
> Et ça fait combien d'octets par enregistrement ?
> Est-ce tu peux arranger le coup en jouant sur les varchar's ?
> Es-tu en unicode, car dans ce cas, la limite tombe à 4000 caractères.
>




Avatar
Christophe Shaw [MS]
Bonjour,

Afin de na pas changer votre application tout en construisant un design plus
"propre" , la solution consiste peut-être à splitter effectivement la table
puis à créer une vue agregeant les tables résultantes. Vous reglerez
également le problème de la taille maximale d'une ligne (vous avez droit à
1024 colonnes dans une vue).

Christophe Shaw


"Hervé R." a écrit dans le message de news:
419c9c86$0$24238$
Oui, ça frise le délire, mais je n'ai pas vraiment le choix, c'est une
migration de base de données et je ne peux pas toucher à la table sans
changer l'applicatif et comme je ne peux pas changer l'applicatif, je
devrais faire avec mes 600 colonnes...


"Boss Hog @tiscali.fr>" <bosshog<replace> a écrit dans le message de
news:
Salut
600 colonnes sa frise le délire lol, n'oublie pas la limitation des 8k
peut etre devrais tu songer à splitter ta table ?!
@+
Boss Hog
"Hervé R." <Herv wrote in message
news:
> Bonjour,
>
> Je voudrais savoir combien de colonnes maximum on peut avoir dans une
table,
> ma table doit avoir plus de 600 colonnes, mais lors de la création de
> la
> table par SQL Enterprise Manager, je n'arrive pas à aller plus loin que
300
> colonnes.
> Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL
> server,
> y'a-t'il un paramétrage à faire quelque part pour solutionner mon


problème
?
> Merci de vos réponses.








Avatar
Fred BROUARD
non, c'est toujours une abération 600 colonnes.

Il suffit de prévoir plusieurs tables en relation 1:1 pour palier le problème.
La limite n'est pas le nombre de colonne, mais la taille de la ligne qui ne doit
pas excéder 8030 octets, soit 8030 caractères CHAR/VARCHAR ou 4015 caractères
UNICODE.

Mais en utilisant un blob on peut contourner ce problème => migrer les lignes du
texte dans des lignes de blob d'une table temporaire, puis seconde migration
vers la table de destination.

A +

Hervé a écrit:
Bonjour,

Je voudrais savoir combien de colonnes maximum on peut avoir dans une table,
ma table doit avoir plus de 600 colonnes, mais lors de la création de la
table par SQL Enterprise Manager, je n'arrive pas à aller plus loin que 300
colonnes.
Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL server,
y'a-t'il un paramétrage à faire quelque part pour solutionner mon problème ?
Merci de vos réponses.



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Boss Hog
Salut,
moi j'suis daccord avec ton idée de vue
@+
Boss Hog

"Christophe Shaw [MS]" wrote in message
news:
Bonjour,

Afin de na pas changer votre application tout en construisant un design


plus
"propre" , la solution consiste peut-être à splitter effectivement la


table
puis à créer une vue agregeant les tables résultantes. Vous reglerez
également le problème de la taille maximale d'une ligne (vous avez droit à
1024 colonnes dans une vue).

Christophe Shaw


"Hervé R." a écrit dans le message de news:
419c9c86$0$24238$
> Oui, ça frise le délire, mais je n'ai pas vraiment le choix, c'est une
> migration de base de données et je ne peux pas toucher à la table sans
> changer l'applicatif et comme je ne peux pas changer l'applicatif, je
> devrais faire avec mes 600 colonnes...
>
>
> "Boss Hog @tiscali.fr>" <bosshog<replace> a écrit dans le message de
> news:
>> Salut
>> 600 colonnes sa frise le délire lol, n'oublie pas la limitation des 8k
>> peut etre devrais tu songer à splitter ta table ?!
>> @+
>> Boss Hog
>> "Hervé R." <Herv wrote in message
>> news:
>> > Bonjour,
>> >
>> > Je voudrais savoir combien de colonnes maximum on peut avoir dans une
>> table,
>> > ma table doit avoir plus de 600 colonnes, mais lors de la création de
>> > la
>> > table par SQL Enterprise Manager, je n'arrive pas à aller plus loin


que
>> 300
>> > colonnes.
>> > Il m'a semblé voir que l'on était limité à 1024 colonnes sur SQL
>> > server,
>> > y'a-t'il un paramétrage à faire quelque part pour solutionner mon
> problème
>> ?
>> > Merci de vos réponses.
>>
>>
>
>