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.DatabaseTimeoutTypeEl único valor disponible en Project Server 2010 es la constante Core (valor = 0), que especifica las bases de datos principal.
timeout
Tipo: System.Int32Especifica 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 |
---|---|
Permite que un usuario administrar la información de configuración de Project Server. Permiso global. |
|
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."
}
}