Souhrn

Po upgradu na aplikaci Microsoft SharePoint 2016 Microsoft SharePoint 2013, není nutné vytvářet novou instalaci Správce pracovních postupů. Můžete použít stejné instalace, který byl použit ve farmě SharePoint 2013 v nové farmě SharePoint 2016.

Však mohou mít za určitých okolností vytvořit nové instalace pro správce pracovních postupů. Pokud například chcete přesunout do jiného operačního systému Windows nástroj Správce pracovních postupů nebo pokud server databáze back-end je vyřazena z provozu. V takových případech postupujte podle kroků v Zotavení po havárii Workflow Manager vytvořit novou instalaci Správce pracovních postupů pomocí staré databáze. Ujistěte se, zda používáte nejnovější kopii databáze Správce pracovních postupů.

Pozadí

Při použití serveru služby SharePoint a Správce pracovních postupů Workflow Manager obsahuje záznamy webů služby SharePoint, které publikovaly pracovní postupy. Každý web představuje správce pracovních postupů v oboru. Správce pracovních postupů také ukládá definice pracovního postupu, všechny instance pracovního postupu a jejich stavy.

SharePoint ukládá historii pracovního postupu a informace o úkolu pracovního postupu pro pracovní postupy služby SharePoint. Při načtení stránku Stav pracovního postupu služby SharePoint nejprve zavolá do Workflow Manager zda existuje pracovní postup. Chcete-li to provést, používá ID instance pracovního postupu SharePoint načte zbytek informace pracovního postupu. ID instance pracovního postupu chybí nástroj Správce pracovních postupů nebo pokud dojde k chybě při komunikaci se správcem pracovního postupu, zobrazí se chybová zpráva.

Upgradovat SharePoint 2016 prostřednictvím Správce pracovního postupu služby SharePoint 2013

Předpoklady

  • Nainstalujte nejnovější kumulativní aktualizaci pro správce pracovních postupů pomocí webové platformy (Web PI).

  • Nainstalujte nejnovější verzi klienta Workflow Manager na serverech SharePoint 2013 a ujistěte se, zda jsou funkční všechny pracovní postupy.

  • Instalace serverové farmy SharePoint 2016 a inovace všechny aplikace služby a databáze obsahu.

  • Na všechny servery ve farmě SharePoint 2016 nainstalujte nejnovější verzi klienta Správce pracovních postupů pomocí webové PÍ.

Registraci Správce pracovních postupů služby SharePoint 2016

Chcete-li to provést, postupujte takto:

  1. V serverové farmě SharePoint 2013, přejít na Centrální správu > Správa aplikací > Spravovat aplikace služeba pak také Proxy aplikace služby pracovního postupu.

  2. V serverové farmě SharePoint 2016 spusťte následující rutiny prostředí PowerShell pár SharePoint 2016 spolu s stejné instalace Správce pracovních postupů:

    Register-SPWorkflowService –SPSite <SharePoint site URL> –WorkflowHostUri <Workflow service endpoint URL> -force

Poznámka: Uvědomte si, že databáze obsahu, které byly inovovány v nové farmě SharePoint 2016 by byla obnovena z poslední zálohy. To pomůže zabránit rozdíly a mezery mezi správce pracovních postupů a databáze obsahu.

Běžné problémy, ke kterým může dojít po upgradu

Problém 1: Adresa URL webu je změněn.

Pokud se změní adresa URL vašeho webu v SharePoint 2016, ale zůstává stejný, ID sítě, je třeba znovu publikovat pracovního postupu z ohroženého serveru pomocí aplikace SharePoint Designer.

Problém 2: Na některých serverech nejsou spuštěny pracovní postupy

Pokud není pracovní postupy spustit na některých serverech, znovu publikujte pracovní postupy z ohroženého serveru. Nebo spustit úlohu časovače informačních kanálů aktualizovat důvěryhodné zabezpečení Token služby metadat .

Problém 3: Pracovní postupy nezdaří a vrátí chybu "Nelze získat informace o hlavní oprávnění aplikace"

Příznaky

Jde o takovouto situaci:

  • Máte pracovní postupy služby SharePoint 2013 a nakonfigurovat Správce pracovních postupů ve farmě.

  • Servery ve farmě nedávno připojily k dříve existující instanci nástroj Správce pracovních postupů.

V tomto scénáři úspěšně dokončit pracovní postupy, které jsou vytvořeny po připojení k instalaci Správce pracovních postupů. Však není dokončení pracovních postupů, které jsou vytvořeny před připojením k Správce pracovních postupů. Místo toho získat přilepená při pokusu o dokončení nebo mohou zůstat v pozastaveném stavu. Pro pracovní postupy, které zůstane pozastaven zobrazí chybu protokolu HTTP 500. Je dále zaznamenána následující položka v protokolu ULS:

