Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb d'ouverture d'une base attachée

4 réponses
Avatar
GL Tools
Bonjour,

N'étant pas très habitué aux procédures de backup de SQL Server (je procéde
souvent à des simple copies de fichiers en heures creuses), je me suis
retrouvé avec une base que je ne peux plus ouvrir, avec le message suivant :

L'en-tête du fichier MaBase.mdf" n'est pas valide. La Pté FILE SIZE est
incorrecte.

Est-ce qq sait s'il est possible de réparer le pb ?

Salutations
Gilles

4 réponses

Avatar
Fred BROUARD
GL Tools a écrit :
Bonjour,

N'étant pas très habitué aux procédures de backup de SQL Server (je procéde
souvent à des simple copies de fichiers en heures creuses),



La copie de fichier ne garantie en aucune façon la consistance des
sauvegardes !
Seule l'exécution des commandes de sauvegarde (BACKUP DATABASE ...) ou
un détachement des fichiers de la base, via la procédure sp_dettachdb
puis copie, permet de garantir l'intégrité des fichiers.

De plus la copie des fichiers d'une base sans arrêter le serveur est
impossible car les fichiers sont ouvert à l'usage exclusif du serveur
SQL. En outre la procédure d'arrêt du service, qui ne doit être
entreprise qu'exceptionnellement, ne garantie pas que les écritures des
transactions en cours soient reportées dans le fichiers des données.

En tout état de cause, arrêter un serveur SQL est une ineptie car vous
perdez tout le bénéfice de la mise en cache. C'est donc avec un serveur
lent et aux performances lamentable que vous vous adressez après
redémarrage !


je me suis
retrouvé avec une base que je ne peux plus ouvrir, avec le message suivant :

L'en-tête du fichier MaBase.mdf" n'est pas valide. La Pté FILE SIZE est
incorrecte.




tentez de faire un rattachement avec la procédure sp_attach_db puis
passez la commande DBCC CHECKDB avec l'option REPAIR_ALLOW_DATA_LOSS.

Si sp_attach_db ne réussit pas, essayez sp_attach_single_file_db. Sinon
essayez CREATE DATABASE ... FOR ATTACH


Est-ce qq sait s'il est possible de réparer le pb ?

Salutations
Gilles



A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Avatar
GL Tools
Fred,

T'es bien sympa, mais j'ai bien compris que je ne m'y prenais correctement.
Si tu veux, je te fais un mealculpa car c'est vrai que j'ai arrêté le sce SQL
Express et même le processus. J'ai donc cherché les pb et je les ai trouvés :
OK, OK, OK : je ne recommencerai pas , promis.

Maintenant, bien que je n'ai pas grand espoir, si qq sait comment réparer la
base, ça me rendrait effectivement bien service ...

Gilles

"Fred BROUARD" a écrit :

GL Tools a écrit :
> Bonjour,
>
> N'étant pas très habitué aux procédures de backup de SQL Server (je procéde
> souvent à des simple copies de fichiers en heures creuses),

La copie de fichier ne garantie en aucune façon la consistance des
sauvegardes !
Seule l'exécution des commandes de sauvegarde (BACKUP DATABASE ...) ou
un détachement des fichiers de la base, via la procédure sp_dettachdb
puis copie, permet de garantir l'intégrité des fichiers.

De plus la copie des fichiers d'une base sans arrêter le serveur est
impossible car les fichiers sont ouvert à l'usage exclusif du serveur
SQL. En outre la procédure d'arrêt du service, qui ne doit être
entreprise qu'exceptionnellement, ne garantie pas que les écritures des
transactions en cours soient reportées dans le fichiers des données.

En tout état de cause, arrêter un serveur SQL est une ineptie car vous
perdez tout le bénéfice de la mise en cache. C'est donc avec un serveur
lent et aux performances lamentable que vous vous adressez après
redémarrage !


> je me suis
> retrouvé avec une base que je ne peux plus ouvrir, avec le message suivant :
>
> L'en-tête du fichier MaBase.mdf" n'est pas valide. La Pté FILE SIZE est
> incorrecte.


tentez de faire un rattachement avec la procédure sp_attach_db puis
passez la commande DBCC CHECKDB avec l'option REPAIR_ALLOW_DATA_LOSS.

Si sp_attach_db ne réussit pas, essayez sp_attach_single_file_db. Sinon
essayez CREATE DATABASE ... FOR ATTACH

>
> Est-ce qq sait s'il est possible de réparer le pb ?
>
> Salutations
> Gilles

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************



Avatar
GL Tools
Re meal-culpa : je n'avais pas vu les propositions de solutions à la suite de
mon message : je regarde ce que ça donne et te ferai un retour : merci ;-)

Gilles

"GL Tools" a écrit :

Bonjour,

N'étant pas très habitué aux procédures de backup de SQL Server (je procéde
souvent à des simple copies de fichiers en heures creuses), je me suis
retrouvé avec une base que je ne peux plus ouvrir, avec le message suivant :

L'en-tête du fichier MaBase.mdf" n'est pas valide. La Pté FILE SIZE est
incorrecte.

Est-ce qq sait s'il est possible de réparer le pb ?

Salutations
Gilles


Avatar
GL Tools
La procédure d'attachement ne fonctionne pas, mais j'ai pu m'en sortir avec
une sauvegarde récente : je ferai des backups, plus de copie : merci ;-)

"Fred BROUARD" a écrit :

GL Tools a écrit :
> Bonjour,
>
> N'étant pas très habitué aux procédures de backup de SQL Server (je procéde
> souvent à des simple copies de fichiers en heures creuses),

La copie de fichier ne garantie en aucune façon la consistance des
sauvegardes !
Seule l'exécution des commandes de sauvegarde (BACKUP DATABASE ...) ou
un détachement des fichiers de la base, via la procédure sp_dettachdb
puis copie, permet de garantir l'intégrité des fichiers.

De plus la copie des fichiers d'une base sans arrêter le serveur est
impossible car les fichiers sont ouvert à l'usage exclusif du serveur
SQL. En outre la procédure d'arrêt du service, qui ne doit être
entreprise qu'exceptionnellement, ne garantie pas que les écritures des
transactions en cours soient reportées dans le fichiers des données.

En tout état de cause, arrêter un serveur SQL est une ineptie car vous
perdez tout le bénéfice de la mise en cache. C'est donc avec un serveur
lent et aux performances lamentable que vous vous adressez après
redémarrage !


> je me suis
> retrouvé avec une base que je ne peux plus ouvrir, avec le message suivant :
>
> L'en-tête du fichier MaBase.mdf" n'est pas valide. La Pté FILE SIZE est
> incorrecte.


tentez de faire un rattachement avec la procédure sp_attach_db puis
passez la commande DBCC CHECKDB avec l'option REPAIR_ALLOW_DATA_LOSS.

Si sp_attach_db ne réussit pas, essayez sp_attach_single_file_db. Sinon
essayez CREATE DATABASE ... FOR ATTACH

>
> Est-ce qq sait s'il est possible de réparer le pb ?
>
> Salutations
> Gilles

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************