none
UDT maxByteSize 2Go pour UDA maxByteSize 8000 ko, c'est pas top ... RRS feed

  • Question

  • Bonjour Tout le monde !


    en faite, j'ai un UDT nommons le  T1 déployé dans SQL server 2008 avec la propriété MaxByteSize= -1 (pour permetre une instance du UDT d'ateindre la taille maximale de 2Go)

    j'ai un UDA nommons le  A1  qui aggrège des données de type UDT.
    étant donné que la taille maximale d'un UDA (lors de la serialisation) est 8000 ko (MaxByteSize = 8000). est il possible d'appliquer l'aggréagts A1 sur le type T1 sachant que la taille du type T1 dépasse les 8000 ko

    perso, je crois que non. ce n'est pas possible de faire une tel opération ... du coup ca réduit l'intéret de passer les UDT à 2Go si on ne peut pas traiter ce genre de type pour une taille supérieur à 8000 ko

    PhD - Student
    mercredi 23 septembre 2009 17:38

Toutes les réponses

  • bah il semble désormais que  dans la version R2 de SQL server 2008 les choses se sont un peu équilibrées

    http://www.microsoft.com/sqlserver/2008/en/us/whats-new.aspx
    PhD - Student
    • Marqué comme réponse OmarioS jeudi 3 décembre 2009 00:11
    • Non marqué comme réponse OmarioS mardi 5 janvier 2010 15:05
    jeudi 3 décembre 2009 00:11
  • Bonjour

    Euh çà c'est les nouveautés de SQL Server 2008 il me semble !

    Cordialement
    Christian Robert - MVP SQL Server
    Blog : http://blogs.codes-sources.com/christian/
    Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr
    mardi 22 décembre 2009 10:36
  • justement , l'une des nouveautés de SQL SERVER 2008 R2 c'est que les UDA supportent une taille de 2Go, contrairement à la R1 qui ne supporte que 8Ko.
    donc UDA et UDT supportent la même taille. La question qui se pose, pourquoi le limiter à 2Go ... ?


    PhD - Student
    samedi 2 janvier 2010 15:55
  • justement , l'une des nouveautés de SQL SERVER 2008 R2 c'est que les UDA supportent une taille de 2Go, contrairement à la R1 qui ne supporte que 8Ko.
    donc UDA et UDT supportent la même taille. La question qui se pose, pourquoi le limiter à 2Go ... ?


    PhD - Student

    L'explication de la limite de 2Go est simple, tous les LOB ont cette limite dans le moteur, à la seul exception du varbinary(max) en FILESTREAM qui est justement stockée hors de la base de données. Je me pense pas que cette limité soit levé tant que le stockage des LOB reste celui que l'on connait actuellement !

    Pour les UDA, justement non, c'est une nouveauté de SQL Server 2008 et pas de la R2 : http://technet.microsoft.com/en-us/library/cc721270.aspx

    Extrait :

    "Enhancements to User-Defined Aggregates

    The new support for large UDTs was covered earlier in this paper. Similarly, SQL Server 2008 introduces support for large UDAs—the maximum size in bytes of a persisted value can now exceed 8,000 bytes and reach up to 2 GB. To allow a UDA to exceed 8,000 bytes, specify -1 in the MaxByteSize attribute; otherwise, you must specify a value that is smaller than or equal to 8,000, in which case the size in bytes cannot exceed the specified value.

    UDAs are enhanced in another way as well—they now support multiple inputs. An example of a UDA that can benefit from both enhancements is one that performs string concatenation. The UDA can accept two input parameters: the column holding the string to concatenate and the character to use as a separator. The UDA can return an output larger than 8,000 bytes."


    Christian Robert - MVP SQL Server
    Blog : http://blogs.codes-sources.com/christian/
    Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr
    mardi 5 janvier 2010 14:18
  • en effet vous avez raison, je me suis planté.

    mais bizzard alors ce qui arrive dans mon projet :
    j'ai un UDA qui marche parfaitement quand je mets sa propriété MaxByteSize = 8000. Mais quand je la change en MaxByteSize =-1 j'arrive pas à déployer mon UDA, j'arrive juste à builder le projet (remarque avec MaxByteSize =-2, la valeur -2  n'étant pas défini pour cet attribut, j'arrive à builder mon projet quand même !!)


    PhD - Student
    mardi 5 janvier 2010 15:01