Commande Powershell pour sauvegarder une base de données SQL Server

9

Existe-t-il une commande PowerShell qui exécutera une sauvegarde de toutes les bases de données sur un serveur?

Sinon, puis-je appeler un proc stocké à partir de PowerShell (qui exécutera la sauvegarde)?

Gars
la source
1
Il sera agréable de savoir comment les scripts fonctionneront dans ce scénario. Pour quelle raison préféreriez-vous cela plutôt que la façon native de sauvegarder une base de données SQL Server?
MarlonRibunal
Quelle est la manière native de sauvegarder une base de données SQL Server? Actuellement, j'ouvre SSMS et exécute un proc stocké qui sauvegarde toutes les bases de données dans un répertoire. Ensuite, je lance un script PowerShell qui déplace tout cela vers un emplacement de sauvegarde. Mon intention est de le faire en une seule étape depuis Powershell au lieu de 2 étapes.
Guy

Réponses:

9

Si vous exécutez SQL Server 2008, vous disposez de liaisons PowerShell. Voir ce lien

SQL Server 2008 powershell a une cmdlet invoke-sqlcmd .

quentin
la source
4

Il est possible, il y a certaines conditions préalables que vous devez avoir installées (à savoir la collection d'objets de gestion Microsoft SQL Server 2005 ) et il y a beaucoup de code powersehll nécessaire pour le faire, cependant il existe un certain nombre d'articles là-bas qui ont c'est déjà fait pour vous. J'ai utilisé cette méthode avec succès dans le passé.

Sam Cogan
la source
+1 pour SMO .....
dance2die
2

Vous pouvez utiliser ADO.NET à partir de PowerShell pour exécuter un processus stocké.

Voir cet exemple .

Richard
la source
Bonne alternative.
dance2die
2

Il existe des fonctions pour les sauvegardes de base de données SQL Server basées sur PowerShell incluses dans le projet CodePlex Extensions SQL Server PowerShell (SQLPSX). Jetez un œil à Invoke-SqlBackup ou si vous souhaitez implémenter une routine de sauvegarde et de maintenance complète, jetez un œil au module SQLMaint.

Chad Miller
la source