Komenda PowerShell do tworzenia kopii zapasowych bazy danych SQL Server

9

Czy istnieje polecenie PowerShell, które wykona kopię zapasową wszystkich baz danych na serwerze?

Alternatywnie, czy mogę wywołać przechowywany proc z PowerShell (który wykona kopię zapasową)?

Chłopak
źródło
1
Miło będzie wiedzieć, jak działają skrypty w tym scenariuszu. Czy jest jakiś powód, dla którego wolałbyś to niż rodzimy sposób tworzenia kopii zapasowej bazy danych SQL Server?
MarlonRibunal
Jaki jest natywny sposób tworzenia kopii zapasowej bazy danych SQL Server? Obecnie otwieram SSMS i uruchamiam zapisany proces, który tworzy kopię zapasową wszystkich baz danych w katalogu. Następnie uruchamiam skrypt PowerShell, który przenosi to wszystko do lokalizacji kopii zapasowej. Mam zamiar zrobić to w jednym kroku z programu Powershell zamiast 2 kroków.
Guy

Odpowiedzi:

9

Jeśli korzystasz z SQL Server 2008, masz powiązania PowerShell. Zobacz ten link

PowerShell programu SQL Server 2008 ma polecenie cmdlet invoke-sqlcmd .

quentin
źródło
4

Jest to możliwe, istnieje kilka wymagań wstępnych, które musisz zainstalować (a mianowicie kolekcjonowanie obiektów zarządzania Microsoft SQL Server 2005 ) i jest tam całkiem sporo kodu powersehll, ale istnieje wiele artykułów, które mają to już zrobione dla ciebie. W przeszłości z powodzeniem korzystałem z tej metody .

Sam Cogan
źródło
+1 za SMO .....
dance2die
2

Możesz użyć ADO.NET z PowerShell, aby wykonać zapisany proces ..

Zobacz ten przykład .

Richard
źródło
Dobra alternatywa.
dance2die
2

W projekcie CodePlex SQL Server PowerShell Extensions (SQLPSX) dostępne są funkcje tworzenia kopii zapasowych baz danych SQL Server opartych na PowerShell . Spójrz na Invoke-SqlBackup lub jeśli chcesz wdrożyć pełną procedurę tworzenia kopii zapasowych i konserwacji, spójrz na moduł SQLMaint.

Chad Miller
źródło