Nelze získat informace o hlavní oprávnění aplikace.


Příčina

Správce pracovních postupů je již prostor pro web, na kterém jsou spuštěny pracovní postupy. Protože obor má nesprávnou hodnotu SPAuthenticationRealm v poli identifikátor ApplicationID oboru, žádné SPAppPrincipal třída existuje u objektu SPWeb, který odpovídá hodnotě identifikátor ApplicationID oboru. Pracovní postupy se proto nezdaří a vrátí chybovou zprávu.

Řešení

Chcete-li tento problém vyřešit, použijte následující příkazy PowerShell zaregistrovat nový objekt SPAppPrincipal . Lze provést u objektu SPWeb , jejichž ID odpovídá hodnotě ApplicationID , který je uložen v objektu SPWeb Správce pracovních postupů v oboru.

#Variables
$webUrl = "http://sp.contoso.com/sites/teamsite/teamweb"
$oldAuthRealm = "58a2b173-0f88-4bff-935b-bf3778cd0524" #authentication realm expected by Workflow Manager
$newAuthRealm = "48834d17-d729-471e-b0d0-a0ec83b49de0" #authentication realm of current farm

#Get the SPWeb and SPSite objects, and the id of the web
$web = Get-SPWeb $webUrl
$site = $web.site
$clientId = $web.Id

#Create the old and new app principal ids
$oldAppId = "$clientId@$oldAuthRealm"
$newAppId = "$clientId@$newAuthRealm"

#Register the app principal with the old authentication realm
Register-SPAppPrincipal -DisplayName "Old Workflow" -Site $web -NameIdentifier $oldAppId

#Set permissions for the app principal
$oldAppPrincipal = Get-SPAppPrincipal -Site $web -NameIdentifier $oldAppId
Set-SPAppPrincipalPermission -Site $web -AppPrincipal $oldAppPrincipal -Scope SiteCollection -Right FullControl
Set-SPAppPrincipalPermission -Site $web -AppPrincipal $oldAppPrincipal -Scope Site -Right FullControl

#List the app principals with the old and new authentication realms in the ids
Get-SPAppPrincipal -Site $web -NameIdentifier $oldAppId | fl
Get-SPAppPrincipal -Site $web -NameIdentifier $newAppId | fl
 
Další informace

Chcete-li získat hodnotu SPAuthenticationRealmApplicationID , který je uložen v oboru, postupujte takto:

  1. Spuštěním následujícího dotazu SQL:

    SELECT *
    FROM [WFResourceManagementDB].[dbo].[Scopes] WITH (NOLOCK)
    WHERE Description like '%<WebID>%'


    Poznámka: <WebID> je zástupný symbol pro ID objektu SPWeb.

  2. Ve výsledku dotazu klepněte na hodnotu ve sloupci SecuritySettings v SQL Server Management Studio otevřete XML na samostatné kartě.

  3. V souboru XML vyhledejte identifikátor ApplicationID element, který obsahuje hodnotu. Vyhledejte například následující element:

    <ApplicationId>SPWeb_object_ID@SPAuthenticationRealm</ApplicationId>

    Poznámka: Identifikátor GUID, který se zobrazí před zavináč (@) ID objektu SPWeb a identifikátor GUID, který se zobrazí po znak je hodnota SPAuthenticationRealm .

Hodnotu SPAuthenticationRealm v protokolu ULS lze nalézt také, jako v následujícím příkladu položka protokolu:

03/11/2017 12:13:16.72 w3wp.exe (SPWFE01:0x51FC) 0x1298 SharePoint Foundation ověřování povolení an3eg médium nelze získat informace o hlavní oprávnění aplikace. AppId=i:0i.t|ms.sp.ext| < ID objektu SPWeb > @< SPAuthenticationRealm >
 
03/11/2017 12:13:16.72 w3wp.exe Chyba aplikace střední 8nca (SPWFE01:0x51FC) 0x1298 SharePoint Foundation obecné při přístupu k /site/teamsite/teamweb/_vti_bin/client.svc, chyba = odkaz na objekt není nastaven na instanci o bject.   v Microsoft.SharePoint.SPAppRequestContext.EnsureTenantPermissions (SPServiceContext serviceContext, Boolean throwIfAppNotExits, Boolean allowFullReset) v Microsoft.SharePoint.SPAppRequestContext.InitCurrent (HttpContext kontextu) na Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.InitCurrentAppPrincipalToken (HttpContext kontextu) na Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostAuthenticateRequestHandler (objekt oSender, EventArgs ea) na System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() v System.Web.HttpApplication.ExecuteStep (IExecutionStep krok, Boolean & completedSynchronously)

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×