Я бы предположил, что это довольно простой SQL-запрос, но у меня проблемы с его работой.
if (object_id('#InfoTable')is not null)
Begin
Drop Table #InfoTable
End
create table #InfoTable (NameOfObject varchar(50), NameOfCounter varchar(50), SampledValue float(30), DayStamp datetime)
insert into #InfoTable(NameOfObject, NameOfCounter, SampledValue, DayStamp)
select vPerformanceRule.ObjectName AS NameOfObject, vPerformanceRule.CounterName AS NameOfCounter, Perf.vPerfRaw.SampleValue AS SampledValue, Perf.vPerfHourly.DateTime AS DayStamp
from vPerformanceRule, vPerformanceRuleInstance, Perf.vPerfHourly, Perf.vPerfRaw
where (ObjectName like 'Logical Disk' and CounterName like '% Free Space' AND SampleValue > 95 AND SampleValue < 100)
order by DayStamp desc
select NameOfObject, NameOfCounter, SampledValue, DayStamp
from #InfoTable
Drop Table #InfoTable
Я пробовал различные другие формы синтаксиса, но что бы я ни делал, я получаю эти сообщения об ошибках.
Msg 207, Level 16, State 1, Line 10
Invalid column name 'NameOfObject'.
Msg 207, Level 16, State 1, Line 10
Invalid column name 'NameOfCounter'.
Msg 207, Level 16, State 1, Line 10
Invalid column name 'SampledValue'.
Msg 207, Level 16, State 1, Line 10
Invalid column name 'DayStamp'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'NameOfObject'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'NameOfCounter'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'SampledValue'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'DayStamp'.
Строка 10 - это первая строка «вставить в», а строка 22 - вторая строка выбора. Любые идеи?
DROP ничего не делает, если контекст вашей базы данных не является TEMPDB, поэтому таблица #InfoTable, вероятно, существует с предыдущего шага с другими именами столбцов.
Попробуйте изменить свой DROP на:
if (object_id('tempdb..#InfoTable')is not null)
Begin
Drop Table #InfoTable
End