Pode ocorrer perda de dados vsdbcmd, mas onde?
-
29-10-2019 - |
Pergunta
Ao usar vsdbcmd para implantar meu banco de dados:
vsdbcmd.exe /a:Deploy /manifest:MyDatabase.deploymanifest
Entendo:
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.
O que é bom, mas não me diz onde o dataloss acontecerá.Para descobrir, preciso usar <DeployToScript>True</DeployToScript>
e, em seguida, carregar o script para ver:
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
Existe uma maneira de fazer com que o vsdbcmd exiba essas informações ao implantar diretamente no banco de dados sem ter que gerar o sql primeiro?
Obrigado
Solução
Não há como fazer isso, é um bug (ou recurso ausente).Veja o comentário de Tom à minha pergunta.
Outras dicas
Para mim, foi necessário esvaziar meu banco de dados antes de implantar o SQL