Ich versuche, ein ssdt-Projekt mit dem Dienstprogramm sqlpackage.exe bereitzustellen. Ich erhalte folgende Fehlermeldung:
Fehler bei den Aufgaben des Bereitstellungsplans. Die gehört kann nicht gehört werden. Die Eigenschaftsklasse Länge ist nicht in der Element- oder Anmerkungsklasse PersistedResolvableAnnotation enthalten.
Es bedeutet etw. mögen:
Fehler beim Erstellen des Bereitstellungsplans. Die Bereitstellung kann nicht fortgesetzt werden. Die Eigenschaftsklasse Length ist nicht in der Element- oder Anmerkungsklasse PersistedResolvableAnnotation enthalten.
Ich konnte nicht viele Informationen über "PersistedResolvableAnnotation" finden. Aber ich habe festgestellt, dass es in der model.xml im dacpac enthalten ist.
Es enthält eine Handvoll SqlLogins, die ähnlich wie dieses definiert sind:
<Element Type="SqlUser" Name="[Angela]">
<Property Name="IsWithoutLogin" Value="True" />
<Relationship Name="DefaultSchema">
<Entry>
<References Name="[Angela]" Disambiguator="8" />
<Annotation Type="**PersistedResolvableAnnotation**" Name="[Angela]">
<Property Name="TargetTypeStorage" Value="SqlSchema" />
<Property Name="Length" Value="8" />
<Property Name="Offset" Value="62" />
</Annotation>
</Entry>
</Relationship>
</Element>
Angela (und die anderen Kandidaten) sind auf dem Zielserver nicht als Login vorhanden, obwohl sie registrierte Datenbankbenutzer in der Zieldatenbank sind. Ich würde einen anderen Fehler erwarten - wenn überhaupt - als diesen nutzlosen.
Die Datenbank des Projekts basiert auf einer ziemlich alten SQL Server-Version. Ist es möglich, dass dies eine veraltete Funktion / Syntax oder Eigenschaft ist, die aus der SQL Server-Version stammt und einfach nicht unterstützt wird? Kennt jemand mehr Details?
quelle