Korzystając z tego przewodnika, dowiesz się, jak korzystać z procedury przechowywanej SP_MSFOREACHDB (), jak go używać i różne przykłady korzystania z procedury.
Sys.SP_MSFOREACHDB ()
SP_MSFOREACHDB () to nieudokumentowana procedura przechowywana dostępna w głównej bazie danych. Umożliwia zapętlenie wszystkich baz danych w instancji SQL Server i wykonywanie zapytań SQL w stosunku do określonych baz danych.
W SQL Server Management Studio można wyświetlić tę procedurę, nawigując do głównej bazy danych -> Programowalność -> Procedury przechowywane -> Procedury przechowywane systemem.
Możemy wyrazić składnię procedury, jak pokazano:
Deklaruj @Command Varchar (255)Spójrzmy teraz na kilka przykładów korzystania z procedury.
Przykład 1-show nazwy wszystkich baz danych
Załóżmy, że chcesz uzyskać nazwy wszystkich baz danych w instancji SQL Server; Możesz użyć procedury MSFOREACHDB (), jak pokazano w poniższym przykładzie:
Deklaruj @Command Varchar (255)Powyższy zestaw zapytań powinien zwrócić nazwy wszystkich baz danych w instancji. Przykładem jest to, jak pokazano:
gospodarzPrzykład 2 - Pokaż rozmiary bazy danych
Chociaż istnieją różne sposoby użycia do uzyskania rozmiaru bazy danych na SQL Server, w tym przykładzie użyjemy procedury SP_SPACEUSUS.
Rozważ przykład pokazany poniżej:
Deklaruj @Command Varchar (255)Korzystając z pojedynczego polecenia, możemy wyświetlić rozmiar wszystkich baz danych, jak pokazano na przykładzie poniżej:
Przykład 3 - Pokaż wszystkie kolumny w bazach danych
Aby wyświetlić kolumny w każdej bazie danych, możesz wykonać zapytanie, jak pokazano na przykładowym fragmencie poniżej:
Deklaruj @Command Varchar (255);Powyższe zapytanie powinno zwrócić kolumny w każdej bazie danych, jak pokazano:
Przykład 4 - zmniejsz wszystkie bazy danych
Możesz zmniejszyć rozmiar wszystkich baz danych na serwerze za pomocą procedury MSFOREACHDB, jak pokazano poniżej:
Deklaruj @Command Varchar (255);Powyższe przykładowe zapytanie spróbuje zmniejszyć rozmiar wszystkich baz danych na serwerze. Jeśli masz kompleksowy zbiór baz danych, unikaj używania tego zapytania, ponieważ może to zająć dużo czasu i zablokować inne procesy korzystania z baz danych.
Przykładowe dane wyjściowe to jak pokazano:
Zamknięcie
Zamknięcie
Ten samouczek pokazuje, jak korzystać z procedury przechowywanej SP_MSOREACHDB () do wykonywania zapytań SQL we wszystkich bazach danych w instancji SQL Server.
Dziękujemy za przeczytanie i bądź na bieżąco z więcej samouczków SQL Server.