Академический Документы
Профессиональный Документы
Культура Документы
Attacher une base de donnes MS-SQL dont le journal de transactions est manquant par Fabien Celaia
Problmatique et prrequis..........................................................................................................................................3
Solution.........................................................................................................................................................................3
-2-
Copyright 2006 Fabien Celaia. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://fadace.developpez.com/mssql/nolog/
Attacher une base de donnes MS-SQL dont le journal de transactions est manquant par Fabien Celaia
Problmatique et prrequis
Vous tes administrateur d'un serveur SQL.
Une de vos bases de donnes doit tre rcupre. Vous n'en aviez aucun backup, mais la copie du fichier de
donnes (le MaBase.mpd). Malheureusement, vous n'aviez pas cr bon de sauvegarder le journal de transaction,
ou le fichier .ldb est corrompu
Le manque de fichier de transaction vous empche t'utiliser un sp_attache_db, un create database attach ou
tout autre assistant de Microsoft SQL Enterprise Manager
Que faire ???
Solution
Crer deux bases de donnes : une MaBase et une db_recup.
Il est important que votre premire base se nomme comme la base d'origine, ce nom apparaissant dans la table
sysfiles.
Create database MaBase
Create database db_recup
Via l'explorateur Windows, remplacer le fichier cr MaBase.mpd par votre fichier Mabase.mpd (renommer donc
mabase.mpd en MaBase.mpd).
-3-
Copyright 2006 Fabien Celaia. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://fadace.developpez.com/mssql/nolog/
Attacher une base de donnes MS-SQL dont le journal de transactions est manquant par Fabien Celaia
Redmarrons l'instance.
Crons ensuite sous Dos un fichier Transferts.sql comprenant les lignes suivantes:
set nocount on
GO
-4-
Copyright 2006 Fabien Celaia. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://fadace.developpez.com/mssql/nolog/
Attacher une base de donnes MS-SQL dont le journal de transactions est manquant par Fabien Celaia
Excutons-le
isql -Usa -P*** -S VotreInstance -i transfert.sql -o transfert2.sql
ditons ensuite le fichier rsultant transfert2.sql, supprimons toutes les lignes qui ne commencent pas par un 'select
into'. Veillons ce que le fichier se termine par un retour la ligne.
Ensuite, excutons les deux commandes suivantes
echo GO >> transfert2.sql
isql -Usa -P*** -S VotreInstance -i transfert2.sql
Cette dernire commande a d recopier vos tables dans la base db_recup. Ne vous reste plus qu' rcuprer les
ordres de cration d'objets (procdures stockes, vues, triggers) de MaBase via Microsoft Enterprise Manager et
les rejouer sur db_recup.
la fin de cette opration,
-5-
Copyright 2006 Fabien Celaia. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents,
images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://fadace.developpez.com/mssql/nolog/