Откуда все эти сеансы SQL Server?

#sql-server #session #ssms

#sql-server #Сеанс #ssms

Вопрос:

После запуска SSMS (2008 R2) на моем компьютере разработчика, который я запускаю с

 "D:Program FilesMicrosoft SQL Server100ToolsBinnVSShellCommon7IDESsms.exe" -nosplash -S localhost -d testdata
  

ничего не делая,

в Activity Monitor я наблюдаю за некоторыми сеансами (TestData — это моя база данных по умолчанию)

Альтернативный текст

Подробная информация о сеансе 51:

 select @@spid;
select SERVERPROPERTY('ProductLevel');
  

Подробная информация о сеансе 52:

 DBCC INPUTBUFFER(52)  
  

Подробная информация о сеансе 53:

 SELECT
CAST(serverproperty(N'Servername') AS sysname) AS [Name],
'Server[@Name='   quotename(CAST(
        serverproperty(N'Servername')
       AS sysname),'''')   ']'   '/JobServer' AS [Urn]
ORDER BY
[Name] ASC
  

Подробная информация о сеансе 54:

 SET NOCOUNT ON;

DECLARE @previous_collection_time datetime;
DECLARE @previous_request_count bigint;
DECLARE @current_collection_time datetime;
DECLARE @current_request_count bigint;
DECLARE @batch_requests_per_sec bigint;
DECLARE @interval_sec bigint;

-- Get the previous snapshot's time and batch request count
SELECT TOP 1 @previous_collection_time = collection_time, @previous_request_count = request_count 
FROM #am_request_count
ORDER BY collection_time DESC;

-- Get the current total time and batch request count
SET @current_collection_time = GETDATE();
SELECT @current_request_count = cntr_value 
FROM sys.sysperfinfo
WHERE counter_name = 'Batch Requests/sec' COLLATE Latin1_General_BIN;

SET @interval_sec = 
    -- Avoid divide-by-zero
    CASE
        WHEN DATEDIFF (second, @previous_collection_time, @current_collection_time) = 0 THEN 1
        ELSE DATEDIFF (second, @previous_collection_time, @current_collection_time)
    END;

-- Calc the Batch Requests/sec rate for the just-completed time interval. 
SET @batch_requests_per_sec = (@current_request_count - @previous_request_count) / @interval_sec;

-- Save off current batch count
INSERT INTO #am_request_count (collection_time, request_count) 
VALUES (@current_collection_time, @current_request_count);

-- Return the batch requests/sec rate for the just-completed time interval. 
SELECT ISNULL (@batch_requests_per_sec, 0) AS batch_requests_per_sec;

-- Get rid of all but the most recent snapshot's data
DELETE FROM #am_request_count WHERE collection_time < @current_collection_time; 
  

Если запустить SSMS (подключение к безымянному экземпляру с помощью аутентификации Windows) без параметров, то у меня нет сеанса, соответствующего приведенному выше, который отображается как 52

Что я сделал, чтобы запустить все эти сеансы?
Я просто не помню всего, что я делал в моем dev SQL Server 2008 R2 раньше…

Обновить:
Я восстановил те же параметры в SSMS.exe (-nosplash -S localhost -d testdata), перезапущен SSMS, и теперь у меня есть разные сведения, соответствующие сведениям сеанса 51:

 DECLARE @edition sysname; 
SET @edition = cast(SERVERPROPERTY(N'EDITION') as sysname); 
select case when @edition = N'SQL Azure' then 1 else 0 end as 'IsCloud' 
  

Почему у меня этого раньше не было?

Ответ №1:

Эти сеансы используются для извлечения данных в Activity Monitor.