Узнайте, сколько времени услуга SQL-сервера работала от t-sql

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if([text isEqualToString:@"\n"])
        [textView resignFirstResponder];
    return YES;
}

yourtextView.delegate=self;

Также добавьте UITextViewDelegate

Не забудьте подтвердить протокол

ЕСЛИ вы не добавили if([text isEqualToString:@"\n"]), вы не можете редактировать

12
задан Nick Kavadias 1 December 2012 в 00:25
поделиться

4 ответа

SELECT
    login_time
FROM
    sys.dm_exec_sessions
WHERE
    session_id = 1

даст вам datetime для того, когда сервер был запущен.

20
ответ дан 2 December 2019 в 06:09
поделиться

Чтобы получить его программно, вы можете запустить этот сценарий. Он проверяет время создания вашей tempdb, поскольку tempdb повторно инициализируется каждый раз при запуске Sql Server.

SELECT create_date 
FROM sys.databases 
WHERE name = 'tempdb'

Чтобы сделать его более интуитивно понятным, вы можете запустить сценарий ниже, который сообщит вам, сколько дней и часов работает Sql Server. . Информация о минутах и ​​секундах будет усечена. Если вам это нужно, измените сценарий, чтобы получить его самостоятельно.

SELECT 'Sql Server Service has been running for about '
+ CAST((DATEDIFF(hh, create_date, GETDATE()))/24 AS varchar(3)) + ' days and '
+ CAST((DATEDIFF(hh, create_date, GETDATE())) % 24 AS varchar(2)) + ' hours'
FROM sys.databases 
WHERE name = 'tempdb'

Источник: Сколько времени работает SQL Server

4
ответ дан 2 December 2019 в 06:09
поделиться

 SELECT crdate FROM sysdatabases WHERE [name] = 'tempdb' 

Вышеупомянутое будет работать на SQL Server 2000, 2005 и 2008.

Логика такова, что результат из вышеизложенного SQL возвращает дату создания базы данных tempdb, которую SQL Server воссоздает при каждом перезапуске. Следовательно, дата создания tempdb - это время запуска сервера.

1
ответ дан 2 December 2019 в 06:09
поделиться

Захвачено здесь

USE Master
GO

SET NOCOUNT ON
DECLARE @crdate DATETIME, @hr VARCHAR(50), @min VARCHAR(5)
SELECT @crdate=crdate FROM sysdatabases WHERE NAME='tempdb'
SELECT @hr=(DATEDIFF ( mi, @crdate,GETDATE()))/60
IF ((DATEDIFF ( mi, @crdate,GETDATE()))/60)=0
SELECT @min=(DATEDIFF ( mi, @crdate,GETDATE()))
ELSE
SELECT @min=(DATEDIFF ( mi, @crdate,GETDATE()))-((DATEDIFF( mi, @crdate,GETDATE()))/60)*60
PRINT 'SQL Server "' + CONVERT(VARCHAR(20),SERVERPROPERTY('SERVERNAME'))+'" is Online for the past '+@hr+' hours & '+@min+' minutes'
IF NOT EXISTS (SELECT 1 FROM master.dbo.sysprocesses WHERE program_name = N'SQLAgent - Generic Refresher')
BEGIN
PRINT 'SQL Server is running but SQL Server Agent <<NOT>> running'
END
ELSE BEGIN
PRINT 'SQL Server and SQL Server Agent both are running'
END
0
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: