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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top