Che cosa può andare male quando scritti in un elenco di SharePoint?
-
16-10-2019 - |
Domanda
Abbiamo un sistema in cui ci accingiamo ad aggiungere a livello di elementi a un elenco SharePoint.
Siamo preoccupati per la coerenza delle informazioni.
sta scrivendo un elenco di tutto o niente operazione? Esiste il pericolo che solo la metà dei campi saranno compilati? Sarebbe ponendo l'operazione in un ambito di transazione aiuto?
Soluzione
Prima di mettere qualsiasi pensiero profondo in esso, i miei primi pensieri sono non ci sarebbe alcun problema veramente a meno che non si stesse scrivendo un sacco (> 10 articoli un secondo?) E fare molte letture (> 50 un secondo?) In cui caso sto cercando di indovinare che ci si raramente ottiene un numero preciso di righe nella lista, o non si può restituire tutte le file attuali in modo corretto.
ho seriamente dubbio, però, che ci si compara i campi in un'operazione di massa di scrittura, a meno che non aveva disinfettati i dati e ha avuto errori, nel qual caso sto pensando l'intera operazione fila scrittura sarebbe saltato, ma io non sono del tutto certo.
livello di programmazione la scrittura ad una lista è una cosa che non mi capita spesso danno un secondo anche se per (avuto un sacco di fiducia nel modo in cui scrive SP a SQL), a meno che gli sguardi scenario come si faranno evolvere in qualcosa che assomiglia ad un sistema OLTP.
Altri suggerimenti
Vi suggerisco di utilizzare SQL Profiler e guardare ciò che viene aggiornato quando si modifica un elemento nell'elenco. Se si dispone di più aggiornamenti, quindi c'è la possibilità che se succede qualcosa a metà strada attraverso il processo (ad esempio guasti hardware), i dati potrebbero essere in uno stato incoerente.
Quando le persone si preoccupano di aggiornamenti del database transazionali che stanno parlando della capacità del sistema di sopravvivere a un guasto durante verificano una serie di operazioni connesse sul database. Se davvero bisogno di questo livello di integrità la mia sensazione è che un elenco di SharePoint non è l'approccio giusto, e si dovrebbe utilizzare SQL Server direttamente per memorizzare i dati. Si potrebbe ancora esporre i dati in SharePoint tramite BCS in aggiunta.
Sono d'accordo che i problemi sono probabilmente rare, ma quando si ha bisogno di una garanzia allora avete bisogno di transazioni di database per consentire l'uso di rollback a uno stato coerente in caso di problemi, per quanto improbabile.