To connect to Microsoft SQL Server from an ArcGIS client, install a supported Microsoft SQL Server ODBC driver on the ArcGIS client machine and connect to the database from the ArcGIS client.
Once the SQL Server ODBC driver is configured on all your ArcGIS client machines, create a database connection file in ArcGIS Pro or ArcMap. To publish ArcGIS Server web services that reference the data in your SQL Server database, register the database connection file with your ArcGIS Server sites.
Connect from ArcGIS Pro
To connect from an ArcGIS Pro project to SQL Server, install the Microsoft ODBC driver for SQL Server on the ArcGIS Pro machine and create a database connection. First, though, be sure your SQL Server instance can accept connections from remote computers.
Configure the instance to allow connections
By default, SQL Server instances are not configured to allow connections from other computers. If you have a new installation of SQL Server, be sure the SQL Server service is running and listening on the correct ports. See the Microsoft SQL Server documentation for more information.
Additional configuration is required on the SQL Server and ArcGIS Pro client machine to use encrypted connections.
Install the ODBC driver for SQL Server
Obtain the Microsoft ODBC driver for SQL Server from the Microsoft Download Center or from My Esri. Be sure to get the Microsoft ODBC driver that is supported for the version of SQL Server to which you want to connect. Install the driver on all computers where ArcGIS Pro is installed.
Connect to the database
Add a database connection using the Database Connection dialog box or the Create Database Connection tool. The following steps describe using the Database Connection dialog box:
- Right-click Databases in the Catalog pane and click New Database Connection.
- Choose SQL Server from the Database Platform drop-down list.
- Type the SQL Server instance name in the Instance text box.
For example, if you are using a default SQL Server instance, you can specify the instance name or the IP address of the server in the Instance text box. If specifying an IPV6 address, enclose the address in brackets. For example, if the IPV6 address of the server is 2000:ab1:0:2:f333:c432:55f6:d7ee, type [2000:ab1:0:2:f333:c432:55f6:d7ee] in the Data source text box.
If your database is listening on a port other than the default (1433), include the port number in the instance. For example, if the SQL Server instance is basset\spatial and is listening on port 61000, type basset\spatial,61000 in the Instance text box.
If your Microsoft Azure SQL Database instance name is cloudy4u.database.windows.net, type cloudy4u.database.windows.net in the Instance text box. If you are using a SQL Server instance named terra\gis, type terra\gis in the Instance text box.
Additional text is needed in the Instance text box for encrypted connections and connections to highly available SQL Server databases.
- Choose the type of authentication to use when connecting to the database: Database authentication or Operating system authentication.
- If you choose Operating system authentication, you do not need to type a user name and password—the connection is made using the login name and password used to log in to the operating system. If the login used for the operating system is not a valid database login, the connection fails.
If you choose Database authentication, you must provide a valid database user name and password in the User name and Password text boxes, respectively. User names can be a maximum of 30 characters.
Uncheck Save user name and password if you prefer to not save your login information as part of the connection; doing this can help maintain the security of the database. However, if you do this, you will be prompted to provide a user name and password every time you connect.
Note:
- Save user name and password must be checked for connection files that use database authentication to provide ArcGIS web services with access to the database, or if you want to search ArcGIS Pro to locate data accessed through this connection file.
- Outside of ArcGIS, you can create user names in SQL Server that contain special characters. These user names must be delimited whenever they are used. ArcGIS will add the delimiter automatically when it is passed to SQL Server; you do not need to include delimiters with the user name. For example, if your user name is map.user, type map.user, not "map.user" in the User name text box. For more information on regular and delimited identifiers, see your SQL Server documentation.
- In the Database text box, type or choose the name of the specific database you want to connect to on the SQL Server or Azure SQL Database instance. The database name is limited to 31 characters.
Tip:
The database name is optional when connecting to a SQL Server instance, but only if you want to connect to the database that has been assigned as your default database in the SQL Server instance. The database name is required when connecting to Azure SQL Database.
- Click OK to connect.
Connect from ArcMap
To connect to a database or geodatabase in SQL Server from ArcMap, install the Microsoft ODBC driver for SQL Server on the ArcMap computer and create a connection file in the Catalog tree. First, though, be sure your SQL Server instance can accept connections from remote computers.
Configure the instance to allow connections
By default, SQL Server instances are not configured to allow connections from other computers. If you have a new installation of SQL Server, be sure the SQL Server service is running and listening on the correct ports. See the Microsoft SQL Server documentation for more information.
Install the ODBC driver for SQL Server
Obtain the Microsoft ODBC driver for SQL Server from the Microsoft Download Center or from My Esri. Be sure to get the Microsoft ODBC driver that is supported for the version of SQL Server to which you want to connect. Install the driver on all computers where ArcMap is installed.
If you are installing the driver on a 64-bit operating system, run the 64-bit executable; it installs both 32- and 64-bit files. If you run the 32-bit installation on a 64-bit operating system, it will fail.
Connect to the database
You can connect to a database or geodatabase in SQL Server by adding a database connection under the Database Connections node in the Catalog tree in ArcMap or ArcCatalog or by using the Create Database Connection tool.
The following steps describe using the Database Connection dialog box:
- Expand Database Connections in the Catalog tree in ArcMap or ArcCatalog and double-click Add Database Connection.
- Choose SQL Server from the Database Platform drop-down list.
- Type the SQL Server instance name in the Instance text box.
For example, if you are using a default SQL Server instance, you can specify the instance name or the IP address of the server in the Instance text box. If specifying an IPV6 address, enclose the address in brackets. For example, if the IPV6 address of the server is 2000:ab1:0:2:f333:c432:55f6:d7ee, type [2000:ab1:0:2:f333:c432:55f6:d7ee] in the Instance text box.
If your database is listening on a port other than the default (1433), include the port number in the instance. For example, if the SQL Server instance is basset\spatial and is listening on port 61000, type basset\spatial,61000 in the Instance text box.
If your Azure SQL Database instance name is cloudy4u.database.windows.net, type cloudy4u.database.windows.net in the Instance text box. If you are using a SQL Server instance named terra\gis, type terra\gis in the Instance text box.
Note:
Additional information is needed in the Instance text box to connect to a highly available SQL Server database.
- Choose the type of authentication to use when connecting to the database: Database authentication or Operating system authentication.
- If you choose Operating system authentication, you do not need to type a user name and password—the connection is made using the login name and password used to log in to the operating system. If the login used for the operating system is not a valid database login, the connection fails.
If you choose Database authentication, you must provide a valid database user name and password in the User name and Password text boxes, respectively. User names can be a maximum of 30 characters.
Uncheck Save user name and password if you prefer to not save your login information as part of the connection; doing this can help maintain the security of the database. However, if you do this, you will be prompted to provide a user name and password every time you connect from a desktop client.
Note:
- Save user name and password must be checked for connection files that provide ArcGIS services with access to the database, or if you want to search ArcGIS Desktop to locate data accessed through this connection file.
- Outside of ArcGIS, you can create user names in SQL Server that contain special characters. These user names must be delimited whenever they are used. ArcGIS will add the delimiter automatically when it is passed to SQL Server; you do not need to include delimiters with the user name. For example, if your user name is map.user, type map.user, not "map.user" in the User name text box. For more information on regular and delimited identifiers, see your SQL Server documentation.
- In the Database text box, type or choose the name of the specific database you want to connect to on the SQL Server or Azure SQL Database instance. The database name is limited to 31 characters.
Tip:
The database name is optional when connecting to a SQL Server instance, but only if you want to connect to the database that has been assigned as your default database in the SQL Server instance. The database name is required when connecting to Azure SQL Database.
In the following example, a connection is made to the database, spatialdata, on the SQL Server instance server1\ss08r2 using database authentication.
- Click OK to connect.
A file is created in \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog.
You can move the connection to another location; just be sure users and applications that need to make a connection have read access to the directory where you place the connection file.
If you use the data from this connection as the source for a service, such as a geoprocessing or geocoding service, you may need to place the connection file in a shared location on your network. See Make your data accessible to ArcGIS Server for more information about sharing a connection file.
Connect from ArcGIS Server
If SQL Server and ArcGIS Server are running on separate machines, install the Microsoft ODBC driver for SQL Server on all machines in the ArcGIS Server site. First, though, be sure your SQL Server instance is configured to accept remote connections.
Configure the instance to allow connections
By default, SQL Server instances are not configured to allow connections from other computers. If you have a new installation of SQL Server, be sure the SQL Server service is running and listening on the correct ports. See the Microsoft SQL Server documentation for more information.
Install the ODBC driver for SQL Server
If ArcGIS Server and SQL Server are installed on different computers, you must install a 64-bit Microsoft ODBC driver for SQL Server on each machine in the ArcGIS Server site. You can obtain and install the driver from the Microsoft Download Center. Be sure to get the Microsoft ODBC driver that is supported for the version of SQL Server to which you want the ArcGIS Server site to connect.
Note:
When connecting from ArcGIS Server on Ubuntu to a supported version of SQL Server, you must install the Microsoft unixodbc-dev package on all ArcGIS Server machines in addition to the ODBC driver.
Register the database
If you want the services you publish to ArcGIS Server to access the data in your database or geodatabase in SQL Server, you must register the database with your ArcGIS Server site. See Manage registered data stores in the ArcGIS Pro help, Register your data with ArcGIS Server using Server Manager, or Add items in the ArcGIS Enterprise portal user help for instructions.