Zum Inhalt springen

Einzelbenutzermodus geht nicht, was soll ich tun?


Musor

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. :rolleyes:

Es ist jetzt aber echt sch... Jemand eine Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...