none
Defekte SQL Server Datenbank RRS feed

  • Frage

  • Hallo

    Ich bin neu hier und verstehe nicht viel von SQL Datenbanken. Trotzdem hoffe ich,
    jemand kann mir weiterhelfen. Im voraus schon besten Dank.

    Ich benutze ein Musikverwaltungsprogaramm (Helium Music Manager) dass die Daten anhand
    einer von der Software (HMM) erstellten SQL Server Datenbank verwaltet.
    Danach hat man zig verschiedene Abfragemöglickeiten.

    Die Musikfiles werden über einen Button "Hinzufügen" in die Datenbank eingelesen.
    Somit erhält jedes File eine fortaufende Nummer (Counter?). Irgenwann bemerkte ich, dass trotz hinzugefügten Files
    sich der Zähler nicht mehr erhöhte. Nachdem ich die Daten mit dem SQL Server Management Studio angeschaut
    habe, schien es so, dass der Fehler von zu langen Pfad- + Dateinamen herkommen musste.
    Dannach habe ich die fehlerhaften Files geändert (Pfad verkürzt) und die ganze Sammlung wieder einlesen lassen.

    Trotzdem erhöhte sich der Zähler nicht.
    Danach eine neue SQL Server Datenbank erstellt und Files eingelesen.
    Zähler bei Null. Die Anzahl der Musialben und die der Künstler stimmte.

    Danach SQL Server deinstalliert und neu installiert.
    Files einlesen - Zähler bei Null. Die Anzahl der Musialben und die der Künstler stimmte.

    Es sieht so aus, als die Software irgenwelche Elemente von den Systemdatenbanken nimmt und diese
    beschädigt sind.

    Ich verwende MSSQL10-50.Sqlexpress. Hatte das Problem aber schon auf den Vorgängerversionen von SQL.
    Ich dachte mit einem Update löse sich das Problem.

    Nachstehend noch die Systeminformationen.

    Besten Dank

    Chritz

     

    Betriebsystemname Microsoft Windows 7 Home Premium
    Version 6.1.7600 Build 7600

    Betriebsystemhersteller Microsoft Corporation
    Systemname 
    Systemhersteller Acer
    Systemmodell Aspire 7738
    Systemtyp x64-basierter PC
    Prozessor Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz, 2133 MHz, 2 Kern(e), 2 logische(r) Prozessor(en)
    BIOS-Version/-Datum Phoenix Technologies LTD V2.12, 18.09.2009
    SMBIOS-Version 2.5
    Windows-Verzeichnis C:\Windows
    Systemverzeichnis C:\Windows\system32
    Startgerät \Device\HarddiskVolume3
    Gebietsschema Schweiz
    Hardwareabstraktionsebene Version = "6.1.7600.16385"
    Benutzername 
    Zeitzone Mitteleuropäische Zeit
    Installierter physikalischer Speicher (RAM) 4.00 GB
    Gesamter realer Speicher 3.99 GB
    Verfügbarer realer Speicher 1.92 GB
    Gesamter virtueller Speicher 9.98 GB
    Verfügbarer virtueller Speicher 7.43 GB
    Größe der Auslagerungsdatei 5.99 GB
    Auslagerungsdatei C:\pagefile.sys

    Dienstag, 11. Januar 2011 19:05

