13830
Goto Top

MSDE speicher zuweisen

Hallo,
ich habe mal eine Frage zu MSDE. Ich habe einen W2k3 Server installiert (Standard) und diesen mit einem McAfee ProtectionPilot Server versehen. Da McAfee aber eine SQL-Umgebung benötigt, hat es direkt eine MSDE mit installiert. Anschließend wurde auf dem Server noch ein WSUS eingerichtet, der die McAfee MSDE problemlos erkannt hat und auch selbst nutzt.
Soweit so gut, aber wenn ich mir nun im Task-Manager die Prozesse anzeigen lasse, sind zwei sqlservr.exe gestartet die sich munter immer mehr Arbeitsspeicher reservieren. Wie kommt es, dass die sqlservr.exe zweimal gestartet ist, wo doch die MSDE nur einmal installiert wurde? Kann es sein, dass sowohl McAfee, als auch WSUS eine eigene Instanz starten? Und ist es bei MSDE (ähnlich wie bei MSSQL) möglich, den Arbeitsspeicher zu limitieren - nicht, dass das System nächste Woche keine Ressourcen mehr hat, da alles bei MSDE liegt?

Schonmal Danke,
Marc

Content-Key: 14251

Url: https://administrator.de/contentid/14251

Ausgedruckt am: 28.03.2024 um 08:03 Uhr

Mitglied: MadMax
MadMax 27.08.2005 um 14:16:50 Uhr
Goto Top
Hallo Marc,

die Anfrage ist zwar schon wieder ein paar Tage alt, aber vielleicht kannst Du ja trotzdem noch was damit anfangen:
Wenn Du wissen willst, ob ob zwei Instanzen der MSDE laufen, mußt Du mal in die Dienste schauen, da sind sie nämlich aufgeführt.

Zu der Frage mit dem Arbeitsspeicher: die MSDE ist ein SQL Server, allerdings ohne die Clienttools, mit denen sie bequem bearbeitet werden könnte. Wenn Du aber irgendwo einen Enterprise Manager von SQL Server installiert hast, kannst Du die MSDE ganz normal wie jeden anderen SQL Server registrieren und bearbeiten, auch die Speichereinstellungen.

Solltest Du keinen Enterprise Manager zur Hand haben geht es natürlich auch per SQL. Zu dem Zweck bringt die MSDE wenigstens ein kleines DOS-Programm mit, OSQL. Jedes andere Programm, in dem Du SQL absetzen kannst, geht auch, z.B. MS Query. Die Befehle für den Speicher lauten:
exec sp_configure 'min server memory', [Untergrenze]
exec sp_configure 'max server memory', [Obergrenze]
reconfigure

Gruß, Mad Max
Mitglied: 13830
13830 05.09.2005 um 11:55:09 Uhr
Goto Top
Hallo Mad Max,
danke für deine Hilfe. Wie es aussieht, ist die MSDE nicht zweimal gestartet, obwohl sie immer noch zweimal in den Tasks steht. Ich habe versucht die Speicherzuweisung über osql einzustelln, allerdings bekomme ich immer nur ein '[Shared Memory]SQL Server existiert nicht oder Zugriff verweigert.' Komisch ist halt nur, dass ich nur einen Admin eingerichtet habe, den ich auch für alles auf der Maschine verwende. Naja, augenblicklich ziehen sich die beiden Tasks aber gerade mal 150 MB (zusammen, nicht jeweils). Und da ich noch genug anderes machen muss, werde ich mich wohl erst in ein paar Tagen damit wieder beschäftigen können. Auf jeden Fall gebe ich nochmal Bescheid, ob (und wie) ich es hinbekommen habe.

Gruß, Marc
Mitglied: MadMax
MadMax 08.09.2005 um 20:43:29 Uhr
Goto Top
Hallo Marc,

da versuchst Du Dich wohl an der falschen (nicht existenten) Datenbank anzumelden ...

Gibst Du auch die nötigen Parameter für osql an?

Gruß, Mad Max
Mitglied: 13830
13830 12.09.2005 um 14:53:56 Uhr
Goto Top
Hallo Mad Max,
ich habe versucht mich mit 'osql -U Administrator' einzuloggen. Das ist auch der einzige Account der auf der Maschine freigeschaltet wurde und ich kann mich auch nicht erinnern bei irgend einer weiteren Installation noch ein weiteres (programminternes) Benutzerkonto erstellt zu haben. Als einzig weitere Option wird mir noch -E angeboten, allerdings kann ich mir darauf keinen Reim machen und eine help-Datei scheint auch nicht vorhanden zu sein (zumindest gibt es nicht den -h Parameter).

Gruß, Marc
Mitglied: MadMax
MadMax 12.09.2005 um 16:39:30 Uhr
Goto Top
Hallo Marc,

