Ausführen von SQL-Abfragen mit Batch-Datei?
Ich bin mit einer SQL Server-Datenbank. Ich habe diese SQL-Abfragen:
Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;
Ist es möglich, diese Skripte mit einer batch-Datei? Die Datenbank ist eine remote-Datenbank.
Dank!
InformationsquelleAutor der Frage user755806 | 2014-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Speichern der Befehle in einer
.SQL
Datei, ex:ClearTables.sql
sagen, dass Sie in IhremC:\temp
Ordner.Inhalt
C:\Temp\ClearTables.sql
Dann verwenden
sqlcmd
durchführen wie folgt. Da Sie sagte, die Datenbank remote, verwenden Sie die folgende syntax (nach dem Update für den server und die Datenbank-Instanz-name).Zum Beispiel, wenn Sie Ihren remote-computer-name ist SQLSVRBOSTON1-und Datenbank-Instanzname ist MyDB1, dann wäre der Befehl.
Beachten Sie auch, dass
-E
gibt Standard-Authentifizierung. Wenn Sie über einen Benutzernamen und ein Kennwort zu verbinden, verwenden Sie-U
und-P
Schalter.Sie ausführen wird all dies durch das öffnen eines
CMD
Befehl Fenster.Über eine Batch-Datei.
Wenn Sie möchten, speichern Sie es in eine batch-Datei und doppelklicken Sie auf es zu starten, tun Sie es wie folgt.
Erstellen, und speichern Sie die
ClearTables.bat
so gerne.Dann doppelklicken Sie darauf, um es auszuführen. Er führt die Befehle aus, und warten Sie, bis Sie eine Taste drücken, um zu beenden, so können Sie die Ausgabe des Befehls.
InformationsquelleAutor der Antwort Shiva
Check-out SQLCMD-Befehlszeile Werkzeug, die mit SQL Server geliefert wird. http://technet.microsoft.com/en-us/library/ms162773.aspx
InformationsquelleAutor der Antwort BateTech
Verwenden Sie die SQLCMD - Dienstprogramm.
http://technet.microsoft.com/en-us/library/ms162773.aspx
Gibt es eine connect-Anweisung, können Sie swing-Datenbank von server A auf server B in der gleichen charge.
:Verbinden Sie server_name[\instance_name] [-l-timeout] [-U Benutzername [-P Kennwort]]
Stellt eine Verbindung zu einer Instanz von SQL Server. Auch schließt die aktuelle Verbindung.
Auf der anderen Seite, wenn Sie vertraut sind mit PowerShellkönnen Sie programmgesteuerte das gleiche zu tun.
http://technet.microsoft.com/en-us/library/cc281954(v=sql.105).aspx
InformationsquelleAutor der Antwort CRAFTY DBA
Verschiedene Möglichkeiten:
Mithilfe von SQL Server-Agent (Wenn die lokale Instanz)
planen Sie einen job in der sql server-agent mit einem neuen Schritt mit Typ "T-SQL", dann der job ausgeführt werden soll.
Mithilfe von SQLCMD
Verwenden von SQLCMD finden Sie http://technet.microsoft.com/en-us/library/ms162773.aspx
Verwendung von SQLPS
Verwenden SQLPS finden http://technet.microsoft.com/en-us/library/cc280450.aspx
InformationsquelleAutor der Antwort Punter015