Antworten

  • Hallo Chritz,

    ich vermute, dass das Problem doch nicht direkt beim SQL Server liegt.
    Um die Datenbank zu prüfen, schau Dir die  Werte in der Spalte Detail_ID der Tabelle tblDetail an. Gibt’s Werte in der Spalte für alle Datenzeilen, schätze ich, dass die Datenbank in Ordnung ist und das Problem dem Softwarehersteller gemeldet werden soll.


    Gruß Yury
    Dienstag, 11. Januar 2011 22:15
  • Hoi Chritz,

    wenn der "Fehler" tatsächlich mit zu langen Pfad + Dateinamen zusammenhängen sollte, scheint mir das eher ein generelles Problem der Applikation zu sein und nicht eines des SQL Servers.

    Hast Du mal in dem Support-Bereich für diese Software nachgesehen? Habe gerade gesehen, dass dort auch ein Forum angeboten wird. Dort würde ich mal nachfragen, ob das Problem bekannt ist und wie man damit umgehen soll, bevor Du eigenhändig irgendetwas ändert und es dadurch vielleicht verschlimmbesserst.

     

     


    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    Mittwoch, 12. Januar 2011 06:33
  • Hallo Chritz,

    Mit SSMS meine ich das S QL S erver M anagement S tudio.

    Ich habe die Datenbank nicht vorliegen (und die "Umsonst Version" ist nur Access, was andere Grenzen hat).
    Aus der Erfahrung mit anderen (funktionierenden) Programmen:

    Schaue nach ob es weitere Tabellen (z. B. für die Verzeichnisse) gibt,
    ein nvarchar(512) würde allemale reichen.

    Eine Garantie das es mit einer Änderung der Datenbank alleine getan ist,
    gibt es leider nicht. Es hängt sehr davon ab, wie das Programm mit
    zu langen Verzeichnissen/Pfadnamen umgeht.

    Und ist somit Sache des Herstellers - macht der nicht mit, bleibt nur, die Verzeichnisnamen zu kürzen -
    oder ein anderes Programm zu suchen ;-)

    Gruß Elmar

    Mittwoch, 12. Januar 2011 13:30
    Beantworter

