2016-05-17 4 views
1

Ich bin gerade dabei, die Standardkonfigurationseinstellungen von SQL Server 2008 R2 zu evaluieren. Ich habe die unten Skript auf dem Produktionsserver laufen gestellt: auf dieseSQL-Konfiguration: Pros & Contras

sp_configure 'remote query timeout', 0 
sp_configure 'max server memory (MB)', 28000 
sp_configure 'remote login timeout', 300 
go 
reconfigure with override 
go 

Bevor ich habe versucht, die Vor- und Nachteile jeder Zeile von SQL-Code zu messen.

Herausgegeben am 17. Mai 2016 14.19 IST:

Wenige Microsoft Links, die ich genannt habe, sind wie folgt:

https://msdn.microsoft.com/en-us/library/ms178067.aspx

https://msdn.microsoft.com/en-IN/library/ms175136.aspx

Bearbeitet am 23-Mai-2016 11:15 IST:

Ich habe den 'MAX SERVER MEMORY' basierend auf Feedback hier und weitere Untersuchung von meinem Ende gesetzt. Ich habe dem Kunden Rückschlüsse gezogen. Ich habe auch meine Rückschlüsse auf die anderen 2 Abfragen basierend auf Ansichten und Antworten hier zur Verfügung gestellt. Danke an alle für Ihre Hilfe. Ich werde diese Frage nach Eingaben des Kunden aktualisieren.

+2

Führen Sie auf einem Produktionsserver nichts aus, es sei denn, Sie haben ihn auf einem Testserver ausgeführt und die Auswirkungen bestätigt. Üben und forschen Sie, bevor Sie sich Ihrem Live-Server nähern. –

+0

haben Sie die Abfrage in Ihrem Server versucht? – tharif

+0

@utility - Ich habe die Abfrage auf dem lokalen System versucht. Ich habe nichts Schlüssiges bemerkt. – Ankush

Antwort

0

folgende Abfrage wird die Abfrage-Timeout auf 0 gesetzt, das heißt kein Timeout

sp_configure 'remote query timeout', 0 

enter image description here

Dieser Wert hat keine Auswirkung auf Abfragen, die von dem Datenbank-Engine erhalten. Um das Zeitlimit zu deaktivieren, legen Sie den Wert auf 0 fest. Eine Abfrage wartet, bis abgebrochen wird.

sp_configure 'max server memory (MB)', 28000 

Menge an Arbeitsspeicher (in Megabyte), die von einer Instanz von SQL Server verwendete die SQL Server Memory Manager für SQL Server-Prozess verwaltet wird.

sp_configure 'remote login timeout', 300 

Wenn Sie Anwendungen haben, die remote Verbindung zum Server, können wir Timeout mit der obigen Abfrage gesetzt.

Hinweis:

Sie können auch die Servereigenschaften über SSMS (Management Studio) gesetzt, wo Sie die Maximal- und Minimalwerte eher unter Verwendung der Codes festlegen können, wie in Ihrem Beitrag angezeigt.

enter image description here

können Sie versuchen, sehr gut diese Abfragen, aber Einstellungen, die Sie entscheiden, in würden davon abhängen, Hardware und Anwendungstyp Sie arbeiten möchten.

0

Ich würde im Allgemeinen sagen, dass diese Aussagen ziemlich idiotisch sind. Ja, ernsthaft.

Zeile für Zeile:

sp_configure 'remote query timeout', 0

macht Abfragen vor Abbruch unbegrenzte Zeit. Während ich akzeptiere, dass es lange laufende Abfragen gibt, sollten diese selten sein (das Standard-Timeout von IIRC 30 Sekunden behandelt 99,99% der Abfragen) und der Anwendungsprogrammierer kann in den seltenen Fällen, die er für diese spezielle Abfrage benötigt, ein entsprechendes Timeout setzen.

sp_configure 'max server memory (MB)', 28000

