Bonjour à tous!
J'aimerais savoir s'il est possible de sauvegarder une table spécifique d'une base de données et de procéder plus tard à sa restoration!!!
Bonjour à tous!
J'aimerais savoir s'il est possible de sauvegarder une table spécifique d'une base de données et de procéder plus tard à sa restoration!!!
A ma connaissance, non. On peut seulement sauvegarder l'ensemble de la base avec BACKUP DATABASE puis la restaurer avec RESTORE DATABASE. Un moyen serait de créer une base temporaire avec uniquement la table, la sauvegarder. Pour la restaurer, même démarche: base temporaire.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Merci pour la réponse!
Au fait, j'ai ma base de données complète sur un serveur et cette même base sur un portable. etant donné que les modules de l'application installée sur le portable ne nécessite que quelques tables et qu'il faut périodiquement faire une mise à jour de celles-ci, je suis donc à la recherche d'une solution pour ce petit problème.
Alors, si quelqu'un a une idée, géniale ou non, elle est la bienvenue!!!
FAUXA ma connaissance, non.
On peut parfaitement sauvegarder une table, mais ceci à deux conditions :
1) que cette table soit logiquement autonome (pas d'intégrité référentielles par exemple) sinon cela violerait la cohérence de la base
2) que cette table ait été créée dans un groupe de fichier spécifique.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
ça devient interressant alors!
Comment cela est-il donc possible?
Créez une nouveau fichier de données dans la base.
Créez un nouveau groupe de fichier contenant seulement ce nouveau fichier.
Déplacez la table visée dedans en vous inspirant de l'article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro?ti...space_de_stock
Pour sauvegardez, utilisez la syntaxe BACKUP DATABASE qui précise les groupes de fichiers à sauvegarder.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Merci pour la page! elle m'a été d'une grande utilité.
Après avoir pris connaissance du sujet, j'ai créé un nouveau groupe de fichier dans lequel j'ai voulu affecter ladite table:
mais j'ai ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE UNIQUE CLUSTERED INDEX PK_ORDRE ON dbo.ORDRE (NUMOT) WITH DROP_EXISTING ON FG_COMMANDE
j'ai donc été obligé de créer un nouveau fichier de données et de l'affecter dans le nouveau groupe avant de réussir l'exécution de la commande: Reste à faire le backup sur le groupe de fichiers.Serveur*: Msg 622, Niveau 16, État 3, Ligne 1
Aucun fichier n'a été affecté au groupe de fichiers 'FG_EXECUTION'. Les tables, les index et les colonnes text, ntext et image ne peuvent pas être remplis dans ce groupe de fichiers tant qu'un fichier n'a pas été ajouté.
L'instruction a été arrêtée.
Mais bien avant, j'aimerais comprendre à quoi servira le nouveau fichiers de données que j'ai créé!
Un groupe de fichiers est une notion logique regroupant les fichiers de données. Si vous créez un groupe de fichier sans y affecter un fichier vous ne pouvez rien stocker dedans. Il faut au moins un fichier dans le groupe de fichier pour que vous puissiez affecter le stockage des données d'une table ou d'un index dedans.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Disons que j'ai base centrale dotée de 120 objets!
j'ai écrit une application qui la gère, le tout installé au siège de l'entreprise!
A présent l'application est subdisée en 6 modules; chaque module est destiné à un site de l'entreprise très distant du siège.
En attendant les liaisons ne soient réalisées, cette solution a été prise à moyen terme.
chaque module concerne donc 20 à 30 objets car il y a des objets qui leur sont communs. Donc j'aimerais créer un groupe de fichiers pour chaque module dont la sauvegarde de ce dernier sur le site sera restoré la base au siège!
Est-ce possible?
Mieux vaudrait vous orienter vers :
a) la réplication
b) service broker qui permet des bases de données réparties via une messagerie transactionnée et asynchrone.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Le groupes ont aussi l'avantage de pouvoir répartir les tables dans plusieurs fichiers distincts et ces fichiers peuvent être placés sur des disques différents pour l'amélioration des performances.
En outre, les tables peuvent être localisée dans un groupe et les index dans un autre.
Partager