Quelques idées :
Depuis SQL Server Management Studio
1. Run a SELECT statement to filter your data
2. Click on the top-left corner to select all rows
3. Right-click to copy all the selected
4. Paste the copied content on Microsoft Excel
5. Save as CSV
Utilisation de SQLCMD (Invite de commandes)
Exemple :
Depuis l'invite de commande, vous pouvez exécuter la requête et l'exporter vers un fichier :
sqlcmd -S . -d DatabaseName -E -s, -W -Q "SELECT * FROM TableName" > C:\Test.csv
Ne mettez pas de guillemets entre guillemets, utilisez uniquement -s, et non les guillemets -s',' sauf si vous souhaitez définir des guillemets comme séparateurs.
Plus d'informations ici :ExcelSQLServer
Remarques :
-
Cette approche aura les informations "Lignes affectées" au bas du fichier, mais vous pouvez vous en débarrasser en utilisant le "SET NOCOUNT ON" dans la requête elle-même.
-
Vous pouvez exécuter une procédure stockée au lieu de la requête réelle (par exemple "EXEC Database.dbo.StoredProcedure")
- Vous pouvez utiliser n'importe quel langage de programmation ou même un fichier batch pour automatiser cela
Utiliser BCP (invite de commande)
Exemple :
bcp "SELECT * FROM Database.dbo.Table" queryout C:\Test.csv -c -t',' -T -S .\SQLEXPRESS
Il est important de citer le séparateur virgule comme -t',' vs juste -t,
Plus d'informations ici :Utilitaire bcp
Remarques :
- Comme lors de l'utilisation de SQLCMD, vous pouvez exécuter des procédures stockées au lieu des requêtes réelles
- Vous pouvez utiliser n'importe quel langage de programmation ou un fichier batch pour automatiser cela
J'espère que cela vous aidera.