次の方法で共有


Admin.SetDatabaseTimeout メソッド

Project Server のコア データベースでは、SQL のタイムアウトを秒単位で設定します。

名前空間:  WebSvcAdmin
アセンブリ:  ProjectServerServices (ProjectServerServices.dll 内)

構文

'宣言
<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 _
)
'使用
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
)

パラメーター

  • timeoutType
    型: WebSvcAdmin.DatabaseTimeoutType

    Project Server 2010で利用可能な唯一の値は、 Core定数 (値 = 0)、中核となるデータベースを指定します。

  • timeout
    型: System.Int32

    コア プロジェクトのサーバー データベースに内部の SQL 呼び出しを秒単位でタイムアウトを指定します。

注釈

ヒント

一部の Project Server の展開でタイムアウトのデフォルト データベースもはありません。Project Server ジョブが SQL タイムアウト エラーのため失敗した場合は、管理者ことができます、 SetDatabaseTimeoutメソッドを使用して、データベースのタイムアウト設定を大きくし、ジョブを再試行してください。

既定値および最小値は、30 秒です。最大値は 2147483647 秒 (15 年)、 Int32の最大は。

プロジェクト キューまたはタイムシート キューの SQL コマンドのタイムアウトを設定するには、 SetQueueConfigurationメソッドを使用して、またはProject Web App (https://ServerName/ProjectServerName/_layouts/pwa/Admin/queuesettings.aspx) で、[キューの設定] ページを使用できます。

プロジェクト サーバーのアクセス許可

権限

説明

ManageServerConfiguration

Project Server の構成情報を管理することができます。グローバル アクセス権。

ManageSiteServices

Active Directory の設定やデータベースのタイムアウトなどのサービスを管理することができます。グローバル アクセス権。

次のWindows PowerShellスクリプトを使用するには、という名前で、たとえば、セット DatabaseTimeout.ps1を、スクリプトを保存します。管理者は、 Microsoft SharePoint 2010 プロジェクト フォルダー内の [スタート] メニューは、 SharePoint 2010 管理シェル を実行、セット DatabaseTimeout.ps1、ファイルを保存したディレクトリに移動し、次のコマンド、たとえば、60 秒のタイムアウト値を設定し、入力: .\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."
    }
}

関連項目

参照先

Admin クラス

Admin メンバー

WebSvcAdmin 名前空間