ServiceNow Connector
Documentation
Version: 2
Documentation

ServiceNow Connector - Using T-SQL / Linked Server


T-SQL is a programming language used for managing and querying data in Microsoft SQL Server databases. We provides tools for data integration, automation, and connectivity.

If you want to use T-SQL with ZappySys, you can use our Connector, which allows you to connect to SQL Server databases and execute T-SQL queries from ServiceNow.

Create Data Source in ZappySys Data Gateway based on API Driver

  1. Download and install ODBC PowerPack.

  2. Search for gateway in start menu and Open ZappySys Data Gateway:
    Open ZappySys Data Gateway

  3. Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
    ZappySys Data Gateway - Add User

  4. Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.

    ServicenowDSN

    ZappySys Data Gateway - Add Data Source

  5. When the Configuration window appears give your data source a name if you haven't done that already, then select "ServiceNow" from the list of Popular Connectors. If "ServiceNow" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:

    ServicenowDSN
    ServiceNow
    ODBC DSN Template Selection
  6. Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.

    Authenticate using ServiceNow instance username and password.

    Steps how to get and use ServiceNow credentials

    Locate your ServiceNow instance credentials and use them for HTTP authentication:

    1. Go to https://developer.servicenow.com/dev.do and log in.
    2. Click on your profile picture.
    3. When a menu appears, click on Manage instance password or a similar option:

      Manage instance password in ServiceNow
    4. In a new window you will see your HTTP Basic Authentication credentials:

      Use instance credentials to authenticate to ServiceNow
    5. Done! Use this username and password when configuring OAuth Authentication parameters.

    Fill in all required parameters and set optional parameters if needed:

    ServicenowDSN
    ServiceNow
    Basic Auth [Http]
    https://[$InstanceName$].service-now.com/api/now
    Required Parameters
    InstanceName Fill-in the parameter...
    User name Fill-in the parameter...
    Password Fill-in the parameter...
    Optional Parameters
    ApiVersion v2
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ODBC DSN HTTP Connection Configuration

    Authenticate using ServiceNow instance username, password, OAuth Client ID, and Client Secret. [API reference]

    Steps how to get and use ServiceNow credentials

    Create OAuth application and use it for authentication:

    1. Login to your instance at https://your-instance-id.service-now.com.
    2. Start by clicking on menu item All, then search for oauth, and click Application Registry option:

      Locate OAuth configuration in ServiceNow
    3. Then click button New:

      Create new OAuth application in ServiceNow
    4. Continue by clicking Create an OAuth API endpoint for external clients option:

      Use ServiceNow OAuth application for external clients
    5. Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).

    6. Finally give it a final touch by increasing the Refresh Token Lifespan value to 315,360,000 (it should last for 10 years):

      Configure OAuth application in ServiceNow
    7. Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.

    Fill in all required parameters and set optional parameters if needed:

    ServicenowDSN
    ServiceNow
    OAuth [OAuth]
    https://[$InstanceName$].service-now.com/api/now
    Required Parameters
    InstanceName Fill-in the parameter...
    User name Fill-in the parameter...
    Password Fill-in the parameter...
    Client ID Fill-in the parameter...
    Client Secret Fill-in the parameter...
    ApiVersion Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429|503
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ODBC DSN Oauth Connection Configuration

  7. Once the data source connection has been configured, it's time to configure the SQL query. Select the Preview tab and then click Query Builder button to configure the SQL query:

    - ServiceNow
    Allows the reading and writing of incidents, attachments, and more in ServiceNow without coding! The ZappySys ServiceNow API Connector provides easy-to-use, high-performance API access.
    ServicenowDSN
    Open Query Builder in API ODBC Driver to read and write data to REST API
  8. Start by selecting the Table or Endpoint you are interested in and then configure the parameters. This will generate a query that we will use in to retrieve data from ServiceNow. Hit OK button to use this query in the next step.

    SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id='109562a3c611227500a7b7ff98cc0dc7' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query='number=INC0000001') --Equal condition
    --SELECT * FROM incident WITH(Query='number!=INC0000001') --Not equal condition
    --SELECT * FROM incident WITH(Query='numberININC0000001,INC0000002,INC0000003') --IN condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7') --AND condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^ORnumber=INC0000002') --OR condition
    --SELECT * FROM incident WITH(Query='numberLIKE0001') --LIKE condition
    --SELECT * FROM incident WITH(Query='numberSTARTSWITHINC00') --StartWith condition
    --SELECT * FROM incident WITH(Query='numberENDSWITH0001') --StartWith condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7^NQORnumber=INC0000002') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task
    Configure table/endpoint parameters in ODBC data source based on API Driver
    Some parameters configured in this window will be passed to the ServiceNow API, e.g. filtering parameters. It means that filtering will be done on the server side (instead of the client side), enabling you to get only the meaningful data much faster.
  9. Now hit Preview Data button to preview the data using the generated SQL query. If you are satisfied with the result, use this query in :

    - ServiceNow
    Allows the reading and writing of incidents, attachments, and more in ServiceNow without coding! The ZappySys ServiceNow API Connector provides easy-to-use, high-performance API access.
    ServicenowDSN
    SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id='109562a3c611227500a7b7ff98cc0dc7' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query='number=INC0000001') --Equal condition
    --SELECT * FROM incident WITH(Query='number!=INC0000001') --Not equal condition
    --SELECT * FROM incident WITH(Query='numberININC0000001,INC0000002,INC0000003') --IN condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7') --AND condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^ORnumber=INC0000002') --OR condition
    --SELECT * FROM incident WITH(Query='numberLIKE0001') --LIKE condition
    --SELECT * FROM incident WITH(Query='numberSTARTSWITHINC00') --StartWith condition
    --SELECT * FROM incident WITH(Query='numberENDSWITH0001') --StartWith condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7^NQORnumber=INC0000002') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task
    API ODBC Driver-based data source data preview
    You can also access data quickly from the tables dropdown by selecting <Select table>.
    A WHERE clause, LIMIT keyword will be performed on the client side, meaning that the whole result set will be retrieved from the ServiceNow API first, and only then the filtering will be applied to the data. If possible, it is recommended to use parameters in Query Builder to filter the data on the server side (in ServiceNow servers).
  10. Click OK to finish creating the data source.

