vsdbcmd Datenverlust kann auftreten, aber wo?
-
29-10-2019 - |
Frage
Wenn Sie vsdbcmd zum Bereitstellen meiner Datenbank verwenden:
vsdbcmd.exe /a:Deploy /manifest:MyDatabase.deploymanifest
Ich bekomme:
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.
Was in Ordnung ist, aber es sagt mir nicht, wo der Datenverlust stattfinden wird.Um dies herauszufinden, muss ich <DeployToScript>True</DeployToScript>
verwenden und dann das Skript laden, um Folgendes zu sehen:
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
Gibt es eine Möglichkeit, vsdbcmd dazu zu bringen, diese Informationen anzuzeigen, wenn die Bereitstellung direkt in der Datenbank erfolgt, ohne dass zuerst die SQL generiert werden muss?
Danke
Lösung
Es gibt keine Möglichkeit, dies zu tun, es ist ein Fehler (oder eine fehlende Funktion).Siehe Toms Kommentar zu meiner Frage.
Andere Tipps
Für mich musste ich meine Datenbank leeren, bevor ich SQL bereitstellte