Vous pouvez nommer le fichier de sortie comme vous le souhaitez, mais cela ne le rendra pas un fichier CSV.
Le script de sauvegarde SQL produit une sauvegarde dans un fichier binaire et peut être restauré en utilisant uniquement les outils appropriés tels que SQL Server Management Studio ou un script RESTORE
Vous n'avez pas de besoins particuliers pour la section à l'aide. Le System.Data.SqlClient
est l'espace de noms qui contient les classes SqlConnection
et SqlCommand
nécessaires pour exécuter le script
Une solution de contournement possible d'atteindre (au moins partiellement) vous exigences est d'utiliser les BCP utility.
Habituellement, cet utilitaire est requis lorsque vous devez importer une grande quantité de données d'un support de stockage vers votre base de données Sql Server. Mais l'utilitaire BCP peut également être utilisé pour exporter les données de votre base de données dans un fichier texte sur disque. Toutefois, BCP requiert le nom d'une seule donnée ou d'une requête SQL renvoyant un seul ensemble de données. Vous devez donc probablement l'appeler plusieurs fois.
Notez également que BCP n'est pas une commande Sql mais un utilitaire autonome installé avec SQL Server.
À titre d'exemple (pour une meilleure explication des paramètres vérifier le lien ci-dessus), vous pouvez écrire ce code
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "bcp.exe";
psi.Arguments = @"TableOrQueryToExtract out d:\temp\myTableData.txt -T -d MyDataBaseName -w";
Process.Start(psi);
Comme vous pouvez le voir, vous devez appeler ce code pour chaque table que vous devez exporter et enregistrer ces données dans des fichiers séparés sur le disque (ou écrire un programme complexe qui capture la sortie BCP et réunit tout ensemble.) En fin de compte, si vous n'avez pas d'exigence spécifique pour obtenir un fichier texte, je suggère vraiment pour opter pour la simplicité de la commande BACKUP
Je voudrais également utiliser la commande BACKUP, mais ne peut pas l'utiliser comme la sortie doit être fichier de base de texte. – user2342875
J'ai juste une petite question. Lorsque j'utilise le code ci-dessus (modifié) pour importer, il ajoute les données au lieu de l'écraser. Toute suggestion? – user2342875
Habituellement, j'importe les données dans un tableau séparé et je joins avec l'original en utilisant une procédure stockée. Vous pouvez également lancer une TRUNCATE TABLE 'nom_table' avant l'importation si c'est le cas – Steve