MS SQL Server Colonne GUID de Ligne
Je m'excuse pour demander à ce que semble fatigué question, mais pas de forum de la réponse ou de la documentation que j'ai lu semble apporter une réponse adéquate.
Quel est le but de la Row GUID Column
propriété dans MS SQL Server 2008?
Laisser m'étendre là-dessus. J'ai vu "de Ne pas utiliser GUID que le PK", a répété que la réponse à cette question, qui semble n'avoir aucun rapport avec moi. Si j'ai mis Row GUID Column
est-il forcer ce GUID colonne de la clé primaire ou quelque chose?
De reformuler ma question initiale: Si j'ai un GUID colonne dans ma table qui ne jouent pas de rôle dans l'indexation, dois-je à gagner quelque chose d'installer ce GUID colonne comme Row GUID Column
?
Vous devez vous connecter pour publier un commentaire.
Il vous permet d'utiliser le $ROWGUID variable à la place du nom de la colonne.
Il est principalement utilisé pour la réplication de fusion.
Il ne force pas le GUID de la colonne pour PK, vous ne pouvez déclarer PKs explicitement.
La réponse à votre question est non, sauf si vous envisagez sur la mise en œuvre de la Réplication de Fusion.
La ROWGUIDCOLUMN est utilisé principalement dans la réplication des scénarios où vous avez besoin de combiner le contenu de plusieurs satellite de bases de données de tables dans une centrale DB.
L'ajout d'un ROWGUIDCOLUMN pour les tables répliquées garantit que le moteur de réplication peuvent utiliser le ROWGUIDCOLUMN champ de différencier entre les enregistrements avec les mêmes valeurs de clé primaire.
Parce que c'est une fonction principalement utilisé pour assurer la fluidité de la réplication, vous devez éviter d'utiliser cette colonne comme votre clé primaire. Votre clé primaire doit être une logique d'entreprise de l'entité qui est sous votre contrôle et qui n'affecte pas les caractéristiques opérationnelles des caractéristiques spécifiques de votre moteur DB.
ROWGUIDCOL
assurez-vous que "que le moteur de réplication peuvent utiliser le ROWGUIDCOLUMN champ de différencier entre les enregistrements avec les mêmes valeurs de clé primaire" quand il ne fait pas garantir l'unicité? Oui, par défaut, la valeur sera presque toujours unique, mais rien n'empêche d'ajouter manuellement des valeurs en double, en dehors de l'ajout d'un Index Unique/Contrainte.RowGUID colonne est utilisée pour la réplication. Il permet au moteur de réplication de fusion correctement. Lorsque la réplication est activée, cette colonne est ajoutée à des tables qui n'ont déjà une colonne RowGUID.
Vous de ne pas obtenir quoi que ce soit par l'aide, sauf si vous envisagez de mettre en œuvre la réplication. Il est équivalent à définir newsequentialid() comme valeur par défaut pour une colonne.
Ce n'est pas le forcer à être la clé primaire, la propriété se borne à déterminer si le champ sera automatiquement mis à jour. SI vous souhaitez créer le GUID dans la demande et l'envoyer, définissez cette propriété sur false, contraire à la vraie et de laisser la base de données créer automatiquement. Si le champ est l'index cluster, assurez-vous que la valeur par défaut est NEWSEQUENTIALID().
Non, il ne force pas comme les PK. Cela signifie que vous ne pouvez pas créer un deuxième type uniqueidentifier et de préciser que la Ligne Colonne GUID