Compartir a través de


del método Admin.SetDatabaseTimeout

Establece el tiempo de espera SQL para las bases de datos de Project Server core, en segundos.

Espacio de nombres:  WebSvcAdmin
Ensamblado:  ProjectServerServices (en ProjectServerServices.dll)

Sintaxis

'Declaración
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Admin/SetDatabaseTimeout", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Admin/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Admin/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub SetDatabaseTimeout ( _
    timeoutType As DatabaseTimeoutType, _
    timeout As Integer _
)
'Uso
Dim instance As Admin
Dim timeoutType As DatabaseTimeoutType
Dim timeout As Integer

instance.SetDatabaseTimeout(timeoutType, _
    timeout)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Admin/SetDatabaseTimeout", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Admin/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Admin/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void SetDatabaseTimeout(
    DatabaseTimeoutType timeoutType,
    int timeout
)

Parámetros

  • timeoutType
    Tipo: WebSvcAdmin.DatabaseTimeoutType

    El único valor disponible en Project Server 2010 es la constante Core (valor = 0), que especifica las bases de datos principal.

  • timeout
    Tipo: System.Int32

    Especifica el tiempo de espera (en segundos) para las llamadas internas de SQL para las bases de datos de Project Server core.

Comentarios

Sugerencia

En algunas implementaciones de Project Server, el tiempo de espera de la base de datos predeterminada no es suficiente. Si se produce un error en un trabajo de Project Server debido a un error de tiempo de espera SQL, un administrador puede aumentar el valor de tiempo de espera de la base de datos mediante el método SetDatabaseTimeout y, a continuación, vuelva a intentar el trabajo.

El valor predeterminado y el valor mínimo son 30 segundos. El valor máximo es el máximo Int32 , 2147483647 segundos (más de 15 años).

Para establecer el tiempo de espera del comando SQL para la cola del proyecto o la cola de partes de horas, puede usar el método SetQueueConfiguration , o use la página de configuración de la cola de Project Web App (https://ServerName/ProjectServerName/_layouts/pwa/Admin/queuesettings.aspx).

Permisos de Project Server

Permiso

Descripción

ManageServerConfiguration

Permite que un usuario administrar la información de configuración de Project Server. Permiso global.

ManageSiteServices

Permite a un usuario administrar servicios como la configuración de Active Directory y los tiempos de espera de la base de datos. Permiso global.

Ejemplos

Para usar el siguiente script de Windows PowerShell, guarde la secuencia de comandos en un archivo denominado, por ejemplo, Set-DatabaseTimeout.ps1. Ejecutar el Shell de administración de SharePoint 2010 como administrador (en la carpeta de Proyectos de Microsoft SharePoint 2010 del menú Inicio ), navegue al directorio donde guardó el archivo de conjunto de DatabaseTimeout.ps1 y, a continuación, escriba el siguiente comando, por ejemplo, para establecer el valor de tiempo de espera de 60 segundos: .\Set-DatabaseTimeout 60

###############################################################################
## Set-DatabaseTimeout
## Uses the Admin web service of the PSI to call the SetDatabaseTimeout method.
## The script user must have Project Server administrator permissions.
## To run on your Project Server installation, change the $pwaUrl value.
## Argument:
##   Integer secTimeout    -- Timeout in seconds, 30 to 2147483647 (15+ years).
## Example: 
##   .\Set-DatabaseTimeout 1800
##               -- Sets the database timeout to 1800 seconds (30 minutes).
################################################################################

param([int]$secTimeout)
Set-StrictMode -version 2.0

$pwaUrl = "http://jcorbin8/pwa"
$svcAdminUrl = $pwaUrl + "/_vti_bin/PSI/Admin.asmx?wsdl"
[int]$timeoutType = 0
[bool]$runtimeErr = $false
[bool]$argErr = $false

if ($secTimeout -eq $null) 
{ 
    $argErr = $true 
}
else  # Validate the timeout value.
{    
    if ($secTimeout -lt 30 -or $secTimeout -gt 2147483647)
    {
        $argErr = $true
    }
}

if ($argErr)
{ 
    Write-Host "Usage:`tSet-DatabaseTimeout timeoutSeconds"
    Write-Host "`t`tTimeout minimum = 30; maximum = 2147483647 (over 15 years)"
    Write-Host "Example, to set 30 minutes: `n`t`t.\Set-DatabaseTimeout 1800"
    exit
}

$c = Get-Credential

try
{
    # Create a proxy for the Admin web service.
    $svcAdminProxy = New-WebServiceProxy -uri $svcAdminUrl # -credential $c

    $svcAdminProxy.SetDatabaseTimeout($timeoutType, $secTimeout) 
}
catch [System.Web.Services.Protocols.SoapException]
{
    Write-Host "A SoapException occurred."
    $runtimeErr = $true
}
catch [System.Net.WebException]
{
    Write-Host "A WebException occurred."
    $runtimeErr = $true
}
catch 
{
    Write-Host "An error occurred."
    $runtimeErr = $true
}
finally
{
    if (-not $runtimeErr)
    {
        Write-Host "Success! Set the core SQL database timeout value to $secTimeout seconds."
    }
}

Vea también

Referencia

clase Admin

Miembros Admin

Espacio de nombres WebSvcAdmin