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.DatabaseTimeoutTypeProject 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) で、[キューの設定] ページを使用できます。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
Project Server の構成情報を管理することができます。グローバル アクセス権。 |
|
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."
}
}