2010-10-05 5 views
1

J'ai des tables de lignes qui existent dans plusieurs bases de données. Je vais devoir mettre à jour les lignes d'une base de données dans l'autre base de données et j'ai une clé primaire de int. Je cherche donc un moyen d'identifier de manière unique le serveur qui a ajouté une ligne particulière. Je pourrais utiliser un identifiant unique dans un défaut en utilisant le newid() ou newseqentialid() mais cela semble exagéré et inefficace.SQL Server 2008 utilise l'ID du serveur par défaut

Je voudrais créer une valeur par défaut sur une colonne de serverid de @@ serverid mais cela n'existe pas, je pourrais utiliser @@ servername mais cela semble trop évident pour les erreurs. Est-il possible de récupérer un guid pour le serveur et de l'ajouter par défaut dans une colonne?

Merci à l'avance

Phil

Répondre

0

Étant donné que vous êtes susceptible d'avoir moins de 2^31 - entier 1 serveurs, sûrement vous pouvez simplement attribuer un cadre unique (32 bits) à chaque serveur pour identifier .

0

Je voudrais juste utiliser @@ SERVERNAME ou un tabe basé sur ceci. GUID

+0

Le nom du serveur est-il garanti unique sur un réseau? –

+0

Mitch Blé: assez unique pour des raisons pratiques, non? Assez négligent si vous parvenez à avoir des noms de serveur en double dans différents domaines. – gbn

Questions connexes