Copie de données SQL Server à partir d'un serveur à un autre sur un calendrier
J'ai une paire de Serveurs SQL à différents hébergeurs, et je suis à la recherche d'un moyen de mettre à jour périodiquement le serveur à l'aide de l'autre. Voici ce que je suis à la recherche de:
- Aussi automatisée que possible - idéalement, sans aucune intervention de ma part une fois que c'est mis en place.
- Pousse un certain nombre de bases de données, dans leur globalité (y compris toute modification du schéma) d'un serveur à l'autre
- Librement permet d'effectuer des changements sur le serveur source sans casser mon processus. Pour cette raison, je ne veux pas l'utilisation de la réplication, que je serais obligé de le casser à chaque fois il y a une mise à jour sur la source, puis de les recréer la publication et d'abonnement
- Une base de données est d'environ une taille de 4 go et contient des données binaires. Je ne sais pas si il y a un moyen d'exporter ce à un script, mais il serait un mammouth fichier si je l'ai fait.
À l'origine, j'avais pensé à écrire quelque chose qui prend une sauvegarde complète planifiée de chaque base de données, FTPs les sauvegardes à partir d'un serveur à l'autre une fois qu'ils ont fait, et puis le nouveau serveur récupère et restaure. Le seul inconvénient que je vois c'est qu'il n'y a aucun moyen de savoir que les sauvegardes sont effectuées avant de commencer à transférer - ces sauvegardes être fait de façon synchrone? Aussi, le serveur étant actualise est notre serveur de test, donc si il y a un peu de temps libre circulation des données, c'est bien.
Quelqu'un là-bas ont une meilleure idée, ou est-ce que je suis en train d'examiner la meilleure non-réplication de chemin à faire? Merci pour votre aide, tout le monde.
Mise à JOUR:
J'ai fini par concevoir une solution personnalisée pour obtenir ce fait à l'aide de la BATTE de fichiers, 7Zip,de la ligne de commande FTP, et OSQL, en sorte qu'il fonctionne de façon totalement automatique et agrège les données à partir d'une douzaine de serveurs à travers le pays. J'ai détaillé les étapes dans une entrée de blog.
Merci pour tous vos commentaires!
OriginalL'auteur SqlRyan | 2009-02-20
Vous devez vous connecter pour publier un commentaire.
Je ferais un .NET application console pour cela. Faire une copie de sauvegarde est aussi facile que d'ouvrir une connexion SQL et de l'exécution d'une "BASE de données de SAUVEGARDE [] sur le DISQUE = N". Puis utiliser le construit en .NET FTP bibliothèques de la pousser jusqu'à l'autre serveur. Vous pouvez même jeter dans sharpziplib à zip en premier. Alors jetez cela dans une tâche planifiée.
De l'autre côté, mettre en place un Service Windows surveille le dossier que les transferts ftp avec un FileSystemWatcher et puis restaure la sauvegarde lors de la fait.
OriginalL'auteur Chris Hynes
C'est un objectif principal de la SSIS/DTS. - Je faire exactement cela avec SSIS assez souvent. Si vous n'avez pas utilisé SSIS avant sqlis.com est un excellent endroit pour commencer (sauf si vous êtes sur SQL2000 ensuite, vous pourrez utiliser les DTS, dans ce cas, commencer avec sqldts.com). Il y a beaucoup de grands livres sur le sujet.
Mais il est certainement utile de votre temps à regarder dans l'apprentissage de la SSIS. La lecture de votre question, SSIS est IMO le meilleur itinéraire, et de loin. Vous n'aurez pas besoin d'écrire une ligne de code, il dispose de tous les outils intégrés pour faire le travail. Vous pouvez également planifier l'exécution sur un intervalle.
OriginalL'auteur Ryan Farley
J'ai trouvé un outil open source que certaines personnes pourraient trouver utile et pourrait modifier pour les adapter à leurs besoins.
Base de données SQL Server Outil de Copie de
"Copies d'une base de données sql server à partir d'un serveur à l'autre par la sauvegarder, copier le fichier de sauvegarde sur le serveur de destination et restauration de la base de données."
HTH une personne à la recherche sur ce sujet.
OriginalL'auteur Ralph Willgoss
Vous pouvez obtenir plus rapidement une "copie de sauvegarde" en détachant chaque DB, et la copie de la MDF/fichier LDF - cela signifie que votre base de données est en mode hors connexion pour une courte longueur de temps. Autre que cela, je n'irais avec Chris commentaire.
OriginalL'auteur MrTelly
Utiliser l'Assistant Copie de Base. - À droite, cliquez sur la source de la base de données - Choisir les Tâches de Copie de Base de données.
Dans le guide, Vous pouvez choisir de créer un calendrier de travail aussi.
OriginalL'auteur VinnyG
Utiliser Import & Export Assistant pour créer de nouvelles tables ou les ajouter à des tables existantes. Aussi, vous pouvez utiliser une requête pour faire du transfert de données dans l'assistant..
OriginalL'auteur Mithran