Benutzer mit den meisten Antworten
Defekte SQL Server Datenbank

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 7600Betriebsystemhersteller 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
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- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
-
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- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
-
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
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
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- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
-
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- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
-
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
-
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
-
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
-
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
-
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
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Februar 2011 10:24
-
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
-
@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
-
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
-
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
-
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
-
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
-
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 -
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