Ist es möglich ausschließen von Objekten/Objekttypen aus sqlpackage?
Möchte ich ausschließen bestimmtes Objekt, zum Beispiel alle Anmeldungen & Nutzer, aus extrahieren oder zu veröffentlichen, Betrieb von sqlpackage.exe
.
Dies ist möglich, in Visual Studio, so dass ich hoffe, es ist auch möglich, aus der sqlpackage.exe
.
Oder ist es nicht möglich?
Der Grund ist, dass ich möchte in der Lage sein, um auto-deploy, um verschiedene Umgebungen/Servern, wo die logins & Benutzer unterschiedlich sind.
HINWEIS: Anmeldungen & Benutzer ist nur ein Beispiel, die Frage ist mehr allgemein.
- Ein workaround ist, dass in Visual Studio / SSDT können Sie Schema Vergleichen, und in den Optionen (Registerkarte Objekttypen) können Sie deaktivieren, Berechtigungen, Benutzer, Rolle Mamberships.
- Möglich, Duplikat der Herabfallen der Benutzer bei der Veröffentlichung einer DACPAC mit SqlPackage.exe
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre beste Wette ist an dieser Stelle zu betrachten, dies zu tun in der post-Bereitstellung von Skripts und ohne alle logins/Benutzer aus Ihren Projekten. Wir haben ähnliche Probleme, wo jede Umgebung hat einen anderen Satz von logins/Benutzer und die SSDT einfach nicht behandeln, das gut aus der box. Ich habe geschrieben über den Prozess, den wir verwenden auf meinem blog (ausgeliehen stark von Jamie Thomson).
http://schottsql.blogspot.com/2013/05/ssdt-setting-different-permissions-per.html
Werde ich auch beachten Sie, dass der Benutzer "pavelz" einen Kommentar hinterlassen kurz beschreiben, den Prozess, den Sie verwenden w/composite-Projekte - Ausführungsplanung für Objekte und sub-Projekte für Berechtigungen. Das könnte so gut funktionieren.
Das einzige Problem, das wir haben, laufen Sie in der post -, deploy-Prozess ist, wenn Sie die Veröffentlichung aktivieren, um die drop-Berechtigungen/- Anmeldungen nicht in dem Projekt, Sie haben könnten unten einige Zeit, bis Sie erneut hinzufügen, die Berechtigungen am Ende. Einmal eingestellt, empfehle ich das ausschalten dieser Optionen.
Es jetzt ist. Bitte aktualisieren Sie die Werkzeuge und betrachten dieses post.
http://blogs.msdn.com/b/ssdt/archive/2015/02/23/new-advanced-publish-options-to-specify-object-types-to-exclude-or-not-drop.aspx
Löste ich dieses problem durch die Schaffung einer DeploymentPlanModifier Beitrag (nach Ihrer SchemaBasedFilter Probe), die ich-pass-in durch ein argument (/p:AdditionalDeploymentContributors) für SQLPackage.exe es sieht für jeden drop Operationen von Sicherheit Objekt-Typen.
(Code auf Herabfallen der Benutzer bei der Veröffentlichung einer DACPAC mit SqlPackage.exe)
Alle die gleichen Optionen zur Verfügung, innerhalb von Visual Studio verwendet werden können SqlPackage.exe. Siehe "Veröffentlichen von Parametern, Eigenschaften und SQLCMD-Variablen" in die Dokumentation für eine vollständige Liste der Optionen, die Sie übergeben können. Sie in der Regel Aussehen wie "/p:IgnoreUserSettingsObjects=True" und bestanden neben den regulären Argumente beim Aufruf SqlPackage.
Leider, wie der jetzt sqlpackage.exe Dienstprogramm keine Möglichkeit, ohne ein bestimmtes Objekt. Jedoch, es hat Optionen, um auszuschließen, eine gesamte Objekt geben.