J'ai une table dans laquelle la clé primaire est un GUID avec un défaut de NewID. Si la colonne PK avait une valeur de XYZ lorsque je l'ai sauvegardée, j'attendrais XYZ dans la table restaurée. En fait, je reçois PQR (bien l'équivalent GUID). Il semble que le GUID soit régénéré lors de la restauration. Est-ce que cela se passe réellement (cela semble un peu fou), et si oui, comment peut-on l'éviter?SQL Server: Éviter la régénération du GUID lors de la restauration?
Répondre
Personne ne modifie vos données lors de la restauration (j'imagine que vous voulez dire sauvegarde/restauration en tant que véritable instruction BACKUP/RESTORE, et non une solution de copie de données personnalisée). Si le guid a changé, soit vous avez restauré différentes données, soit vous changez les données vous-même et vous ne savez pas exactement quand (déclenche l'application?).
LDD - la valeur par défaut débute seulement si vous INSERT une nouvelle ligne et ne pas évaluer une valeur pour cette colonne particulière. Cela ne devrait jamais arriver lors d'une restauration. –
Voici ce que j'ai trouvé dans mes tests: J'utilisais l'option WITH REPLACE b/c Je ne sauvegardais pas la queue du log. Il me semble que cela provoque le problème que je décris avec GUIDS étant re-gened. Fait intéressant, si je sauvegarde le journal et utilise WITH REPLACE, tout est OK. Je ne suis pas sûr si c'est b/c WITH REPLACE est ignoré dans ce scénario, ou si quelque chose d'autre est en place. –
Donc, fondamentalement, vous restaurez des données * différentes *. Est-ce que vos GUID qui sont à 'issue', c'est votre base de données * entière *, vous en regardez simplement une autre après la RESTORE. –
pas cela ne peut se produire avec juste une restauration
Je tiens également à souligner que si vous avez un PK sur une colonne uniqueidentifier utiliser NEWSEQUENTIALID() au lieu de NEWID() parce que NEWID() causera pagesplits horribles sur un index ordonné en clusters (dont une clé primaire est par défaut)
J'ai juste un code montrant la différence ici: Some Simple Code To Show The Difference Between Newid And Newsequentialid
- 1. Microsoft SQL Server 2008 erreur lors de la restauration de la base de données
- 2. SQL Server 2005 Restauration Hanging
- 3. Sql Server 2005 - Retour du GUID du SP
- 4. SQL Server - Guid VS. Long
- 5. Insertion de GUID dans SQL Server
- 6. La restauration de la sauvegarde SQL Server Express ne fonctionne pas pour l'abonnement asp.net
- 7. Restauration de la base de données
- 8. Dérive lors de la restauration de l'emplacement et de la taille de la fenêtre dans WPF
- 9. php - vérifie la validité du guid
- 10. Supprimer le fichier de sauvegarde dans transact-sql lors de la copie/restauration de la base de données
- 11. Comment prendre la valeur précédente lors de la régénération d'une servlet
- 12. Après la minimisation de l'application, lors de la restauration, Windows poursuit le pointeur de la souris
- 13. Vérifier la restauration SharePoint
- 14. C# guid et SQL uniqueidentifier
- 15. comment migrer de SQL 2000 à SQL 2008 via la restauration?
- 16. Éviter la diffusion lors du passage d'objets via le code de la bibliothèque (En Delphi)
- 17. Erreur lors de l'exécution du package DTS: SQL Server 2000
- 18. Restauration à partir de la sauvegarde et du binaire
- 19. Éviter le timeout PHP lors de l'envoi de la newsletter
- 20. force lors de la construction de régénération des liens QT Creator
- 21. SQL Server comment maintenir GUID sur les tables dans la même DB
- 22. Problème lors de l'utilisation du pilote OLEDB dans la procédure CLR SQL Server
- 23. éviter la répétition de code lors de l'utilisation LINQ
- 24. SQL Server 2005 - Restauration d'une base de données cryptée sur un serveur différent
- 25. Rupture de la réplication SQL Server
- 26. Team Foundation Server - Gestion de la version du serveur Sql
- 27. Trouver GUID dans la base de données
- 28. Échafaudage de régénération
- 29. Sql Server Management - Option pour éviter le script de l'assemblage?
- 30. Restauration de la base de données Postgresql
S'il vous plaît afficher une copie de votre table +1 exactement – Aheho