none
limite de nombre de table dans une base de données RRS feed

  • Question

  • Bonjour,

    y a t il dans SQL-Server une limite dans le nombre de tables par base de donnée ?

    La question conserne les versions : SQL-Server 2000 et SQL-Server 2005

     

    D'avance merci

    mardi 12 février 2008 10:52

Toutes les réponses

  • Bonjour,

     

    A priori, il n'y a pas de limite pour le nombre de tables pour SQL Server 2000/2005 ( je crois qu'il y en a une : 32767 , mais je pense que tout le monde rirait au nez de celui qui oserait créer une telle base.

     

    Par contre, je pense qu"un base avec plus de 100 tables serait très difficile à gérer. De plus, il y aurait tellement de clés primaires et étrangères que le diagramme de la base deviendrait completement illisible.

     

    Il existe une limite non officielle : 50 tables , mais elle ne concerne que la génération du script complet de création d'une base. Que ce soit avec Sql server Mananagement Studio ou en programmation avec la méthode Script ( SMO ) , les problèmes sont nombreux : scripts incomplets,plantage de programmes ( "normaux" ou dans SSMS ).

     

    Il vaut mieux éclater une base comportant plus de 50 tables en plusieurs bases, ne serait-ce que pour faciliter les sauvegardes.

     

    Bonne journée

    mardi 12 février 2008 20:05
  • Bonjour,

     

     

    La réponse correcte est :

    http://msdn2.microsoft.com/en-us/library/ms174979.aspx

     

    SQL Server 2005 can have up to two billion tables per database and 1,024 columns per table. The number of rows and total size of the table are limited only by the available storage. The maximum number of bytes per row is 8,060. This restriction is relaxed for tables with varchar, nvarchar, varbinary, or sql_variant columns that cause the total defined table width to exceed 8,060 bytes. The lengths of each one of these columns must still fall within the limit of 8,000 bytes, but their combined widths may exceed the 8,060 byte limit in a table. For more information, see Row-Overflow Data Exceeding 8 KB.

     

     

    Malgré tout, la limite pratique de 50 tables , elle , existe et elle semble être très durement ressentie dans le Forum MSDN US SMO/DMO.

    Peut-être que Microsoft va améliorer la situation avec Sql Server 2008 ( et/ou un SP3 avec le 2005 ).

    Ce serait vraiment "sympa"...

     

    Bonne journée

    dimanche 16 mars 2008 13:14