Sets max Serverspeicher zu 28GB. Nun, das ist Unsinn - der DBA sollte das bei der Installation auf einen vernünftigen Wert gesetzt haben, also wird es nicht benötigt, es sei denn, die DBA ist inkompetent. Ob die ungefähr 28GB sinnvoll sind kann ich nicht kommentieren.

sp_configure 'remote login timeout', 300

Timeout für Remote-Login 300 Sekunden. Standard von 30 Sekunden ist schon reichlich. Ich habe ernsthafte Probleme in Anbetracht eines Szenarios, in dem der Server gesund ist und Logins nicht in weniger als einer Handvoll Sekunden verarbeitet.

Das einzige Szenario, in dem ich gesehen habe, wo dieser ganze Stapel Sinn machen würde, ist ein Server, der vor Überlastung stirbt - was meistens auf einer brutalen Inkompetenz beruht. Entweder der Admin (64 GB RAM-Maschine konfiguriert, um nur 2 GB für SQL Server zum Beispiel zu verwenden) oder am häufigsten die Programmierer (keine Indizes, lächerlich schlecht SQL macht den Server vor Überlastung sterben). Da gewesen, so oft gesehen.

Ansonsten machen die Timeouts wirklich wenig Sinn.

+0

Viele Unternehmen laufen ohne einen spezialisierten DBA; Auch, wenn Sie Hosting-Unternehmen verwenden, dann haben sie oft keinen DBA, sondern nur einfach eingerichtet; Auch wenn Ihr Kunde/Client selbst hostet, haben sie möglicherweise keinen DBA ..... also "DBA ist inkompetent" wenn der Wert nicht gesetzt ist; Nun - es gibt eine Vielzahl von Gründen dafür, wie es sein kann. –

+0

@ AllanS.Hansen - Derzeit werden Standardeinstellungen für SQL Server verwendet. Ich habe dieses Skript als vorgeschlagene/wahrscheinliche Änderungen erhalten. Kein DBA ist vorhanden. – Ankush

+0

Starke Sprache .... aber unabhängig müssen Sie viel mehr Informationen zur Verfügung stellen. In Bezug auf Speicher: 1. Wie RAM hat der Server? 2. Führt der Server nur SQL Server aus oder führt er andere Aktionen aus? –

0

"Zeitüberschreitung per Remote-Abfrage" legt fest, wie lange eine Remote-Abfrage abläuft. "Zeitlimit für Remote-Anmeldung" Legen Sie fest, wie viel Zeit vor einem Anmeldeversuch verstreichen soll.

Die hier festgelegten Werte können unter bestimmten Bedingungen sinnvoll sein (z. B. langsames Netzwerk mit hoher Latenz).

"Max Server-Speicher" ist anders. Es ist eine sehr nützliche Einstellung und sollte fast immer eingestellt werden, um mögliche Leistungsprobleme zu vermeiden. Welchen Wert, hängt davon ab, wie viel Speicher auf dem Server insgesamt ist und welche anderen Anwendungen/Dienste darauf ausgeführt werden. Wenn es sich um einen dedizierten Server mit 32 GB Arbeitsspeicher handelt, klingt dieser Wert ungefähr richtig.

Keiner von diesen konnte wirklich auf der Testumgebung getestet werden, fürchte ich, es sei denn, Sie haben eine 1: 1 Replik der Produktumgebung.

+0

Stimmen Sie mit Ihnen auf die Unfähigkeit zu testen überein. Wir haben keine Replik der Produktionsumgebung. – Ankush

+0

Sie sollten zumindest wissen, wie viel RAM der Produktionsserver hat und ob er nur SQL Server ausführt. Zumindest ist dies eine wichtige Information. Es ist, als würde man fragen: "Wie groß soll mein Koffer sein?" Wer weiß? Wie lange bleibst du, was machst du, ist es kalt oder heiß? –

Verwandte Themen