Mit diesem Handbuch lernen Sie, wie Sie die gespeicherte Prozedur sp_msforeachDB (), die Verwendung und verschiedene Beispiele für die Verwendung des Prozedur verwenden.
Sys.sp_msforeachdb ()
Das SP_MSForeachDB () ist eine in der Master -Datenbank verfügbare nicht verkaufte gespeicherte Prozedur. Sie können alle Datenbanken in der SQL -Serverinstanz überschreiten und SQL -Abfragen mit den angegebenen Datenbanken ausführen.
In SQL Server Management Studio können Sie dieses Verfahren anzeigen, indem Sie zur Master -Datenbank -> Programmierbarkeit -> gespeicherte Prozeduren -> System gespeicherte Prozeduren.
Wir können die Prozedursyntax wie gezeigt ausdrücken:
Declare @Command Varchar (255)Sehen wir uns nun einige Beispiele für die Verwendung des Verfahrens an.
Beispiel 1-Show Die Namen aller Datenbanken
Angenommen, Sie möchten die Namen aller Datenbanken in der SQL Server -Instanz erhalten. Sie können die Prozedur msforeachDB () verwenden, wie im folgenden Beispiel gezeigt:
Declare @Command Varchar (255)Die obigen Abfragen sollten die Namen aller Datenbanken in der Instanz zurückgeben. Ein Beispielausgang ist wie gezeigt:
MeisterBeispiel 2 - Datenbankgrößen anzeigen
Obwohl es verschiedene Möglichkeiten gibt, wie Sie die Größe einer Datenbank in SQL Server erhalten können.
Betrachten Sie das unten gezeigte Beispiel:
Declare @Command Varchar (255)Mit einem einzigen Befehl können wir die Größe aller Datenbanken wie in der folgenden Beispielausgabe angezeigt:
Beispiel 3 - Zeigen Sie alle Spalten in den Datenbanken an
Um die Spalten in jeder Datenbank anzuzeigen, können Sie eine Abfrage wie im folgenden Beispiel -Snippet ausführen:
Declare @Command Varchar (255);Die obige Abfrage sollte die Spalten in jeder Datenbank wie gezeigt zurückgeben:
Beispiel 4 - Alle Datenbanken verkleinern
Sie können die Größe aller Datenbanken im Server unter Verwendung der nachstehenden MSforeachDB -Prozedur verkleinern:
Declare @Command Varchar (255);Die obige Beispielabfrage versucht, die Größe aller Datenbanken auf dem Server zu verkleinern. Wenn Sie über eine umfassende Sammlung von Datenbanken verfügen, vermeiden Sie diese Abfrage, da sie möglicherweise lange dauern und andere Prozesse durch die Verwendung der Datenbanken blockieren können.
Beispielausgabe ist wie gezeigt:
Schließen
Schließen
In diesem Tutorial wird angezeigt, wie Sie die gespeicherte Prozedur von SP_MSForeachDB () verwenden, um SQL -Abfragen in allen Datenbanken in der SQL -Serverinstanz auszuführen.
Vielen Dank für das Lesen und bleiben Sie auf dem Laufenden, um weitere SQL Server -Tutorials auf dem Laufenden zu halten.