La memoria non viene rilasciata dopo una query in esecuzione con SqlBulkCopy

c# sql sqlbulkcopy sql-server

Domanda

Ho capito: Il processo è terminato con tutti i record nel database inserito, quindi quando vedo il task manager in Windows il processo sqlserver.exe ha ancora un 3.663.263mb che occupa il mio in memoria e non viene rilasciato ...... .

Risposta popolare

È possibile controllare la configurazione della memoria del server e impostare MAX SERVER MEMORY . ecco una buona panoramica del documento https://msdn.microsoft.com/en-us/library/ms178067.aspx

I valori minimi di memoria massima sono: 32 bit - 64 MB 64 bit - 128 mb

Impostare la memoria minima del server e la memoria massima del server per coprire un intervallo di valori di memoria. Questo metodo è utile per gli amministratori di sistema o di database per configurare un'istanza di SQL Server in combinazione con i requisiti di memoria di altre applicazioni eseguite nello stesso computer.

Utilizzare la memoria min server per garantire una quantità minima di memoria disponibile a Gestione memoria di SQL Server per un'istanza di SQL Server. All'avvio, SQL Server non assegnerà immediatamente la quantità di memoria specificata nella memoria del server min. Tuttavia, dopo che l'utilizzo della memoria ha raggiunto questo valore a causa del carico del client, SQL Server non può liberare memoria a meno che il valore della memoria del server min sia ridotto.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché