Cloud Adapter for SQL Server


The Cloud Adapter service is created as part of SQL Server provisioning on a Windows 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 SQL Server. When the Cloud Adapter service is stopped, it stops the remote access Cloud Adapter, unbinds the SSL certificate, and disables the Windows Firewall rule.

Note the following requirements to install, enable, and run the Cloud Adapter for SQL Server:

  • Cloud Adapter is supported with SQL Server 2012 and higher. On SQL Server 2012, the Cloud Adapter for SQL Server requires SQL Management Objects for SQL Server 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 SQL Server 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.

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 -

    • <configuration>

      • <appSettings>

        • <add key=”WebServicePort” value=”” />

        • <add key=”WebServiceCertificate” value=”GUID” />

        • <add key=”ExposeExceptionDetails” value=”true” />

      • </appSettings>

    • </configuration>

  • Certificate details – The certificate has the following values:

    • Subject – “CN=CloudAdapter<VMName>, DC=SQL Server, DC=Microsoft”

    • The certificate should have only Server Authentication EKU enabled.

    • The certificate key length is 2048.

Configuration file values:

WebServicePort1-6553511435If not specified, use 11435.
WebServiceCertificateThumbprintEmptyIf empty, a new self-signed certificate is generated.

Use the following information to troubleshoot the Cloud Adapter for SQL Server:

  • 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\.

ErrorError IDCauseResolution
There was an exception while adding the certificate to the certificate store. {Exception text}.45560Machine certificate store permissionsEnsure 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}.45561Another 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.45564Certificate 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}.45570Described in the exception.Enable ExposeExceptionDetails and use extended information from the exception.
Certificate [{Thumbprint}] has expired.45565Expired certificate referenced from the configuration file.Add a valid certificate and update the configuration file with its thumbprint.
Web service error: {0}.45571Described in the exception.Enable ExposeExceptionDetails and use extended information from the exception.

Deploy a SQL Server Database to a Microsoft Azure Virtual Machine