Unable to use proxy for subsystem
search cancel

Unable to use proxy for subsystem

book

Article ID: 278722

calendar_today

Updated On:

Products

Information Centric Analytics

Issue/Introduction

The RiskFabric Processing or RiskFabric Intraday Processing job fails on one or more steps and an error similar to either of the following is logged in the SQL Server Agent job history log:

Unable to start execution of step 16 (reason: JobOwner [domain\]<account> doesn't have permissions to use proxy 5 for subsystem ANALYSISCOMMAND). The step failed.
Unable to start execution of step  22 (reason: JobOwner [domain\]<account> doesn't have permissions to use proxy 6 for subsystem CmdExec). The step failed.

For similar errors affecting the Bay Dynamics AD Connector Job, refer to KB article 276209.

Cause

The ICA service account under which the proxy credential runs has not been granted permissions to access the proxy, or the proxy has been disabled.

Resolution

To grant the ICA service access to the proxy, follow this procedure:

  1. Open SQL Server Management Studio (SSMS)
  2. Connect to the Database Engine hosting the RiskFabric database
  3. Click the New Query button in the SQL Standard toolbar, or select File > New > Query with Current Connection
  4. Copy the following statement and paste it in the new query editor window, replacing [domain\]<ica_service_account> with the ICA service account name and <proxy_name> with the name of the proxy:
    USE msdb;
    GO

    EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'<proxy_name>', @login_name=N'[domain\]<ica_service_account>';
    GO
  5. Execute the query by pressing the F5 key, selecting Execute from the SQL Editor toolbar, or selecting Execute from the Query menu

Confirm the proxy is enabled by following this procedure:

  1. In SSMS, click the New Query button in the SQL Standard toolbar, or select File > New > Query with Current Connection
  2. Copy the following statement and paste it in the new query editor window, replacing <proxy_name> with the name of the proxy:
    USE msdb;
    GO

    SELECT p.[name] AS "Proxy_Name",
    p.[enabled] AS "Enabled",
    c.[name] AS "Credential_Name",
    c.credential_identity AS "Credential_Identity"
    FROM dbo.sysproxies AS p
    INNER JOIN sys.credentials AS c
    ON p.credential_id = c.credential_id
    WHERE p.[name] = '<proxy_name>';
    GO
  3. Execute the query by pressing the F5 key, selecting Execute from the SQL Editor toolbar, or selecting Execute from the Query menu

If the proxy is not enabled (Enabled = 0), follow this procedure:

  1. In SSMS, click the New Query button in the SQL Standard toolbar, or select File > New > Query with Current Connection
  2. Copy the following statement and paste it in the new query editor window, replacing <proxy_name> with the name of the proxy:
    USE msdb;
    GO

    EXEC dbo.sp_update_proxy @proxy_name = N'<proxy_name>', @enabled = 1;
    GO
  3. Execute the query by pressing the F5 key, selecting Execute from the SQL Editor toolbar, or selecting Execute from the Query menu

If the proxy is not configured to use the RiskFabric Nightly Processing credential, follow this procedure:

  1. In SSMS, click the New Query button in the SQL Standard toolbar, or select File > New > Query with Current Connection
  2. Copy the following statement and paste it in the new query editor window, replacing <proxy_name> with the name of the proxy:
    USE msdb;
    GO

    EXEC sp_update_proxy @proxy_name = N'<proxy_name>', @credential_name = N'RiskFabric Nightly Processing';
    GO
  3. Execute the query by pressing the F5 key, selecting Execute from the SQL Editor toolbar, or selecting Execute from the Query menu

Under certain rare circumstances, the following error may be returned when modifying the proxy:

Alter failed for '<proxy_name>'. (Microsoft.SqlServer.Smo)

Additional Information:

Object reference not set to an instance of an object. (Microsoft.SqlServer.Smo)

To resolve this error, follow this procedure:

  1. In SSMS, navigate in Object Explorer to SQL Server Agent > Proxies > Operating System (CmdExec) or Analysis Services Command
  2. Right-click the affected proxy and select Delete
    The Delete Object window will appear
  3. Check the box labelled Reassign to: and select SQL Server Agent Service
  4. Click the OK button
    The Delete Object window will close
  5. Right-click the folder SQL Server Agent > Proxies > Operating System (CmdExec) or Analysis Services Command and select New Proxy...
    The New Proxy Account window will open
  6. Enter the following values on the General page:
    Proxy name: <proxy_name>
    Credential name: Risk Fabric Nightly Processing
  7. Click the OK button to save the proxy and close the New Proxy Account window
  8. In Object Explorer, navigate to SQL Server Agent > Jobs
  9. Right-click the RiskFabric Processing job and select Properties
    The Job Properties - RiskFabric Processing window will open
  10. Select the Steps page
  11. Select the step in question and click the Edit button
    The Job Step Properties window will open
  12. On the General page, select RiskFabric Nightly Processing or RiskFabric Proxy from the Run as: dropdown menu (RiskFabric Nightly Processing for CmdExec steps; RiskFabric Proxy for Analysis Services Command steps) 
  13. Click the OK button to save the change and close the Job Step Properties window
  14. Repeat steps 11 through 13 for each failing step
  15. Click the OK button to save changes and close the Job Properties - RiskFabric Processing window