IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Importer fichier .ldf .mdf SQL server 2000 en 2005 sans utiliser au préalable le détache sur SQL server 2000


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut Importer fichier .ldf .mdf SQL server 2000 en 2005 sans utiliser au préalable le détache sur SQL server 2000
    Bonjour,

    comme le titre du poste l'indique, j'ai un grand nombre de base Sql server 2000 sous forme .ldf .mdf et non les back up.

    il faut que je puisse les utiliser sous sql server 2005 sans passer par sql server 2000

    pour le moment,

    la commande sp_attach_db revoie l'erreur 3415 "lecture seul"

    en regardant les différentes solution je bloque...

    Merci de vos conseils!

  2. #2
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Si vous ne détaillez pas plus votre problème, je crains que vous n'ayiez pas de réponse...

    Quelle contrainte vous empêche d'installer un SQL Server 2000 ?
    Pourquoi ne pouvez-vous pas récupérer des backups au lieu des .mdf et .ldf ?

    Cordialement,

    Arkhena

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Le libellé exact de l'erreur est :

    Impossible de mettre à niveau la base de données '%1!' car elle est en lecture seule ou contient des fichiers en lecture seule. Rendez la base de données accessible en écriture ou réexécutez la récupération.
    Donc ce qu'il faut savoir, c'est si la base de données (ou un de ses fichiers de données) est en lecture seule ?

    @++

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Dans mon entreprise nous avons plusieurs server.
    a l'interieur de ceux ci se trouve des banque de base de données sql server 2000 et 2005
    Je dois créer une procédure stockée qui prend en entrée un critère de selection des bases ainsi que le chemin pour y accéder.
    Cette procédure va imbriquer toutes les DB selectionnées (même structure) dans une seule.

    J'ai commencé a travailler sur SQL server 2005 et j'ai créer ma procédure pour des BDD sur des server 2005.

    Je n'arrive pas à mettre la main sur un CD d'installation SQL server 2005 qui fonctionne.

    je n'arrive pas du coup a créer des fichier .bak
    ni a utiliser la suite de commande detach / attach pour manipuler les fichier .mdf et .ldf

    Enfin mes fichiers sont bien en lecture seul. En cherchant une solution a l'erreur 3415,cela pointait sur l'attachement des BDD de 2000 vers 2005 et proposait une solution manuelle de détache via SQL SERVER 2000 puis de rattache via sql server 2005.

    Du coup, savez vous si il y a un moyent de passer outre cette phase de détachement via sql server 2000?

    Vous remerciant

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Donc l'idée, c'est de fusionner un certain nombre de bases de données en une seule, ce qui est très bien.

    Est-ce que chacune des bases de données comporte très exactement le même nombre de tables ?
    Si oui, est-ce que chacune de ces tables ont la même structure à travers toutes les bases de données ?

    Si tel est le cas, il vous suffit :

    - de créer une base de données supplémentaire
    - de scripter le schéma de l'une d'entre-elles
    - d'exécuter le script obtenu sur la nouvelle base de données
    - d'écrire une procédure qui copie les données de chacune des bases de données dans la nouvelle base de données
    - de prendre une sauvegarde de la nouvelle base de données (BACKUP DATABASE maNouvelleDB TO DISK = '')
    - de restaurer de fichier de sauvegarde sous une instance de SQL Server 2005

    Enfin mes fichiers sont bien en lecture seul.
    Une base de données, ce n'est pas un ensemble de fichiers. Toute base de données SQL Server comporte au moins deux fichiers : le fichier de données, qui peut être en lecture seule, et le fichier du journal des transactions. Mais elle peut aussi comprendre de nombreux fichiers de données, et quelques fichiers du journal des transactions !

    Le fait que vos fichiers soient en lecture seule n'est pas géré par l'OS Windows (donc ce que vous voyez dans l'explorateur de fichiers n'a aucune valeur, excepté la taille), mais par SQL Server. Vous pouvez réaliser cela sous SQL Server 2000 et suivants à l'aide du squelette de requête suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE maBD MODIFY FILEGROUP monGroupeDeFichiers READONLY
    Alternativement, vous pouvez rendre un groupe de fichier écrivable avec l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE maBD MODIFY FILEGROUP monGroupeDeFichiers READWRITE
    Mais c'est peut-être aussi votre base de données qui est en lecture seule. Pour la rendre écrivable, il suffit d'exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE maDB SET READ_WRITE -- ou à l'inverse, READ_ONLY
    @++

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Merci pour la réponse

    Donc si j'ai bien compris, je suis obligé de passer par SQLSERVER 2000 pour exploiter mes DB 2000?

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Non pas forcément.

    A la vue de ce que tu as écrit tu as un parc hétérogène d'instance SQL Server pour tes bases de données concernées (2000 et 2005).

    Si le but est de fusionner tes bases autant le faire directement sur la nouvelle version.

    ++

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    bonjour,

    bon j'ai du zapper une étape :

    comment puis-je rendre ma base read-write si elle n'est pas attaché dans mon instance?

    Comment puis-je attaquer la DB en ayant seulement son adresse ( c:\...)

    Enfin je n'ai pas tout saisi concernant le ' file Groupe ' Comment cela se passe...

    NB: la commande :

    ALTER DATABASE [maDB] SET READ_WRITE

    me lance l'erreur:

    "la DB n'existe pas ou vous n'avez pas les droits"

    Si elle existe pas --> elle n'est pas attachée
    Si je n'ai pas les droits --> comment puis-je vérifer cela?

    Et dernière question tant que j'y suis... :

    Dans l'idéal, je pourrai renseigner la localisation des DB a attaquer seulement en connaissant l'adresse :
    \\mon server\mon dossier\ma base

    Merci

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 856
    Points : 52 992
    Points
    52 992
    Billets dans le blog
    6
    Par défaut
    En aucun cas vous ne pouvez manipuler via SQL vos bases de données en se reposant sur la notion de fichier et de path...
    Le but des SGBDR a été justement d'éviter de mélanger des aspects physiques (accès à fichier) à des aspects logique (lecture écriture de données), ce que l'on pratiquait du temps du COBOL !

    Exprimez votre besoin plus en détail, car là vous faites visiblement fausse route...

    A +

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    je suis novice dans domaine, je vais essayer de réexpliquer de manière plus claire. j'imagine que je dois faire pas mal d'amalgame..

    comme je le disais dans mes précedent posts, je dois créer une procédure qui rassemble un grand nombre de BDD en une seule.

    j'ai deux "types" de DB :
    - les DB créent en SQL 2005: je me connecte a MSSMS 2005, je me connecte a un server Wincc et j'ai directement accès aux DB sans problème et j'ai pu faire ma requete qui fonctionne bien.

    - les DB créent en SQL 2000:
    via l'explorateur windows je me connecte au server j'ouvre le dossier ou se trouvent les DB: .mdf et . ldf/ certaines sont compressée, d'autre pas.
    Contrairement au cas précedent, je n'arrive pas a les manipuler via MSSMS 2005.
    en utilisant l'outil connect to server et en rentrant l'adresse du server je n'arrive pas a y avoir accès.

    Ma demande: comment y avoir accès sur MSSMS 2005 :
    afin de pouvoir y appliquer/adapter le script que j'ai fait pour le premier cas.

    J'ai cru comprendre qu'il fallait attacher/détacher pour pouvoir utiliser des BDD 2000 via MSSMS 2005, Or MSSMS 2005 affiche le message d'erreur reporté ci dessus.

    Merci

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/08/2012, 10h39
  2. Utiliser visual basic avec bd sur sql
    Par shaka17 dans le forum Visual Studio
    Réponses: 8
    Dernier message: 11/10/2010, 12h48
  3. comment importer fichier xls dans BD sql server 2000
    Par porki dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/04/2008, 14h53
  4. [SQL Server 2000] erreur lors importation fichier excel
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/03/2006, 09h24
  5. [SQL Server 2000] A quoi sert le fichier ldf ?
    Par bouboussjunior dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/10/2004, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo