Bonjour,
Je souhaiterais détacher des bases de données en commande osql sous commande DOS, et de l'automatiser.
Mais il ne faut pas que je détache certaines bases tel que :
- master
- tempdb
- model
- msdb
- pubs

Alors voici sur quoi je me base :
J'ai une première requete avec laquelle je récupère les bases que je souhaite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select name from sysdatabases where name not in ('master','tempdb','model','msdb','pubs')
Et voici l'outils qui sert à détacher des bases :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
osql -U sa -P -Q "sp_detach_db @dbname="DATABASE"
Ma question est la suivante :

Comment je pourrais faire pour que les données extraites dans ma requete puissent être traitées dans le sp_detachdb ?
Du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
osql -U sa -P -Q "sp_detach_db @dbname=`select name from sysdatabases where name not in ('master','tempdb','model','msdb','pubs')`"
Mais le hic c'est que celle-ci ne fonctionne pas, et j'aimerais vraiment faire un batch pour que ce soit traité tous les dimanches.

Pourquoi, parce que je bosse dans une entreprise qui édite des logiciels et que tous le monde monte des bases, mais ne les démontent pas. Après ils se plaigne que c'est trop long, donc ma solution c'est de détacher les bases des utilisateurs non soigneux.

Peace ...