ServiceState (clsServer)
Ostrzeżenie
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.
The ServiceState property of an object of ClassType clsServer contains the execution state of the Analysis server service (MSSQLServerOLAPService).
Typ danych
Długie
Wartości
Wartości tej właściwości są różne w zależności od tego, czy właściwość jest odczytu lub zestaw.
Następujące wartości są zwracane podczas czytania tej właściwość.
Wartość |
Opis |
|---|---|
SERVICE_CONTINUE_PENDING |
Oczekuje poprzedniego żądania, aby kontynuować wstrzymanej usługa. |
SERVICE_PAUSE_PENDING |
Oczekuje poprzedniego żądania, aby wstrzymać uruchomioną usługa. |
SERVICE_PAUSED |
Usługa jest wstrzymana. |
SERVICE_RUNNING |
Usługa jest uruchomiona. |
SERVICE_START_PENDING |
Usługa jest uruchamiana. |
SERVICE_STOP_PENDING |
Usługa jest zatrzymywana. |
SERVICE_STOPPED |
usługa Nie jest uruchomiona. |
W poniższej tabela opisano wartości używane do sterowania serwera analiz.
Wartość |
Żądana akcja |
|---|---|
SERVICE_PAUSED |
Wstrzymać usługa. |
SERVICE_RUNNING |
Uruchom usługa, jeśli zatrzymana lub wstrzymana. |
SERVICE_STOP |
Zatrzymaj usługa. |
Dostęp
Odczyt i zapis
Uwagi
Odczyt właściwość kwerendy stanu usługa.Aby zmienić stan wykonania usługa, zestaw właściwość na wartość.Decision Support Objects (DSO) częściowo implementuje funkcje sterowania usługa Microsoft ® Win32 ® API.
Jeśli żądana akcja nie można ukończyć, takie jak próba wstrzymać usługa, która nie jest uruchomiona lub żądanie limit czasu (w ciągu 60 sekund), wystąpi błąd.
Przykład
Użyć następującego kodu do zestaw stan wykonywania MSSQLServerOLAPService:
' Analysis server service control constants
Const OLAP_SERVICE_RUNNING = &H4
Const OLAP_SERVICE_PAUSED = &H7
Const OLAP_SERVICE_STOP = &H1
' Analysis server status and error return constants
Const SERVICE_CONTINUE_PENDING = &H5
Const SERVICE_PAUSE_PENDING = &H6
Const SERVICE_PAUSED = &H7
Const SERVICE_RUNNING = &H4
Const SERVICE_START_PENDING = &H2
Const SERVICE_STOP_PENDING = &H3
Const SERVICE_STOPPED = &H1
' Additional error return constants
Const SERVICE_ACCEPT_PAUSE_CONTINUE = &H2
Const SERVICE_ACCEPT_SHUTDOWN = &H4
Const SERVICE_ACCEPT_STOP = &H1
Const SERVICE_ACTIVE = &H1
Const SERVICE_CHANGE_CONFIG = &H2
Const SERVICE_CONTROL_CONTINUE = &H3
Const SERVICE_CONTROL_INTERROGATE = &H4
Const SERVICE_CONTROL_PAUSE = &H2
Const SERVICE_CONTROL_SHUTDOWN = &H5
Const SERVICE_CONTROL_STOP = &H1
Const SERVICE_ENUMERATE_DEPENDENTS = &H8
Const SERVICE_INACTIVE = &H2
Const SERVICE_INTERROGATE = &H80
Const SERVICE_NO_CHANGE = &HFFFF
Const SERVICE_PAUSE_CONTINUE = &H40
Const SERVICE_QUERY_CONFIG = &H1
Const SERVICE_QUERY_STATUS = &H4
Const SERVICE_STATE_ALL = (SERVICE_ACTIVE Or SERVICE_INACTIVE)
Const SERVICE_USER_DEFINED_CONTROL = &H100
Const SERVICE_WAIT_MAX_SECONDS As Integer = 30
' ==============================================================
' OlapServiceControl function
' Returns True or False
' Calling parameters:
' - objServer is an object of ClassType clsServer
' that has been created and initialized
' - iCmdReq is one of the Analysis server service
' control constants
' - lngStatus receives the status (one of the Analysis
' server status constants)
' - lngErr receives status if function fails (one of the Analysis
' server status constants or one of the additional error constants)
Friend Function OlapServiceControl(objServer As Object, _
ByVal iCmdReq As Integer, _
ByRef lngStatus As Long, _
ByRef lngErr As Long) As Boolean
Dim bRet As Boolean
Dim lngSrvStat As Long
Dim lngControlCmd As Long
lngSrvStat = objServer.ServiceState
bRet = False
lngControlCmd = iCmdReq
lngErr = 0
On Error GoTo Err_State
Select Case iCmdReq
' Caller wants to start the server
Case SERVICE_RUNNING
' Check the current server status
Select Case lngSrvStat
' If it is already running, return True
Case SERVICE_RUNNING
bRet = True
Case SERVICE_PAUSED, SERVICE_STOPPED
objServer.ServiceState = lngControlCmd
bRet = True
End Select
Case SERVICE_PAUSED ' Caller wants to pause the server
Select Case lngSrvStat
Case SERVICE_PAUSED
bRet = True
Case SERVICE_RUNNING
objServer.ServiceState = lngControlCmd
bRet = True
' Trying to pause a stopped service
' raises an error from the Server object.
Case SERVICE_STOPPED
bRet = False
End Select
Case SERVICE_STOPPED ' Caller wants to stop the server
Select Case lngSrvStat
Case SERVICE_STOPPED
bRet = True
Case SERVICE_RUNNING
objServer.ServiceState = lngControlCmd
bRet = True
' Trying to stop a paused service
' raises an error from the Server object.
Case SERVICE_PAUSED
bRet = False
End Select
End Select
' Put the current state of the service into lngStatus
lngStatus = objServer.ServiceState
OlapServiceControl = bRet
Exit Function
Err_State:
' Catch the error returned by the server object
' Some reasons that can cause an error:
' Server object unable to contact service control
' manager or Analysis service application
' Service does not respond to state change
' request within 60 seconds
' An invalid request is sent to the service (for example,
' trying to pause a stopped service)
lngStatus = objServer.ServiceState
lngErr = Err.Number
OlapServiceControl = False
End Function