2016-06-25 11 views
3

SSDT (ich vermute) erstellt eine Tabelle namens __RefactorLog in jeder Datenbank, auf die Sie hindeuten.__RefactorLog-Tabelle in SQL Server - sicher, es fallen zu lassen?

Wenn ich eine Freigabe getroffen habe, ist es schädlich, diese Tabelle zu löschen, da ich zum Zeitpunkt der Bereitstellung keine Vorteile darin sehe, sie in Schemas zu integrieren.

ich keinen Nachteil, es selbst sehen kann, aber ich möchte die Frage an die kenntnisreich Leute hier stellen, um zu sehen, ob es etwas, was ich bin fehle ...

Antwort

5

Es wird von SSDT erstellt Wenn Sie einen Refactor in SSDT verwenden (wie Refactor -> Rename), wenn Sie eine Deployment durchführen und nur die Tabelle löschen, wird es versuchen, alle alten Refactorings durchzuführen, die einfach fehlschlagen oder ein Desaster verursachen könnten!

Wenn Sie die Tabelle löschen, stellen Sie sicher, dass Sie auch die Einträge aus der Refactorlog.xml in Ihrem Projekt entfernen - die Datei ist ziemlich offensichtlich.

Stellen Sie sicher, Sie nicht versuchen, einen alten dacpac bereitstellen (ich denke, dies ist ohnehin unwahrscheinlich ist)

Ed

+2

Ed Antwort korrekt. Ich möchte nur darauf hinweisen, dass die häufigste "Refactor" -Operation in einem SSDT-Projekt den Tabellen-Designer verwendet, um eine Spalte in einer Tabelle umzubenennen. Das Bearbeiten des Spaltennamens im T-SQL-Bedienfeld wird nicht als Refactor-Vorgang betrachtet, aber das Bearbeiten des Spaltennamens im Tabellen-Designer wird als Refactor betrachtet. Dies ist ein subtiles, aber wichtiges zu beachtendes Verhalten. –

Verwandte Themen