none
Verwenden lokaler Datenbankdatei RRS feed

  • Frage

  • Hallo allerseits,

    habe leider das Problem das ich lokale Datenbankdatei nicht verweden.
    Dazu habe ich im SQL-Server Pfad die beiden Dateien (mdf und ldf) heraus kopiert.


    Im Program sobald die Connection geöffnet wird con.Open() wird der Fehler

    Die Datenbankdatei ist möglicherweise beschädigt. Führen Sie das Reparaturdienstprogramm aus, um die Datenbankdatei zu überprüfen. [ Database name = ... ]

    ausgegeben.

    Habe mir in VS2017 eine Dienstbasierte Datenbankdatei erstellt inkl. Tabellen und Views etc., auch bei dieser Datei erhalte ich die geliche Fehlermeldung.
    Ganz gleich ob parametrisiert oder mit Statement in Klartext, oder ob die Datenbankdatei im APP-Verzeichnis liegt oder nicht, bekomme immer die gleiche Fehlermeldung.

    Eine neu erstellte Datenbankdatei oder die Datenbankdatei welches der SQL-Server verwendet kann/sollte nicht beschädigt sein :(

    Hat jemand Erfahrung damit bzw. was mache ich falsch?
    Wäre für jede Hilfe sehr dankbar.

    Lg
    Ge.Ri



    • Bearbeitet geRe.LI Dienstag, 14. April 2020 09:41
    Dienstag, 14. April 2020 09:39

Antworten

  • Hi,
    dein Bild lässt vermuten, dass die Datenbankdatei am SQL Server hängt und deshalb durch ihn blockiert ist. Solch eine Datenbankdatei kannst du nicht direkt im Programm nutzen (als attachedDB). Hänge die Datei mal vom SQL Server ab und teste es dann oder greife mit dem entsprechenden ConnectionString direkt auf den SQL Server zu. Was passiert dann?

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 07:07
    Dienstag, 14. April 2020 09:56
  • Die Datenbankdatei ist möglicherweise beschädigt. Führen Sie das Reparaturdienstprogramm aus, 

    Hallo,

    so eine Fehlermeldung habe ich im Zusammenhang mit SQL Server noch nie gesehen und in sys.messages ist er auch nicht vorhanden. Ein Reparaturdienstprogramm gibt es auch nicht.

    Aber ich kenne die Meldung von "SQL Compact Edition (CE)", kann es sein, das Du den falschen Provider gewählt hattest?


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 07:07
    Dienstag, 14. April 2020 11:33
  • In SSMS Rechte-Maus auf die Datenbank => Tasks => Trennen; siehe Anfügen und Trennen von Datenbanken (SQL Server)

    Nennt man auch Detach/Attach.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:29
    • Nicht als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:31
    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 09:31
    Mittwoch, 15. April 2020 09:07
  • Hi,
    ein einfacher Weg ist die Nutzung des Management Studios:


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    • Als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:29
    • Nicht als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:31
    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 09:31
    Mittwoch, 15. April 2020 09:08

Alle Antworten

  • Hi,
    dein Bild lässt vermuten, dass die Datenbankdatei am SQL Server hängt und deshalb durch ihn blockiert ist. Solch eine Datenbankdatei kannst du nicht direkt im Programm nutzen (als attachedDB). Hänge die Datei mal vom SQL Server ab und teste es dann oder greife mit dem entsprechenden ConnectionString direkt auf den SQL Server zu. Was passiert dann?

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 07:07
    Dienstag, 14. April 2020 09:56
  • Die Datenbankdatei ist möglicherweise beschädigt. Führen Sie das Reparaturdienstprogramm aus, 

    Hallo,

    so eine Fehlermeldung habe ich im Zusammenhang mit SQL Server noch nie gesehen und in sys.messages ist er auch nicht vorhanden. Ein Reparaturdienstprogramm gibt es auch nicht.

    Aber ich kenne die Meldung von "SQL Compact Edition (CE)", kann es sein, das Du den falschen Provider gewählt hattest?


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 07:07
    Dienstag, 14. April 2020 11:33
  • Hallo und Danke für die Rückmeldungen.

    @Peter
    Verstehe ich nicht ganz das die Datenbankdatei noch an SQL hängt wenn ich den Dienst gestoppt und die Datenbankdateien an einen anderen Ort gespeichert habe und diesen dann verwende.

    Der Zugriff auf SQL-Server funktioniert möchte lediglich auf eine Datenbankdatei zugreifen.
    Aber mit den Stichwort von dir

    oder greife mit dem entsprechenden ConnectionString direkt

    und der Antwort von @Olaf habe ich den ConnectionString angepasst und nun funktioniert es.
    Ich werde beide als Antwort markieren.

    Besten Dank und Lg
    Ge.Ri


    • Bearbeitet geRe.LI Mittwoch, 15. April 2020 07:09
    Mittwoch, 15. April 2020 07:07
  • Hi,
    auch ein Stoppen des SQL Server Dienstes reicht nicht, um die Datenbank-Datei vom Datenbankserver abzuhängen. In der Datenbankdatei verbleibt auch im arbeitslosen Zustand ein Vermerk, dass es sich nicht um eine selbständige Datenbankdatei handelt. Du musst sie wirklich abhängen.

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Mittwoch, 15. April 2020 08:19
  • Hei,

    und Danke für den Hinweiss, jedoch wie hänge ich die Datei dann wirklichkeit ab?
    In dem ich lediglich die Verbindung in SQL Server Manager trenne, oder einen anderen Speicherort wähle?

    Sry, ich weiß der Beitrag wurde zwar schon beantwortet, vielleicht kann ich das auch noch für mein Allgemeinwissen mitnehmen ;-)

    Danke in Voraus und Lg
    Ge.Ri

    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 09:31
    • Tag als Antwort aufgehoben geRe.LI Mittwoch, 15. April 2020 09:31
    Mittwoch, 15. April 2020 08:58
  • In SSMS Rechte-Maus auf die Datenbank => Tasks => Trennen; siehe Anfügen und Trennen von Datenbanken (SQL Server)

    Nennt man auch Detach/Attach.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:29
    • Nicht als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:31
    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 09:31
    Mittwoch, 15. April 2020 09:07
  • Hi,
    ein einfacher Weg ist die Nutzung des Management Studios:


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    • Als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:29
    • Nicht als Antwort vorgeschlagen WaZZkeSS Mittwoch, 15. April 2020 09:31
    • Als Antwort markiert geRe.LI Mittwoch, 15. April 2020 09:31
    Mittwoch, 15. April 2020 09:08
  • ... supi und Danke nochmals Olaf und Peter

    Lg
    Ge.Ri

    Mittwoch, 15. April 2020 09:32