Read data in SQL Server using ZappySys Data Gateway

To read the data in SQL Server, the first thing you have to do is create a Linked Server:

  1. First, let's open SQL Server Management Studio, create a new Linked Server, and start configuring it:

    LS_TO_SERVICENOW_IN_GATEWAY
    Microsoft OLE DB Driver for SQL Server
    localhost,5000
    ServicenowDSN
    ServicenowDSN
    SSMS SQL Server Configure Linked Server
    Choose SQL Server Native Client 11.0 as Provider if you don't see the option shown above.
  2. Then click on Security option and configure username we created in ZappySys Data Gateway in one of the previous steps:

    SSMS SQL Server Configure Linked Server User Name
  3. Optional step. Under the Server Options, Enable RPC and RPC Out and Disable Promotion of Distributed Transactions(MSDTC).

    RPC and MSDTC Settings

    You need to enable RPC Out if you plan to use EXEC(...) AT [LS_TO_SERVICENOW_IN_GATEWAY] rather than OPENQUERY.
    If don't enabled it, you will encounter the Server 'LS_TO_SERVICENOW_IN_GATEWAY' is not configured for RPC error.

    Query Example:

    EXEC('SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id=''109562a3c611227500a7b7ff98cc0dc7'' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query=''number=INC0000001'') --Equal condition
    --SELECT * FROM incident WITH(Query=''number!=INC0000001'') --Not equal condition
    --SELECT * FROM incident WITH(Query=''numberININC0000001,INC0000002,INC0000003'') --IN condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7'') --AND condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^ORnumber=INC0000002'') --OR condition
    --SELECT * FROM incident WITH(Query=''numberLIKE0001'') --LIKE condition
    --SELECT * FROM incident WITH(Query=''numberSTARTSWITHINC00'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''numberENDSWITH0001'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7^NQORnumber=INC0000002'') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task') AT [LS_TO_SERVICENOW_IN_GATEWAY]


    If you plan to use 'INSERT INTO <TABLE> EXEC(...) AT [LS_TO_SERVICENOW_IN_GATEWAY]' in that case you need to Disable Promotion of Distributed Transactions(MSDTC).
    If don't disabled it, you will encounter the The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "MY_LINKED_SERVER_NAME" was unable to begin a distributed transaction. error.

    Query Example:

    INSERT INTO dbo.Products
    EXEC('SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id=''109562a3c611227500a7b7ff98cc0dc7'' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query=''number=INC0000001'') --Equal condition
    --SELECT * FROM incident WITH(Query=''number!=INC0000001'') --Not equal condition
    --SELECT * FROM incident WITH(Query=''numberININC0000001,INC0000002,INC0000003'') --IN condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7'') --AND condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^ORnumber=INC0000002'') --OR condition
    --SELECT * FROM incident WITH(Query=''numberLIKE0001'') --LIKE condition
    --SELECT * FROM incident WITH(Query=''numberSTARTSWITHINC00'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''numberENDSWITH0001'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7^NQORnumber=INC0000002'') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task') AT [LS_TO_SERVICENOW_IN_GATEWAY]
    

  4. Finally, open a new query and execute a query we saved in one of the previous steps:

    SELECT * FROM OPENQUERY([LS_TO_SERVICENOW_IN_GATEWAY], 'SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id=''109562a3c611227500a7b7ff98cc0dc7'' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query=''number=INC0000001'') --Equal condition
    --SELECT * FROM incident WITH(Query=''number!=INC0000001'') --Not equal condition
    --SELECT * FROM incident WITH(Query=''numberININC0000001,INC0000002,INC0000003'') --IN condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7'') --AND condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^ORnumber=INC0000002'') --OR condition
    --SELECT * FROM incident WITH(Query=''numberLIKE0001'') --LIKE condition
    --SELECT * FROM incident WITH(Query=''numberSTARTSWITHINC00'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''numberENDSWITH0001'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7^NQORnumber=INC0000002'') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task')
    Execute query at Linked Server to ZappySys Data Gateway in SSMS

    SELECT * FROM OPENQUERY([LS_TO_SERVICENOW_IN_GATEWAY], 'SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id=''109562a3c611227500a7b7ff98cc0dc7'' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query=''number=INC0000001'') --Equal condition
    --SELECT * FROM incident WITH(Query=''number!=INC0000001'') --Not equal condition
    --SELECT * FROM incident WITH(Query=''numberININC0000001,INC0000002,INC0000003'') --IN condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7'') --AND condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^ORnumber=INC0000002'') --OR condition
    --SELECT * FROM incident WITH(Query=''numberLIKE0001'') --LIKE condition
    --SELECT * FROM incident WITH(Query=''numberSTARTSWITHINC00'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''numberENDSWITH0001'') --StartWith condition
    --SELECT * FROM incident WITH(Query=''number=INC0000001^state=7^NQORnumber=INC0000002'') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task')

Create Linked Server using Code

In previous section you saw how to create a Linked Server from UI. You can do similar action by code too (see below). Run below script after changing necessary parameters. Assuming your Data Source name on ZappySys Data Gateway UI is 'ServicenowDSN'
USE [master]
GO
--///////////////////////////////////////////////////////////////////////////////////////
--Run below code in SSMS to create Linked Server and use ZappySys Drivers in SQL Server
--///////////////////////////////////////////////////////////////////////////////////////

-- Replace YOUR_GATEWAY_USER, YOUR_GATEWAY_PASSWORD
-- Replace localhost with IP/Machine name if ZappySys Gateway Running on different machine other than SQL Server
-- Replace Port 5000 if you configured gateway on a different port


--1. Configure your gateway service as per this article https://zappysys.com/links?id=10036

--2. Make sure you have SQL Server Installed. You can download FREE SQL Server Express Edition from here if you dont want to buy Paid version https://www.microsoft.com/en-us/sql-server/sql-server-editions-express

--Uncomment below if you like to drop linked server if it already exists
--EXEC master.dbo.sp_dropserver @server=N'LS_TO_SERVICENOW_IN_GATEWAY', @droplogins='droplogins'

--3. Create new linked server

EXEC master.dbo.sp_addlinkedserver
    @server = N'LS_TO_SERVICENOW_IN_GATEWAY'  --Linked server name (this will be used in OPENQUERY sql
, @srvproduct=N''
---- For MSSQL 2012,2014,2016 and 2019 use below (SQL Server Native Client 11.0)---
, @provider=N'SQLNCLI11'
---- For MSSQL 2022 or higher use below (Microsoft OLE DB Driver for SQL Server)---
--, @provider=N'MSOLEDBSQL'
, @datasrc=N'localhost,5000' --//Machine / Port where Gateway service is running
, @provstr=N'Network Library=DBMSSOCN;'
, @catalog=N'ServicenowDSN' --Data source name you gave on Gateway service settings

--4. Attach gateway login with linked server

EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'LS_TO_SERVICENOW_IN_GATEWAY'  --linked server name
, @useself=N'False'
, @locallogin=NULL
, @rmtuser=N'YOUR_GATEWAY_USER' --enter your Gateway user name
, @rmtpassword='YOUR_GATEWAY_PASSWORD'  --enter your Gateway user's password
GO

--5. Enable RPC OUT (This is Optional - Only needed if you plan to use EXEC(...) AT YourLinkedServerName rather than OPENQUERY
EXEC sp_serveroption 'LS_TO_SERVICENOW_IN_GATEWAY', 'rpc', true;
EXEC sp_serveroption 'LS_TO_SERVICENOW_IN_GATEWAY', 'rpc out', true;

--Disable MSDTC - Below needed to support INSERT INTO from EXEC AT statement
EXEC sp_serveroption 'LS_TO_SERVICENOW_IN_GATEWAY', 'remote proc transaction promotion', false;

--Increase query timeout if query is going to take longer than 10 mins (Default timeout is 600 seconds)
--EXEC sp_serveroption 'LS_TO_SERVICENOW_IN_GATEWAY', 'query timeout', 1200;
GO