jannik2018
Goto Top

Microsoft SQL Server Leistungsanpassung

Hallo zussammen,

kennt jemand eine Möglichkeit per CMD Powershell o.ä. Dem MSSQL Server mehr Arbeitsspeicher zuzuweisen?

Ich wäre für jeden Vorschlag dankbar.

Beste Grüße

Jannik

Content-ID: 1685229080

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

Printed on: October 9, 2024 at 16:10 o'clock

wiesi200
wiesi200 Jan 03, 2022 at 15:42:00 (UTC)
Goto Top
Hallo, indirekt sollte es funktionieren.
Das geht per SQL Script.
https://docs.microsoft.com/de-de/sql/database-engine/configure-windows/s ...

Und das kannst du per Powershell ausführen.
MadMax
MadMax Jan 03, 2022 at 16:08:51 (UTC)
Goto Top
Hallo,

entweder per Kommandozeile mit SQLCMD oder in Powershell mit Invoke-Sqlcmd.

Der auszuführende Befehl ist dann das sp_configure mit den entsprechenden Parametern, was in dem Link von wiesi aufgeführt ist.

Gruß, Mad Max
Jannik2018
Jannik2018 Jan 03, 2022 updated at 16:34:10 (UTC)
Goto Top
wäre es möglich den Powershell Command hier zu posten?
wiesi200
wiesi200 Jan 03, 2022 at 18:07:52 (UTC)
Goto Top
Also so schwer währe es jetzt wirklich nicht.

das sind nur zwei Befehle die du nur kombinieren musst.

Nicht mal groß was abwandeln.
Jannik2018
Jannik2018 Jan 03, 2022 at 19:30:10 (UTC)
Goto Top
Copy Paste ist aber noch einfacher face-smile
MadMax
MadMax Jan 03, 2022 at 19:41:25 (UTC)
Goto Top
Ab und zu weiß man nicht mehr, was man schreiben soll. Ich bin dann mal raus hier. Viel Erfolg, die nötigen Infos hast Du.
wiesi200
wiesi200 Jan 03, 2022 at 20:04:57 (UTC)
Goto Top
Zitat von @Jannik2018:

Copy Paste ist aber noch einfacher face-smile

ein bisschen Eigeninitiative wollen wir hier meistens schon sehen.

Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.
Komm schon, alles da du musst nur per Copy Paste zwei Befehle zusammen führen. Mach nen Vorschlag wie es denn richtig ist. Bei Problemen helfen wir dann schon weiter.
Dani
Dani Jan 03, 2022 at 20:06:15 (UTC)
Goto Top
Moin,
Copy Paste ist aber noch einfacher face-smile face-smile
ein bisschen Eigeninitiative hat noch nie und niemanden geschadet. Gerade in einem Forum wie diesem, wo ein Großteil in ihrer Freizeit, doch umfangreiche Unterstützung anbieten. Da ist es doch sicherlich nicht zu viel erwartet, dass der Fragesteller aktiv mitwirkt. Gerne darfst du deine PowerShell Befehle vorab nochmals zur Kontrolle und für die Nachwelt posten.


Gruß,
Dani
Jannik2018
Jannik2018 Jan 03, 2022 at 20:13:09 (UTC)
Goto Top
Scheint er nicht zu kennen brauche ich da noch eine Erweiterung oder sowas ??


screenshot 2022-01-03 211250
Jannik2018
Jannik2018 Jan 03, 2022 at 20:21:27 (UTC)
Goto Top
Zitat von @Dani:

Moin,
Copy Paste ist aber noch einfacher face-smile face-smile
ein bisschen Eigeninitiative hat noch nie und niemanden geschadet. Gerade in einem Forum wie diesem, wo ein Großteil in ihrer Freizeit, doch umfangreiche Unterstützung anbieten. Da ist es doch sicherlich nicht zu viel erwartet, dass der Fragesteller aktiv mitwirkt. Gerne darfst du deine PowerShell Befehle vorab nochmals zur Kontrolle und für die Nachwelt posten.


Gruß,
Dani

Alles klar hiermit gepostet
Set-DbaMaxMemory -SqlInstance sqlserver1 -Max 2048
wiesi200
wiesi200 Jan 03, 2022 at 20:38:30 (UTC)
Goto Top
Das ist der SQL Teil.
du brauchst noch den Powershell Teil

Invoke-Sqlcmd

zu finden in der Antwort von @MadMax
Jannik2018
Jannik2018 Jan 03, 2022 updated at 21:43:02 (UTC)
Goto Top
habs mal versucht zu kombinieren
Invoke-Sqlcmd -Query "sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 8096;
GO
RECONFIGURE;
GO"

und für min

Invoke-Sqlcmd -Query "sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'min server memory', 8096;
GO
RECONF
Dani
Dani Jan 04, 2022 at 10:42:51 (UTC)
Goto Top
Moin,
Scheint er nicht zu kennen brauche ich da noch eine Erweiterung oder sowas ??
wenn du dieses cmdlet Set-DbaMaxMemory nutzen möchtest, Ja. Es gehört nicht Microsoft sondern zu dbatools.

habs mal versucht zu kombinieren
Funktionieren die beiden Abfragen oder nicht? Wenn nicht welche Fehler wird ausgegeben?


Gruß,
Dani
Jannik2018
Jannik2018 Jan 04, 2022 updated at 11:02:45 (UTC)
Goto Top
Zitat von @Dani:

Moin,
Scheint er nicht zu kennen brauche ich da noch eine Erweiterung oder sowas ??
wenn du dieses cmdlet Set-DbaMaxMemory nutzen möchtest, Ja. Es gehört nicht Microsoft sondern zu dbatools.

Ich nehme einfach mal an es geht auch ohne
habs mal versucht zu kombinieren
Funktionieren die beiden Abfragen oder nicht? Wenn nicht welche Fehler wird ausgegeben?


Gruß,
Dani

Ich wollte es nicht so Blind ausprobieren ist grade bei mir da bisschen wie Operation am offenen Herzen deswegen hatte ich auch dierekt nach dem Befehl gefragt um nichts zu zerstören
Dani
Solution Dani Jan 06, 2022 at 11:20:05 (UTC)
Goto Top
Moin,
Ich wollte es nicht so Blind ausprobieren ist grade bei mir da bisschen wie Operation am offenen Herzen deswegen hatte ich auch dierekt nach dem Befehl gefragt um nichts zu zerstören
warum nicht einfach in einer Testmaschine einen SQL Server (Express) installieren und ausprobieren?

Invoke-Sqlcmd -Query "sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 8096;
GO
RECONFIGURE;
GO"
Ich würde es so probieren:
$sql = '@  
sp_configure 'max server memory', 8096  
reconfigure
GO
'@  

Invoke-SqlCmd -Query $sql -ServerInstance <SQL server>

Gruß,
Dani