Ich habe eine Datenbankdatei erhalten. Die Anweisungen zum Laden lauten, SQL Server 2005 zu installieren und dann mit SQL Server Management Studio anzuhängen.
Nachdem ich alles installiert hatte, habe ich versucht, die MDF-Datei anzuhängen, aber dann heißt es:
Die Verzeichnissuche für die Datei "D: {Ordnername} {Dateiname} .LDF" ist mit dem Betriebssystemfehler 21 fehlgeschlagen (Fehler nicht gefunden).
Eine LDF-Datei wurde nicht mit der Datenbank geliefert, daher sollte sie vermutlich automatisch generiert werden.
Auf dem Laufwerk D befindet sich mein CD-Laufwerk, sodass dort nichts gefunden wird. Es wird auch kein Glück haben, dort etwas zu erschaffen.
Warum wird versucht, unter einem bestimmten Pfad nach einer Protokolldatei zu suchen? Warum nicht, wo sich die Datenbankdatei befindet?
Wie kann ich diese Datenbank anhängen?
Ich habe festgestellt, dass bei der Auswahl einer anzuhängenden Datenbank drei Einträge unter "Datenbankdetails" angezeigt werden. ein MDF, NDF und LDF. Der "aktuelle Dateipfad" des LDF zeigt auf den Laufwerkspfad D oben, daher habe ich ihn entfernt.
Wenn ich diesmal auf "OK" drücke, wird eine andere Fehlermeldung angezeigt:
Die Datenbank kann nicht aktualisiert werden, da sie schreibgeschützt ist oder schreibgeschützte Dateien enthält.
Machen Sie die Datenbank oder Dateien beschreibbar und führen Sie die Wiederherstellung erneut aus.Dateiaktivierungsfehler. Der physische Name D: {Ordner} {Datei} .LDF ist möglicherweise falsch.
Neue Protokolldatei "..." wurde erstellt. (Microsoft SQL Server, Fehler: 3415)
Jetzt wird eine neue Protokolldatei im selben Ordner wie die Datenbankdatei erstellt. Das ist großartig, aber es scheint, dass es Sicherheitsprobleme gibt.
Zusätzliche Information:
Nach den Anweisungen muss ich den Anmeldenamen "sa" verwenden, bei dem es sich anscheinend um das Systemadministratorkonto handelt. Ich bin über diese Anmeldung mit meiner SQL Server-Instanz verbunden.
Ich habe die Dateieigenschaften überprüft, dass sie nicht schreibgeschützt sind. Das Verzeichnis ist auch nicht schreibgeschützt. Alle ACLs sind zulässig.
Ich kann die Datenbank nicht anhängen. Wenn ich versuche, es anzuhängen, wird eine Fehlermeldung mit der Meldung "Datenbank anhängen fehlgeschlagen" ausgegeben.
Das Schließen von SSMS und das erneute Öffnen als Administrator machten keinen Unterschied.
select SERVERPROPERTY('ProductVersion')
gibt 9.00.4035.00 zurück. Es gibt eine weitere Datei mit der Datenbank "dbdata.ini", in der "IsSql2000 = 1" steht. Vermutlich soll sie in SQL Server 2000 geladen werden. Ich werde sehen, ob ich sie auf 2000 zum Laufen bringen kann.
quelle
LOG ON
mit dem Matchingldf
hat das Problem für mich nicht gelöstIch habe gerade einen Beitrag gefunden, der diese Frage beantwortet hat:
Dies funktioniert möglicherweise nicht in allen Fällen, aber ich habe versucht, die semantische Suchdatenbank zu installieren, und habe den gleichen Fehler erhalten.
Sie müssen SQL Server Management Studio als Administrator ausführen, und es funktioniert.
quelle
quelle
Klicken Sie mit der rechten Maustaste nacheinander auf die
.mdf
und.ldf
-Dateien und klicken Sie auf "Eigenschaften". Klicken Sie dann unten auf "Diese Datei stammt von einem anderen Computer und wird möglicherweise blockiert, um diesen Computer zu schützen". Klicken Sie auf die Schaltfläche "Blockierung aufheben".Klicken Sie dann mit der rechten Maustaste auf -> Eigenschaften, -> Registerkarte "Sicherheit" -> Schaltfläche "Bearbeiten", wählen Sie "Benutzer" aus und erteilen Sie die Berechtigung zur vollständigen Kontrolle.
quelle
In meinem Fall war die Auflösung mit bis SSMS einzuloggen Fenster Auth - Modus statt dem SQL - Benutzer, die Sysadmin - Rolle hat. Stellen Sie einfach sicher, dass der Benutzer, den Sie im Windows-Authentifizierungsmodus verwendet haben, über eine ordnungsgemäße Berechtigung verfügt (mein Fall war sysadmin). Ich vermute, dass der SQL-Benutzer keine ordnungsgemäße Berechtigung hat. (Dieses Problem tritt auf, wenn ich mdf und ldf von verschiedenen migriere / kopiere Maschine)
quelle
In unserem Fall keine Berechtigungen, es war die Version von SSMS!
(Es war 2012 vor Ort, wo wir den Fehler bekamen, aber es funktionierte, als wir SSMS 17+ von einer Remote-Box verwendeten)
quelle
Ich habe auch dieses Problem bekommen. Ich habe meinen Kunden beim Neustart des SQL-Dienstes unterstützt und konnte den MDF wie gewohnt anhängen.
quelle
1) Öffnen Sie SQL Server Configuration Manager
2) Wählen Sie SQL Server Services (linker Bereich).
3) Doppelklicken Sie auf Ihren SqlServer (rechter Bereich)
4) Wählen Sie die Registerkarte Anmelden
5) Aktivieren Sie das integrierte Optionsfeld und ändern Sie das lokale System oder den Netzwerkdienst in der Combobox.
6) Klicken Sie auf OK.
7) Fügen Sie die MDF-Datei im SQL Server-Manager hinzu.
quelle
Ihr SQL Server-Dienst wird wahrscheinlich unter dem Konto NT Service \ MSSQLServer ausgeführt . Durch Ändern des lokalen Systems erhält es Zugriff.
Am besten erstellen Sie einen Benutzer und erteilen diesem Benutzer die vollständigen Berechtigungen für den Ordner, in dem sich die Dateien befinden.
quelle