Étant donné que le format est:
CREATE TABLE TableName(...) TEXTIMAGE_ON { filegroup | "default" }
TEXTIMAGE
fait référence à tous les types de champs de taille grande / illimitée: texte, ntext, image, xml, varchar (max), nvarchar (max), varbinary (max) et CLR (y compris la géométrie et la géographie).
Ensuite, vous devez savoir ce que sont les fichiers et les groupes de fichiers. À partir de l'entrée MSDN sur les fichiers de base de données et les groupes de fichiers :
Fichier
Au minimum, chaque base de données SQL Server possède deux fichiers de système d'exploitation: un fichier de données et un fichier journal. Les fichiers de données contiennent des données et des objets tels que des tables, des index, des procédures stockées et des vues. Les fichiers journaux contiennent les informations requises pour récupérer toutes les transactions de la base de données. Les fichiers de données peuvent être regroupés en groupes de fichiers à des fins d'attribution et d'administration.
Groupes de fichiers
Chaque base de données a un groupe de fichiers principal. Ce groupe de fichiers contient le fichier de données principal et tous les fichiers secondaires qui ne sont pas placés dans d'autres groupes de fichiers. Des groupes de fichiers définis par l'utilisateur peuvent être créés pour regrouper des fichiers de données à des fins d'administration, d'allocation de données et de placement.
Alors,
CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Cela semblerait quelque peu redondant, car il est dit que les colonnes de grande valeur de texte mentionnées doivent être stockées dans le groupe de fichiers principal, qui est en fait l'action par défaut.
En supposant l'existence d'un groupe de fichiers personnalisé appelé CUSTOM, vous écririez probablement quelque chose comme ceci:
CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [CUSTOM]
Vous créeriez un groupe de fichiers personnalisé pour stocker de gros fichiers binaires ou du texte, et dans ce cas, les informations des champs `` normaux '' se trouveraient dans un fichier de données dans le groupe de fichiers principal, tandis que les `` grands '' champs associés seraient stockés dans un fichier de données physiquement distinct (dans le groupe de fichiers personnalisé secondaire).
Vous feriez cela pour pouvoir séparer le modèle de données relationnel de base (qui serait probablement relativement petit en termes d'espace disque) des grands champs (qui nécessiteront proportionnellement plus d'espace disque) - afin de permettre à des stratégies d'archivage ou de réplication distinctes de être appliqué à chaque groupe de fichiers.