2009-05-07 11 views
6

Derzeit haben wir MS SQL Server 2005 (32 Bit). Wir haben 1 Assembly (und nur 1 Assembly), die wir für die Verschlüsselung und Entschlüsselung verwenden. Für CLR sind nur 512 MB Systemspeicher reserviert. Die Assembly läuft ziemlich langsam, und ich versuche auszuschließen, ob es aus dem Speicher stammt oder nicht. Wenn ich den SQL-Code in Query Analyzer (nicht in einer Assembly) ausführe, wird er schnell ausgeführt. Wir verwenden symmetrische Schlüssel und Zertifikate für die Verschlüsselung/Entschlüsselung.SQL Server CLR Speicherzuordnung

Gibt es eine empfohlene Menge an Speicher für CLR? Wie kann ich feststellen, ob ein Mangel an Speicherzuweisung die Leistung dieser Baugruppe verlangsamt?

+0

Was meinst du mit "Wenn ich den SQL-Code in Query Analyzer (nicht in einer Baugruppe) laufen schnell es läuft."? Viele Perf-Probleme können bis zu einem bestimmten Engpass verfolgt werden. Ist Ihre CPU angeschlossen, während Sie beobachten, dass sie langsam ist? Führen die CLR-Methoden, die von ihnen selbst (außerhalb der Datenbank) ausgeführt werden, in einem anderen Maßstab aus als in der DB? – ahains

+0

Ich führe den Code, der in der Assembly enthalten ist, in einem Abfragefenster aus, statt die Assembly selbst auszuführen (es ist ein SP). Es ist jetzt in einer Assembly, um die Zertifikat/Schlüssel-Passwörter von anderen Entwicklern zu verbergen. Ich werde mit dem Chef Mann überprüfen, um zu sehen, was mit der CPU los ist –

Antwort

7

Wie haben Sie festgestellt, dass 512MB zugewiesen wurde?

Werfen Sie einen Blick auf den Artikel, den ich auf SQL Server memToLeave schrieb. Beachten Sie, dass der Teil des Speichers, der zum Ausführen von CLR-verwaltetem Code verwendet wird, außerhalb des SQL Server-Prozessbereichs liegt.

Lassen Sie mich wissen, wie Sie weiterkommen oder wenn Sie weitere Fragen haben.

SQL Server Memory Configuration, Determining MemToLeave Settings

+0

Hallo John, Mein Chef sagte mir, dass er 512 MemToLeave zugeordnet, nachdem ich Fehler beim Aufruf der Baugruppe hatte. Ich glaube, dass der gesamte Speicher vorher SQL Server zugewiesen wurde. Danke für den Link. Ich werde versuchen, meine Montage weiter zu optimieren und die CPU-Auslastung zu überwachen. –

+1

Gern geschehen. Zögern Sie nicht, mich anzurufen, wenn Sie weitere Hilfe benötigen. –

Verwandte Themen