ich meinte auch nicht den falschen Benutzer, sondern den falschen Datenbankserver. Normalerweise meldet sich osql am lokalen Server an. Allerdings klappt das möglicherweise nicht, weil z.B. eine benannte Instanz auf dem Rechner ist, dann ist der DB-Server nämlich [Server]\[Instanz]. Wenn Du osql also mit
osql -E -S[Server]\[Instanz]
oder
osql -U[Benutzer] -P[Passwort] -S[Server]\[Instanz]
aufrufst, sollte es funktionieren. -E verwendet hierbei eine vertraute Verbindung, -U/-P verwendet Benutzer/Passwort.

Wenn Du nicht weißt, ob Du eine benannte Instanz hast und wie sie heißt, dann schau mal in die Registry. Unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ findest Du die Schlüssel "8.00.000" und "80". Wenn dort noch andere Schlüssel auf der Ebene sind, dann sind das die Instanznamen.

Achja, die Parameter von osql erhältst Du übrigens mit osql -?.

Und unter http://www.microsoft.com/downloads/details.aspx?displaylang=de&Fami ... läßt sich auch die aktuelle Dokumentation von SQL Server runterladen, da gibt es auch eine Seite zu osql. Wenn Du mir Deine Emailadresse gibst, schicke ich Dir die eine Seite auch gerne im PDF-Format.

Gruß, Mad Max
Mitglied: 13830
13830 12.09.2005 um 17:01:53 Uhr
Goto Top
Hallo Mad Max,
erstmal Danke für deine Ausdauer. Aber entweder stelle ich mich zu bl.. an, oder irgendwas geht hiert nicht so wie es soll. Ich habe in der Registry an der angegebenen Stelle
vier Unterordner (80, Component Set, EPOSERVER und WSUS) und
vier Schlüssel ((Standard), InstallesInstances - welcher die Werte EPOSERVER und WSUS hat, SqlMdacRegRefCount und SsrpActiveServer)

Entsprechend deinen Tips habe ich mal versucht mich mit 'osql -E -S\' mit 'osql -E -S\WSUS' und mit 'osql -E -S WSUS' anzumelden (natürlich auch mit 'osql -U Administrator -P Passwort -S\ usw.' und auch mit EPOSERVER anstelle von WSUS).

Aus irgendeinem Grund bekomme ich immer dieselbe Fehlermeldung. Der Server steht zwar seit nem Monat unter Beobachtung und ist speichermäßig doch nicht so hungrig wie befürchtet, aber irgendwie wurmt mich nun die Situation. Leider habe ich augenblicklich auch nicht die Zeit mich da richtig reinzuhängen, da einer meiner Adminkollegen unsere Firma verlassen hat und wir nun mit der Arbeit kaum nachkommen - und dann an funktionierenden Servern rumfummeln geht (lt. unserem Chef) nun wirklich nicht...
Mitglied: MadMax
MadMax 12.09.2005 um 19:56:06 Uhr
Goto Top
Ups, Entschuldigung, ich hatte für die einzutragenden Parameter als Klammern die größer/kleiner-Zeichen verwendet, die haben das, was dazwischen stand einfach nicht angezeigt. Ich habe als Klammern jetzt genommen, soll aber nicht heißen, daß die Angaben optional sind.

Bei Deinen Versuchen fehlt eigentlich nur noch der Name des Rechners vor dem "\".
Mitglied: 13830
13830 13.09.2005 um 08:52:19 Uhr
Goto Top
Super, ich kann die MSDE nun tatsächlich konfigurieren (zumindest kommt nach 'osql -E -S WSUS\WSUS' (der Server heißt auch WSUS) in der Komandozeile ein 1>). Wenn ich nun exec sp_configure 'max server memory', [128] eingebe, habe ich dann als Obergrenze 128 KB oder 128 MB? Wird das sofort übernommen? Wenn das nämlich sofort übernommen wird und ich dann nur 128 KB habe, dürfte mit der MSDE nicht mehr viel los sein.

Aber nochmals vielen, vielen Dank. Du hast mir bisher schon enorm geholfen.

Gruß, Marc
Mitglied: MadMax
MadMax 13.09.2005 um 14:29:31 Uhr
Goto Top
Hallo Marc,

schön, daß es erst mal soweit klappt face-smile

Die Angabe erfolgt in MB, der Wert ist nicht sofort aktiv. Erst nach der Anweisung 'reconfigure' oder einem Neustart der Datenbank wird er aktiv. osql hat außerdem die Besonderheit, daß man 'go' eintragen muß, damit die eingetragenen Befehle ausgeführt werden. Wenn Du also an der Eingabeaufforderung folgendes eingibst:
exec sp_configure 'max server memory', 128
reconfigure
go

dann sind die 128 MB aktiv.

Mit
exec sp_configure
go

kannst Du die Konfigurationswerte prüfen.

Gruß, Mad Max
Mitglied: 13830
13830 14.09.2005 um 12:19:14 Uhr
Goto Top
Hallo Mad Max,
ich habe die Werte nun zugewiesen. Sieht soweit auch alles ganz klasse aus.

Nochmals vielen Dank,
Marc