Was ist im SQL Server Management Studio der SQLCMD-Modus?
In SQL Server Management Studio würde ich gerne wissen, was SQLCMD-Modus?
InformationsquelleAutor der Frage Bastien Vandamme | 2012-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Genau das, was es klingt wie.
Es ist ein Modus, mit dem Sie Autor SQLCMD-Skripts.
Vom MSDN - Bearbeitung von SQLCMD-Skripts mit dem Abfrage-Editor:
In SQL Server Management Studio, legen Sie diese über das Menü Abfrage (Query -> SQLCMD-Modus).
InformationsquelleAutor der Antwort Oded
Habe ich etwas mehr Forschung, also hier ist mein Verständnis von diesem zu verlängern, was bisher geschrieben worden ist:
Was ist SQLCMD
SQLCMD.exe ist eine Konsole-Dienstprogramm in der Installation von SQL Server 2005 und höher. In der Regel finden Sie es in einem Weg, wie
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE
.Ist es eine einfache scripting-Umgebung ermöglicht die Automatisierung von Aufgaben im Zusammenhang mit SQL server. Zum Beispiel, Sie können schreiben und ausführen eines Skripts, anmelden, um eine bestimmte Instanz von SQL Server, führen Sie Skripts aus einem bestimmten Verzeichnis auf diese Verbindung und speichern Sie die Ausgabe in eine Datei.
Invoke-Sqlcmd
cmdlet wurde eingeführt mit SQL Server 2008 als Mittel zu ersetzen, die dieses tool mit einem standardisierten, Powershell-basierte Ansatz, die Erhaltung der meisten der ursprünglichen syntax und Funktionalität.Was ist SQLCMD-Modus in SSMS
In SSMS SQLCMD-Modus ist eine Skript-Ausführung-Modus simuliert, dass die sqlcmd.exe Umwelt und übernimmt daher einige Befehle, die nicht Teil des T-SQL-Sprache.
Im Gegensatz zu
sqlcmd.exe
es Kontakte die Datenbank mit SqlClient (auf die gleiche Weise wie SSMS), nicht ODBC Daten-Anbieter, also in einigen Punkten könnte es sich anders Verhalten, alssqlcmd.exe
.Ausführen von scripts im SQLCMD-Modus können Befehle verwenden, die typisch für
sqlcmd.exe
Umgebung. Jedoch, es gibt keine IntelliSense oder debugging-Unterstützung für den SQLCMD-Modus, so dass die Wartung Skripts, mischen, reinigen, T-SQL mit SQLCMD-spezifische code kann ein Schmerz sein. Daher sollte es nur verwendet werden, wenn es notwendig ist.Beispiel use-case -
Nehmen wir an, dass ein Unternehmen eine Namenskonvention für Datenbanken, gehören die Umgebung, in der name, z.B.: MyDb_ProdMyDb_TestMyDb_Dev. Dieses übereinkommen könnte verwendet werden, um Minimierung der Wahrscheinlichkeit von Fehlern,.
Wenn ein Entwickler schreibt eine T-SQL-Skript, es muss ausgeführt werden, in verschiedenen Umgebungen, in deployment/testing-Prozess, der erfordern würde, viele Versionen der code:
Stattdessen können wir davon ausgehen, dass der Datenbank-name wird als SQLCMD-variable im deployment-Prozess und haben genau die gleiche Datei bereitgestellt für alle Umgebungen:
(in diesem einfachen Beispiel Datenbank name kann weggelassen werden, zusammen, aber wenn Sie datenbankübergreifende joins verwenden von Datenbank-name ist nicht notwendig)
InformationsquelleAutor der Antwort Paweł Bulwan
"Sie verwenden von SQLCMD-Skripts, wenn Sie verarbeitet werden müssen, um die Windows-System-Befehle und Transact-SQL-Anweisungen in der gleichen Schrift."
"Standardmäßig wird von SQLCMD-Modus nicht aktiviert ist, werden im Abfrage-Editor. Aktivieren Sie scripting-Modus, indem Sie auf die SQLCMD-Modus-Symbol in der Symbolleiste, oder wählen Sie SQLCMD-Modus des Abfrage-Menü".
Referenz: MSDN
InformationsquelleAutor der Antwort Jay M