--- title: "Cloud Adapter for SQL Server | Microsoft Docs" ms.custom: "" ms.date: "03/09/2017" ms.prod: "sql-server-2014" ms.reviewer: "" ms.technology: "database-engine" ms.topic: conceptual helpviewer_keywords: - "Cloud adapter" - "Deploy to Azure" ms.assetid: 82ed0d0f-952d-4d49-aa36-3855a3ca9877 author: mashamsft ms.author: mathoma manager: craigg --- # Cloud Adapter for SQL Server The Cloud Adapter service is created as part of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] provisioning on an Azure VM. The Cloud Adapter service generates a self-signed SSL certificate as part of its first run, and then runs as a **Local System** account. It generates a configuration file that is used to configure itself. The Cloud Adapter also creates a Windows Firewall rule to allow its incoming TCP connections at default port 11435. The Cloud Adapter is a stateless, synchronous service that receives messages from the on-premise instance of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]. When the Cloud Adapter service is stopped, it stops the remote access Cloud Adapter, unbinds the SSL certificate, and disables the Windows Firewall rule. ## Cloud Adapter Requirements Note the following requirements to install, enable, and run the Cloud Adapter for [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]: - Cloud Adapter is supported with [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] 2012 and higher. On [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] 2012, the Cloud Adapter for [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] requires SQL Management Objects for [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] 2012. - Cloud Adapter web service runs as a **Local System** account and verifies client credentials before executing any task. Credentials supplied by the client must belong to the use account that is a member of the local **Administrators** group on the remote machine. - Cloud Adapter supports only [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] Authentication. - Cloud Adapter uses VM local administrator account to execute commands on the local machine, not an sa account. - Cloud Adapter listens on TCP/IP. The default port is 11435. - Cloud Adapter must have permissions to create and modify Windows Firewall rules. ## Cloud Adapter Configuration Settings Use the following Cloud Adapter configuration details to modify settings for a Cloud Adapter. - **Default path for the configuration file** - C:\Program Files\Microsoft SQL Server\120\Tools\CloudAdapter\ - **Configuration file parameters** - - \ - \ - \ - \ - \ - \ - \ - **Certificate details** - The certificate has the following values: - Subject - "CN=CloudAdapter\, DC=SQL Server, DC=Microsoft" - The certificate should have only Server Authentication EKU enabled. - The certificate key length is 2048. **Configuration file values**: |Setting|Values|Default|Comments| |-------------|------------|-------------|--------------| |WebServicePort|1-65535|11435|If not specified, use 11435.| |WebServiceCertificate|Thumbprint|Empty|If empty, a new self-signed certificate is generated.| |ExposeExceptionDetails|True/False|False|| ## Cloud Adapter Troubleshooting Use the following information to troubleshoot the Cloud Adapter for [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]: - **Error handling and logging** - Errors and status messages are written to the Application Event Log. - **Tracing, Events** - All events are written to the Application Event Log. - **Control, configuration** - Use the configuration file located in: C:\Program Files\Microsoft SQL Server\120\Tools\CloudAdapter\\. |Error|Error ID|Cause|Resolution| |-----------|--------------|-----------|----------------| |There was an exception while adding the certificate to the certificate store. {Exception text}.|45560|Machine certificate store permissions|Ensure that the Cloud Adapter service has permissions to add certificates to the machine certificate store.| |There was an exception while trying to configure the SSL binding for port {Port number} and certificate {Thumbprint}. {Exception}.|45561|Another application has already used the port or bound a certificate to it.|Remove existing bindings or change Cloud Adapter port in the configuration file.| |Failed to find SSL certificate [{Thumbprint}] in the certificate store.|45564|Certificate thumbprint is in the configuration file, but personal certificate store for the service does not contain certificate.

Insufficient permissions.|Make sure the certificate is in the personal certificate store for the service.

Make sure the service has correct permissions for the store.| |Failed to start the web service. {Exception text}.|45570|Described in the exception.|Enable ExposeExceptionDetails and use extended information from the exception.| |Certificate [{Thumbprint}] has expired.|45565|Expired certificate referenced from the configuration file.|Add a valid certificate and update the configuration file with its thumbprint.| |Web service error: {0}.|45571|Described in the exception.|Enable ExposeExceptionDetails and use extended information from the exception.| ## See Also [Deploy a SQL Server Database to a Microsoft Azure Virtual Machine](../relational-databases/databases/deploy-a-sql-server-database-to-a-microsoft-azure-virtual-machine.md)