2011-11-08 3 views
0

J'ai une base de données sur un serveur que j'ai besoin de copier sur un autre serveur. Je peux le faire manuellement à l'aide de la tâche Exporter les données, ce qui est bien pour une exportation ponctuelle, mais je voudrais accélérer cela car il va être répété.Automatisation de la tâche d'exportation de données

La base de données contiendra toujours le même ensemble de tables, j'ai juste besoin d'obtenir une copie de cette base de données avec ses tables et leurs données d'un serveur à l'autre. Je voudrais créer une sorte d'outil réutilisable qui vous permet de spécifier les serveurs de base de données source et cible, puis copie cette base de données spécifique d'un à l'autre. Est-ce possible?

Répondre

0

La tâche d'exportation de données dans SQL 2005 et versions ultérieures utilise SQL Server Integration Services (SSIS) sous le capot. Vous pouvez enregistrer le paquet que vous utilisez déjà et l'exécuter sur un calendrier ou à la demande. Vous pouvez également le modifier (une fois enregistré) à l'aide de Business Intelligence Development Studio (BIDS). À la fin de l'assistant d'exportation (dans l'écran «Enregistrer et exécuter le package»), vous pouvez cocher la case «Enregistrer le package SSIS» pour stocker le package dans le serveur SQL ou sur le système de fichiers. Le système de fichiers est probablement plus simple.

Une fois que vous avez le package, vous pouvez l'exécuter à partir de la ligne de commande à l'aide de l'outil dtexec ou d'un travail SQL Agent à l'aide d'une tâche Execute SSIS. SSIS est un sujet trop vaste pour être couvert ici - il existe des tutoriels décents dans les livres SQL Server en ligne si vous avez besoin de plus de détails - ou bien, comme autre question SO si vous êtes bloqué.

+0

J'ai essayé de faire ceci, sauvé le paquet de SSIS au système de fichiers. Quels que soient les paramètres de sécurité choisis lors de l'enregistrement de ce fichier, lorsque je l'ajoute à un travail SQL Agent et que je démarre le travail, j'obtiens une erreur: –

+0

Description: Impossible de charger le package au format XML car le package n'a pas de format XML valide . Une erreur d'analyseur XML spécifique sera publiée. Erreur de fin Erreur: Code: 0xC0011002 Source: Description: Impossible d'ouvrir le fichier de package "thefile.dtsx" en raison de l'erreur 0x80070005 "Accès refusé.". Cela se produit lors du chargement d'un package et le fichier ne peut pas être ouvert ou chargé correctement dans le document XML. Cela peut être le résultat de fournir un nom de fichier incorrect lorsqu 'appeler LoadPackage ou le fichier XML a été spécifié et a un format incorrect. End Error L'étape a échoué. –

+0

@ shaun.breach - il semble que le compte du service SQL Agent ne dispose pas des autorisations nécessaires pour accéder à l'emplacement où vous avez enregistré le fichier. - vérifiez le compte sous lequel SQL Agent s'exécute, puis essayez de déplacer le fichier vers un emplacement auquel l'agent peut accéder - éventuellement créer un nouveau dossier et lui accorder des autorisations spécifiques –

Questions connexes