Potrebbe verificarsi una perdita di dati vsdbcmd, ma dove?
-
29-10-2019 - |
Domanda
Quando si utilizza vsdbcmd per distribuire il database:
vsdbcmd.exe /a:Deploy /manifest:MyDatabase.deploymanifest
Ottengo:
SQL01268 .Net SqlClient Data Provider: Msg 50000, Level 16, State 127, Line 6 Rows were detected. The schema update is terminating because data loss might occur.
SQL01268 An error occurred while the batch was being executed.
Il che va bene, ma non mi dice dove avverrà la perdita di dati.Per scoprirlo devo usare <DeployToScript>True</DeployToScript>
, quindi caricare lo script per vedere:
IF EXISTS (select top 1 1 from [dbo].[MyTable])
RAISERROR ('Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT
Esiste un modo per far sì che vsdbcmd visualizzi queste informazioni durante la distribuzione diretta al database senza dover prima generare sql?
Grazie
Soluzione
Non c'è modo di farlo, è un bug (o una funzionalità mancante).Vedi il commento di Tom alla mia domanda.
Altri suggerimenti
Per me era necessario svuotare il mio DB prima di distribuire SQL