J'ai été trop laxiste en effectuant des sauvegardes de base de données sur nos serveurs internes.
Existe-t-il un programme de ligne de commande simple que je peux utiliser pour sauvegarder certaines bases de données dans SQL Server 2005? Ou y a-t-il un simple VBScript?
sql-server
command-line
scripting
backup
Frank Krueger
la source
la source
Réponses:
Pour sauvegarder une seule base de données à partir de la ligne de commande, utilisez osql ou sqlcmd .
Vous voudrez également lire la documentation sur la sauvegarde et la restauration et les procédures générales .
la source
WITH FORMAT
formate le support de stockage: " L'option FORMAT invalide tout le contenu multimédia, ignorant tout contenu existant. " Assurez-vous que c'est ce que vous voulez.osql.exe
était dansC:\Program Files\Microsoft SQL Server\140\Tools\Binn\OSQL.EXE
j'utilise ExpressMaint .
Pour sauvegarder toutes les bases de données utilisateur, je fais par exemple:
la source
Planifiez ce qui suit pour sauvegarder toutes les bases de données:
Il y a aussi plus de détails sur mon blog: comment automatiser les sauvegardes SQL Server Express .
la source
J'ai trouvé cela sur une page de support Microsoft http://support.microsoft.com/kb/2019698 .
Cela fonctionne très bien! Et comme il vient de Microsoft, j'ai l'impression que c'est assez légitime.
Fondamentalement, il y a deux étapes.
Planifiez la sauvegarde à partir de votre planificateur de tâches. Vous souhaiterez peut-être placer d'abord dans un fichier .bat ou .cmd, puis planifier ce fichier.
Remplacez évidemment YOUR_SERVER_NAME par le nom de votre ordinateur ou essayez éventuellement. \ SQLEXPRESS et assurez-vous que le dossier de sauvegarde existe. Dans ce cas, il essaie de le mettre dans c: \ SQL_Backup
la source
Vous pouvez utiliser l'application de sauvegarde par ApexSQL. Bien qu'il s'agisse d'une application GUI, toutes ses fonctionnalités sont prises en charge dans CLI. Il est possible d'effectuer des opérations de sauvegarde ponctuelles ou de créer un travail qui sauvegarderait régulièrement des bases de données spécifiées. Vous pouvez vérifier les règles de commutation et examinées dans les articles:
la source
J'utilise tsql sur une infrastructure Linux / UNIX pour accéder aux bases de données MSSQL. Voici un simple script shell pour vider une table dans un fichier:
la source
Eventuel si vous ne disposez pas d'une connexion approuvée comme le déclare le commutateur –E
Utilisez la ligne de commande suivante
"[program dir]\[sql server version]\Tools\Binn\osql.exe" -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak'" -S [server] –U [login id] -P [password]
Où
[rép programme] est le répertoire où se trouve osql.exe
[version serveur sql] votre version serveur SQL 110 ou 100 ou 90 ou 80 commence par le plus grand nombre
[serveur] votre nom de serveur ou IP de serveur
[identifiant de connexion] votre nom de connexion utilisateur du serveur ms-sql
[password] le mot de passe de connexion requis
la source
C:\tmp
est le chemin dans le serveur ou local ?La réponse de Microsoft à la sauvegarde de toutes les bases de données utilisateur sur SQL Express est ici :
Le processus est le suivant: copiez, collez et exécutez leur code (voir ci-dessous. J'ai commenté quelques lignes étrangement non commentées en haut) comme une requête sur votre serveur de base de données. Cela signifie que vous devez d'abord installer SQL Server Management Studio (ou vous connecter autrement à votre serveur de base de données avec SSMS). Cette exécution de code créera une procédure stockée sur votre serveur de base de données.
Créez un fichier de commandes pour exécuter la procédure stockée, puis utilisez le Planificateur de tâches pour planifier une exécution périodique (par exemple tous les soirs) de ce fichier de commandes. Mon code (qui fonctionne) est une version légèrement modifiée de leur premier exemple:
Cela a fonctionné pour moi et j'aime ça. Chaque fois que vous l'exécutez, de nouveaux fichiers de sauvegarde sont créés. Vous aurez besoin de concevoir une méthode de suppression des anciens fichiers de sauvegarde sur une base régulière. J'ai déjà une routine qui fait ce genre de chose, donc je vais garder quelques jours de sauvegardes sur disque (assez longtemps pour qu'elles soient sauvegardées par ma routine de sauvegarde normale), puis je les supprimerai. En d'autres termes, j'aurai toujours quelques jours de sauvegardes sous la main sans avoir à restaurer à partir de mon système de sauvegarde.
Je vais coller le script de création de procédure stockée de Microsoft ci-dessous:
la source
Vous pouvez utiliser un script VB que j'ai écrit exactement à cet effet: https://github.com/ezrarieben/mssql-backup-vbs/
Planifiez une tâche dans le "Planificateur de tâches" pour exécuter le script comme vous le souhaitez et il sauvegardera l'ensemble de la base de données dans un fichier BAK et l'enregistrera où vous le spécifiez.
la source
la source
Si vous pouvez trouver les fichiers DB ... "cp DBFiles backup /"
Presque à coup sûr pas conseillé dans la plupart des cas , mais c'est simple comme tout.
la source