Musor Geschrieben 13. Oktober 2006 Teilen Geschrieben 13. Oktober 2006 Hallo, ich will folgendes Script ausführen: DBCC CHECKDB ('EXAMPLE', REPAIR_ALLOW_DATA_LOSS) Dabei kommt es zu einem Fehler, dass die DB muss im Einzelbenutzermodus sein. Für Einzelbenutzer modus habe ich folgendes Script verwendet: exec sp_dboption 'Example','single user','TRUE' Der wurde auch erfolgreich ausgeführt, aber der erste Script geht immer noch mit dem gleichen Fehler. Ich habe einen MS SQL 2000 und versuche die Example wiederherzustellen, von dem ich nur mdf und ldf Dateien habe (kein bak). Habe den Script: UPDATE SYSDATABASES SET STATUS = 32768 WHERE NAME='EXAMPLE' dafür benutzt um die db wiederherzu. Ich habe folgende Fragen: 1. Wieso kann ich kein checkdb ausführen? 2. Wieso schaltet sich dafür der single mod nicht ein? 3. Wie kann ich den letzten Script umkehren bzw Normal Status für den Datenbank erreichen? 4. Was ist ein Bypass Recovery-Modus? Vielen Dank für die Hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Musor Geschrieben 13. Oktober 2006 Autor Teilen Geschrieben 13. Oktober 2006 HIIIEELFE Ich habe den Einzelbenutzermodus aktiviert (unter Startparametern die -m eingefügt) und jetzt kann ich überhaupt nichts mehr machen. :eek Die Startparametern habe ich mit Enterprise Manager verändert und jetzt kann ich das nicht mehr zurück ändern. Bei der verbindung kommt immer wieder der Satz, dass nur ein Administrator sich anmelden kann. WIE kommt das denn zu stande? Ist das wegen dem Extrakonto für SQL Server Dienst? Und wie kann ich das ändern? Hab schon versucht mich mit dem ServerKonto anzumelden, geht aber trotzdem nicht. Es ist jetzt aber echt sch... Jemand eine Idee? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Musor Geschrieben 13. Oktober 2006 Autor Teilen Geschrieben 13. Oktober 2006 Entwarnung alles wieder im griff, bis auf die Fragen des ersten Teils UND Warum wurde ich im Einzelbenutzer Modus ausgespert? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 13. Oktober 2006 Teilen Geschrieben 13. Oktober 2006 erstmal: keine panik! WIE kommt das denn zu stande? Ist das wegen dem Extrakonto für SQL Server Dienst? Und wie kann ich das ändern? [...] Warum wurde ich im Einzelbenutzer Modus ausgespert? wenn du die instanz mit -m startest, ist ein einziger zugriff möglich. vergewissere dich also, dass nicht ein zweites query analyzer fenster oder der SQLSERVERAGENT auf die instanz zugreifen. der beschriebene fehler (bitte zukünftig vielleicht genau mit angeben muss dann wohl 18461 sein. so, und dann lass ma mal laufen: exec sp_dboption 'meinedatenbank','single user','TRUE' Befehl(e) wurde(n) erfolgreich abgeschlossen. DBCC CHECKDB ('meinedatenbank', REPAIR_ALLOW_DATA_LOSS) DBCC-Ergebnis für 'meinedatenbank'. [...] Von CHECKDB wurden 0 Zuordnungsfehler und 0 Konsistenzfehler in der 'meinedatenbank'-Datenbank gefunden. Die DBCC-Ausführung wurde abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an den Systemadministrator. exec sp_dboption 'meinedatenbank','single user','FALSE' Befehl(e) wurde(n) erfolgreich abgeschlossen. mit dem parameter -m gestartet (am einfachsten über die diensteigenschaften) startet die instanz ohnehin mit sp_configure 'allow updates' d.h. das muss nicht mehr angegeben werden. dann mittels SELECT name, databasepropertyex(name, 'status') FROM master.dbo.sysdatabases den status der db merken. dann datenbank reparieren Wie kann ich den letzten Script umkehren bzw Normal Status für den Datenbank erreichen? indem anschliessend mit ALTER DATABASE meinedatenbank SET online die datenbank wieder online gestellt wird. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Musor Geschrieben 16. Oktober 2006 Autor Teilen Geschrieben 16. Oktober 2006 Danke Habe jetzt nur das Problem, die DBCC CHECKDB ('EXAMPLE', REPAIR_ALLOW_DATA_LOSS) REPAIR-Anweisung nicht verarbeitet. Datenbank muss im Einzelbenutzermodus befinden. auszuführen. Der Server ist aber im Einzelbenutzermodus (Startparametern -m) DBCC CHECKDB ('EXAMPLE') zeigt leider mir 39 Reservierungsfehler und 967 Konsistenzfehler. Und ich kann kein REPAIR starten Gibt es eine Möglichkeit die DB zu Repariren gleich nach dem Serverstart (vor allen anderen anmeldungen)? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Musor Geschrieben 19. Oktober 2006 Autor Teilen Geschrieben 19. Oktober 2006 Hat den wirklich keiner eine Idee, wieso ich 1. im Einzelbenutzermodus beim Ausführen des Befehls CHECKDB REPAIR (mit QueryAnalyser) eine Meldung kriege, dass die DB im Einzelbenutzermodus sein sollte? 2. Wie könnte ich alle anderen Benuter rausschmeissen um CHECKDB auszuführen? (exec sp_dboption 'Example','single user','TRUE' und ALTER DATABASE meinedatenbank SET single_user werden ausgeführt aber helfen nicht) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
realgun Geschrieben 25. Oktober 2006 Teilen Geschrieben 25. Oktober 2006 Hat den wirklich keiner eine Idee, wieso ich 1. im Einzelbenutzermodus beim Ausführen des Befehls CHECKDB REPAIR (mit QueryAnalyser) eine Meldung kriege, dass die DB im Einzelbenutzermodus sein sollte? 2. Wie könnte ich alle anderen Benuter rausschmeissen um CHECKDB auszuführen? (exec sp_dboption 'Example','single user','TRUE' und ALTER DATABASE meinedatenbank SET single_user werden ausgeführt aber helfen nicht) Also bei mir hat das so geklappt: Im Enterprise Manager geschaut ob Prozesse auf die DB zugreifen. (Bei mir wars die MSDB). Ein Prozeß war auf jeden Fall der SQL - ServerAgent, sonst natürlich andere DBs, die auf die MSDB zugreifen. Damit mir keine andere DB dazwischenfunkt habe ich alle BenutzerDBs "offline" geschaltet. Zum testen ob kein anderer Benutzer/Prozeß auf die DB zugreift hab ich immer wieder versucht die DB im EM auf Einzelbenutzermodus zu schalten. Wenn noch was da war (z.b. Query Analyzer, Agent,...) kam eine Fehlermeldung. Anschließend den Quälenden Analyser gestartet (und EM beendet und natürlich den Einzelbenutzermodus vorher ausgeschaltet) und den EinzelbenutzerModus mit sp_dboption eingeschaltet, checkdb ausgeführt und die DB wieder mit sp_dboption auf Mehrbenutzer zurückgeschaltet. Zum Schluß wieder alles per EM Online geschaltet und den Integritätscheck mit dem Agent durchlaufen lassen. Nun läuft wieder alles wie gewünscht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 25. Oktober 2006 Teilen Geschrieben 25. Oktober 2006 2. Wie könnte ich alle anderen Benuter rausschmeissen um CHECKDB auszuführen? (exec sp_dboption 'Example','single user','TRUE' und ALTER DATABASE meinedatenbank SET single_user werden ausgeführt aber helfen nicht) Versuchs doch mal mit ALTER DATABASE meineDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.