Alle Antworten

  • Hallo Chritz,

    ich vermute, dass das Problem doch nicht direkt beim SQL Server liegt.
    Um die Datenbank zu prüfen, schau Dir die  Werte in der Spalte Detail_ID der Tabelle tblDetail an. Gibt’s Werte in der Spalte für alle Datenzeilen, schätze ich, dass die Datenbank in Ordnung ist und das Problem dem Softwarehersteller gemeldet werden soll.


    Gruß Yury
    Dienstag, 11. Januar 2011 22:15
  • Hoi Chritz,

    wenn der "Fehler" tatsächlich mit zu langen Pfad + Dateinamen zusammenhängen sollte, scheint mir das eher ein generelles Problem der Applikation zu sein und nicht eines des SQL Servers.

    Hast Du mal in dem Support-Bereich für diese Software nachgesehen? Habe gerade gesehen, dass dort auch ein Forum angeboten wird. Dort würde ich mal nachfragen, ob das Problem bekannt ist und wie man damit umgehen soll, bevor Du eigenhändig irgendetwas ändert und es dadurch vielleicht verschlimmbesserst.

     

     


    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    Mittwoch, 12. Januar 2011 06:33
  • Hallo Yuri

    Besten Dank für die schnelle Antwort, super! Ich habe die genannte Tabelle geprüft. Es gibt für alle Datenzeilen einen Wert und zwar forlaufend wie die Datensätze. Das sieht eigentlich gut aus. Du bis also der Meinung, das müsste an der Software liegen.

    Die Software kann mit 3 verschiedenen Datenbankarten (Access, MySql + SQL Server) benutzt werden. SQL Server ist die Schnellste für viele Datensätze. Im Forum, wo unter anderem ja auch die Entwickler mitwirken finden sie es schon eine Meisterleistung eine Datenbank auf SQL aufzubauen, geschweigen denn ein Problem zu lösen. Meistens heisst es, ich verstehe nichts von SQL!

    Trotzdem besten Dank, so kann ich die Fehlerquelle etwas eingrenzen.

     

    Gruss Chritz

     

    Hallo Yuri

    Ich muss die oben gemachte Aussage korrigieren. Ich habe die falsche Datenbank kontrolliert. Die neu erstellte Datenbank weist in der Tabelle tblDetail keine Zeilen mit Datensätze aus. Sorry!

    Gruss Chritz

    Mittwoch, 12. Januar 2011 11:23
  • Hoi Kalis

    Auch Dir besten Dnak für die schnelle Anwort!

    Wie im vorangegangenen Tread bereits erwähnt ist das so eine Sache mit dem Forum und SQL Server! Dort hatte jemand mal ein gleiches Problem und es lag an den zu langen Pfad-+Dateinamen. Darum habe ich dann auch meine kontrolliert. Dieser hatte jedoch nachher kein Problem mit dem Zähler!

    Ich habe nur die Pfad-+Dateilänge geändert. An der Software habe ich nichts geändert.

    Trotzdem besten Dank, so kann ich die Fehlerquelle etwas eingrenzen.

     Gruss Chritz

    Mittwoch, 12. Januar 2011 11:31
  • Hallo Chritz,

    wenn ich http://www.helium-music-manager.com/forum/post19512.html#p19512 zugrunde lege,
    so sieht das Programm wohl nur 128 Zeichen vor. Die Windows Benutzeroberfläche sieht eine
    Länge von 260 Zeichen für die maximale Pfadlänge vor (NTFS noch mehr, aber das wäre hier nicht relevant )

    Du könntest testhalber Spalten für die Verzeichnis-/Dateinamen entsprechend vergrößern (über SSMS möglich).

    Was allerdings nur Aussicht auf Erfolg hat, wenn das Programm intern nicht eine Kürzung vornimmt.

    Gruß Elmar

    Mittwoch, 12. Januar 2011 12:32
    Beantworter
  • Hallo Elmar

    Besten Dank für die Antwort.

    Deine Feststellungen sind absolut richtig. Ich glaube aufgrund dieses Treads (Link) bin ich auf das Problem mit der Pfadlänge gekommen. Was ich aber nicht verstehe ist, wenn ich eine neue Datenbank anlege und die Files auf hoher Ebene (D:\Musik\Madonna\Album) einlesen lasse, der Zähler trotzdem auf Null steht, die Anzahl Alben und Anzahl Künstler jedoch stimmen.

    Meinst Du mit SSMS das Mangement Studio? Dort in der Tabelle dbo.tblDetail die Spalte mit der Bezeichnung path (nvarchar (512), NULL) den Wert bei den Eigenschaften erhöhen?

    Gruss Chritz

    Mittwoch, 12. Januar 2011 13:17
  • Hallo Chritz,

    Mit SSMS meine ich das S QL S erver M anagement S tudio.

    Ich habe die Datenbank nicht vorliegen (und die "Umsonst Version" ist nur Access, was andere Grenzen hat).
    Aus der Erfahrung mit anderen (funktionierenden) Programmen:

    Schaue nach ob es weitere Tabellen (z. B. für die Verzeichnisse) gibt,
    ein nvarchar(512) würde allemale reichen.

    Eine Garantie das es mit einer Änderung der Datenbank alleine getan ist,
    gibt es leider nicht. Es hängt sehr davon ab, wie das Programm mit
    zu langen Verzeichnissen/Pfadnamen umgeht.

    Und ist somit Sache des Herstellers - macht der nicht mit, bleibt nur, die Verzeichnisnamen zu kürzen -
    oder ein anderes Programm zu suchen ;-)

    Gruß Elmar

    Mittwoch, 12. Januar 2011 13:30
    Beantworter
  • Hallo Elmar

    Hab mir gedacht, dass es das Mangement Studio ist.

    Es gibt noch eine weitere Tabelle Namens tblVolumePaths, die aber auch ein nvarchar(512) hat. Ich habe aber festgestellt, dass ich keine Aenderungen speichern kann.

    Die Verzeichnisnamen habe ich gekürzt, doch der Fehler bleibt.

    Das mit einem anderen Programm suchen ist so eine Sache. Ich habe die Datenbank 5 Jahre mit Künstlerinformationen gefüllt! Es sind 10'000 Artisten die ein Cover und eine Bio haben :( Das Programm ist eigentlich absolut Spitze, und funktioniert hat es auch mal!

    Gruss Chritz

     

    Mittwoch, 12. Januar 2011 14:01
  • @Elmar

    die Express Version ist kostenlos und mit 10GB Max Grösse  ausreichend

     

    @chritzwagner

    ich nehme an das Du da viele Lieder hast und das Programm für die Anzahl einen Tiny Int oder Short Int verwendet.

    Dann bist vielleicht schon über der Max Anzahl dafür. Das würde dann auch dem entsprechen das die anderen Daten mit der

    Anzahl noch passen (Interpreten und Alben sind ja nun mal weniger als Songs.).

     

    Gruss

    Mittwoch, 12. Januar 2011 14:09
  • Hallo Helferlein

    Besten Dank für die Antwort.

    Das tönt gut! Ich habe eben mal eine Uraltversion des Helium Music Manager installiert. Da war noch alles ganz anders aufgebaut. Und siehe da, wenn ich ein paar Files einlesen lasse, alles Paletti! Trackzähler geht, alles geht! Also doch die Software:((

    Kannst Du mir vielleicht sagen, wie ich das mit dem Tiny Int und dem Short Int herausfinden kann? (Keine Ahnung was das ist)

    Besten Dank und Gruss

    Chritz

    Mittwoch, 12. Januar 2011 14:22
  • Hallo Chritz

     

    Leider nicht das ist ein Programmiersprachenproblem.

    Hab grad nochmal nachgesehen, Tinyint kann es nicht sein (der geht nur bis 255) also Shortint ( der geht bis 32000).

    Hast Du soviele Lieder?

     

    Gruss Helmut

    Mittwoch, 12. Januar 2011 14:46
  • Hallo Helmut

    Ja, es sind einige mehr. In den Foren von Helium habe ich gesehen, dass die Leute zwischen 70'000 und 120'000 Files in der Software verwalten.

    Kann man nirgends sehen, ob so ein Shortint gesetzt wurde? Kann der Shortint auch höher liegen?

    Besten Dank und Gruss

    Chritz

    Mittwoch, 12. Januar 2011 15:02
  • Hallo Chritz

     

    Aber wenn es bei Anderen fuktioniert dann kann es ja nicht am Programm liegen, oder die verwenden eine andere Version.

     

    Nein Shortint ist so kann noch Int sein der kann ca 2,5 Mrd,

    das wirst Du aber doch noch nicht erreicht haben ;-)

    Leider kann ich dann nimmer weiterhelfen.

    Grus Helmut

     

    Mittwoch, 12. Januar 2011 15:11
  • Hallo Helmut

    Ich bin schon noch etwas über 120'000, doch auf 2.5 Mrd komme auch ich nicht.

    Somit wäre diese Frage geklärt. Die Idee hat aber echt gut getönt. Ich dachte schon, du hättest den Hund gefunden.

    Trotzdem besten Dank, auch für die superschnellen Antworten.

    Gruss Chritz

    Mittwoch, 12. Januar 2011 15:23
  • Hi,

    Ich bin schon noch etwas über 120'000, doch auf 2.5 Mrd komme auch ich nicht.

    Somit wäre diese Frage geklärt. Die Idee hat aber echt gut getönt. Ich dachte schon, du hättest den Hund gefunden.

    Welcher Datentyp für welche Spalte verwendet wird, sieht man über das SQL Server (Express) Management Studio. Das hast Du ja. Dann einfach links die Tabelle auswählen und auf das + Zeichen bei "Spalten" klicken. Da steht das dann.

    Aber mal eine andere Frage: 120.000 lizenzierte Musiktitel? Bist Du DJ? Oder hast Du einen Volumenvertrag mit den Rechteinhabern?

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 12. Januar 2011 15:30
    Moderator
  • Hallo Helferlein,

    mit dem SQL Server bin ich inkl. Enterprise gut versorgt ;-)

    Die Aussage bezog sich auf die Helium Software -
    dort ist die Voraussetzung für SQL Server Express u. a. die Premium Version.

    Und ich helfe zwar gerne, aber um anderer Leute Fehler zu finden,
    lege ich nicht noch Geld dazu ,-))

    Gruß Elmar

    Mittwoch, 12. Januar 2011 15:43
    Beantworter
  • Hi,

    Das ist richtig, dort sehe ich den Datentyp. Dort steht int, also 2.5 Mrd.

    Mein Freund arbeitet fürs Radio!

    Besten Dank und Gruss Chritz

    Mittwoch, 12. Januar 2011 15:47