Любые известные проблемы утечки памяти в SQL Server 2008 Management Studio?
Я не уверен, принадлежит ли этот вопрос здесь или StackOverflow. Я пытаюсь здесь, так как мой вопрос касается утечек памяти и управления, а не программирования.
У меня есть сценарий SQL, который я пытаюсь запустить, и каждый раз ответ сервера:
No sufficient memory to complete this query
(это основная идея, а не точное сообщение)
Теперь скрипт имеет более 50 000 строк для вставки, как в примере ниже:
1 =>
insert into Cities ([Name]) values (N'MyCityName')
2 =>
insert into Sectors ([Name], [Description], City_CityId)(
select N'FirstSector', N'1at Sect. Desc.', c.CityId
from Cities c
where c.[Name] like N'MyCityName')
3 =>
insert into Streets ([Name], Direction_Value, Type_Value, SectorId, City_CityId)(
select N'1st Street', 0, 10, s.SectorId, c.CityId
from Cities c
inner join Sectors s on s.City_CityId = c.CityId
where c.[Name] like N'MyCityName'
and s.[Name] like N'FirstSector')
4 =>
insert into Addresses (StreetNumber, NumberSuffix_Value, UnitSuiteAppt, StreetId, SectorId, CityId)(
select 999, 0, N'', st.StreetId, s.SectorId, c.CityId
from Cities c
inner join Sectors s on s.City_CityId = c.CityId
inner join Streets st on st.SectorId = s.SectorId and st.City_CityId = c.CityId
where c.[Name] like N'MyCityName'
and s.[Name] like N'FirstSector'
and st.[Name] like N'1st Street')
5 =>
insert into People (Surname, FirstName, IsActive, AddressId)(
select N'TheSurname', N'TheFirstName', 1, a.AddressId
from Addresses a
inner join Cities c on c.CityId = a.CityId
inner join Streets s on s.StreetId = a.StreetId
where a.StreetNumber = 999
and a.NumberSuffix_Value = 0
and a.UnitSuiteAppt = N''
and c.[Name] like N'MyCityName'
and s.[Name] like N'1st Street')
Итак, у меня есть номер каждой инструкции следующим образом:
1 => 2;
2 => 5;
3 => ~ 700;
4 => ~ 35000;
5 => ~ 35000;
Выполнение этих тысяч инструкций приведет меня к нехватке памяти. И хотя я открываю диспетчер задач, у меня есть SSMS, требующая более 400 МБ оперативной памяти.
Моя конфигурация такая, как указано ниже:
Lenovo W700ds
2x320GB HDD 7200RPM RAID 0
4GB RAM DDR3
Intel Core 2 Quad 2.0GHz 6MB L2
Windows 7 Professional 64bits (/w all updates)
SQL Server 2005 Express services running
(That is my data server, I'm not using 2008 for this project)
SQL Server Management Studio 2008 Express
(SP3 installed /w all updates)
У меня только приложение SSMS2008 работает во время выполнения инструкций по вставке.
Любые мысли, чтобы сделать эту ситуацию выполнимой либо с помощью оптимизации системы или других обновлений, с благодарностью.
2 ответа
Вам просто нужно установить больше памяти. 4 ГБ - ничто в современной системе. То, что SSMS - единственная работающая программа, не означает, что она использует память только (сервисы большие). Кроме того, поскольку вы работаете в экспресс-выпуске, вы, вероятно, не настроили использование памяти для сервера SQL, который по умолчанию пытается получить всю доступную память.
Вы можете увидеть, имеет ли процесс утечку памяти, посмотрев на рабочий набор в perfmon.