La procédure sp_addarticle stockée, utilisée pour créer des articles de publication dans SQL Server speak, dispose d'un paramètre @pre_creation_cmd par lequel la suppression de la table ou la troncation des données sur le serveur cible peut être spécifiée pour un instantané . Quelles circonstances sont appropriées pour chacun?La suppression de la réplication SQL Server par rapport aux tables cibles
Répondre
@pre_creation_cmd accepte une des quatre valeurs:
- AUCUN
- SUPPRIMER
- DROP
- TRUNCATE
TABLEAU SUPPRIMER
On suppose que votre article Les données publiées est filtré et que la table correspondante dans l'abonnement reçoit des données provenant d'autres sources , peut-être une autre publication par exemple. L'utilisation de l'opération DELETE pour ce paramètre supprimerait "uniquement" les données répondant aux critères de la définition de filtre, , laissant les données restantes sur l'abonné intact.
TRUNCATE TABLE
supprime toutes les lignes d'une table sans connectant les suppressions de lignes individuelles. TRUNCATE TABLE est similaire à l'instruction DELETE sans clause WHERE; cependant, TRUNCATE TABLE est plus rapide et utilise moins de ressources du système et du journal des transactions .
DROP TABLE
Supprime une ou plusieurs définitions de table et toutes les données, index, des déclencheurs, contraintes, et l'autorisation spécifications pour les tables.
- 1. Tables temporaires et réplication SQL Server
- 2. Rupture de la réplication SQL Server
- 3. Réplication SQL Server par mappage de colonne
- 4. Xcode: paramètres du projet par rapport aux paramètres cibles
- 5. SQL Server: fonctions de table par rapport aux procédures stockées
- 6. Réplication transactionnelle SQL Server et ajout de nouvelles tables
- 7. Réplication SQL Server, distributeur
- 8. Réplication SQL Server
- 9. SQL Server: requêtes SQL par rapport à la programmation générale
- 10. Erreur de réplication SQL Server
- 11. Question de réplication SQL Server
- 12. Problèmes de réplication de fusion SQL Server
- 13. SQL Server équivalent de la réplication multi-maître MySQL?
- 14. Optimisation de la suppression sur SQL Server
- 15. Requêtes sous-jacentes du serveur SQL par rapport aux jointures de tables
- 16. Planification de la réplication de fusion SQL Server
- 17. Comment faire pour démarrer par programme la réplication de fusion SQL Server 2005
- 18. Réplication SQL Server sans suppressions?
- 19. Réplication bidirectionnelle avec SQL Server
- 20. La réplication DB4O est-elle plus rapide que la réplication SQL Server Merge?
- 21. Suppression de tables temporaires globales (## tempTable) dans SQL Server
- 22. Délai d'alertes de réplication SQL Server
- 23. SQL Server CE 3.5 réplication de fusion
- 24. SQL Server: Comment faire pour déterminer toutes les tables associées à la réplication et les articles
- 25. Quelles sont les tables système utilisées dans la réplication Sql Server?
- 26. SQL Server - Réplication transactionnelle (données partielles uniquement)
- 27. SQL Server 2008 réplication vers SQL Server 2000
- 28. Chargement des tables cibles
- 29. Suggestions de débogage de réplication SQL Server 2005
Merci John, dans quelles circonstances une option serait-elle plus avantageuse que l'autre? En supposant qu'il existe une différence pratique, c'est pourquoi je demande. – PMSawyer
TRUNCATE par exemple est considéré comme une opération performante supérieure à DELETE. Vous ne pouvez pas non plus effectuer une opération TRUNCATE sur une table avec des références de clé étrangère. Inversement, ni DELETE ni TRUNCATE ne supprimeront les objets associés à la table tels que les index, ce que l'opération DROP fera. –
Si je comprends bien en termes de réplication si l'on a une table sans références de clés étrangères, utilisez le TRUNCATE parce qu'il fonctionne beaucoup mieux. Sinon, nous supprimons les données et vivons avec la baisse des performances. Merci. – PMSawyer