Link to or import data from an Azure SQL Server Database

You can link to or import data from an SQL Database, which is a high-performing managed database used for mission-critical applications. For more information, see SQL Database – Cloud Database as a Service.

  • When you link to data, Access creates a two-way connection that synchronizes changes to data in Access and the SQL Database.

  • When you import data, Access creates a one-time, copy of the data, and so changes to data in either Access or the SQL Database are not synchronized.

Overview of connecting Access to SQL Server

Before you begin

Make basic preparations

Want things to go smoother? Then make the following preparations before you link or import:

  • Locate the Azure SQL Server database server name, identify necessary connection information, and choose an authentication method (Windows or SQL Server). For more information on the four methods of authentication, see Connect to Server (Database Engine) and Securing your database.

  • Identify the tables or views that you want to link to or import, and uniquely-valued fields for linked tables. You can link to or import more than one table or view in a single operation.

  • Consider the number of columns in each table or view. Access does not support more than 255 fields in a table, so Access links or imports only the first 255 columns. As a workaround, you can create a view in the Azure SQL Server Database to access the columns beyond the limit.

  • Determine the total amount of data being imported. The maximum size of an Access database is two gigabytes, minus the space needed for system objects. If the Azure SQL Server database contains large tables, you might not be able to import them all into a single Access database. In this case, consider linking to the data instead of importing.

  • Secure your Access database and the connection information it contains by using a trusted location and an Access database password. This is especially important if you choose to save the SQL Server password in Access.

  • Plan for making additional relationships. Access does not automatically create relationships between related tables at the end of an import operation. You can manually create the relationships between new and existing tables by using the Relationships window. For more information, see What is the Relationships window? and Create, edit or delete a relationship.

Configure your Azure SQL Server environment

Your organization may already have a Microsoft Azure account and an Azure SQL Server database that you can use. If that’s not the case, you can do the following:

  1. Create an Azure account. For more information, see Create your free Azure account today.

  2. If you don’t have convenient access to an Azure SQL Server database, you can create your own. For more information, see Create an Azure SQL database in the Azure portal.

Make sure you retain important information so you don’t forget it, such as credentials and account names.

Create a firewall rule

Before connecting to a Microsoft Azure SQL Database server, the database administrator needs to create server-level firewall rules. These rules specify the public Internet Protocol (IP) address that enables client access for each device to the server through the Azure firewall. In your organization, check to see what kind of public IP address you are using, either static or dynamic:

  • If your public IP address is static, then it is consistently the same. You can specify a firewall rule with a single public IP address.

  • If your public IP address is dynamic, then it can change over time. You need to specify a firewall rule with a range of public IP addresses. Bear in mind that the public IP address used by your device to connect to Azure SQL Database may be different than the public IP address shown in your computer public IP configuration settings.

To avoid confusion, we recommend using the following procedures.

  1. Log into your Microsoft Azure account, and navigate to the Windows Azure portal.

  2. On the Microsoft Azure SQL Databases page, click your database.

  3. In the quick glance pane, click Manage allowed IP addresses, and then do one of the following:

    Create a firewall rule for a single device    Use this approach for testing and development, or in a small business environment, and when you know that your public IP address is static.

    • In the Allowed IP Addresses section, select Add to allowed IP addresses to enable your public IP address to access the database though the firewall. The Azure portal displays the correct public IP address for your client device above the rule names section.

    Create a firewall rule for a range of IP Addresses Use this approach to enable access for many users in an on-premises environment, or when you know your public IP address is dynamic. Contact your IT department or your Internet Provider to obtain a block of public IP addresses.

    1. Under RULE NAME, enter a meaningful name for the rule.

    2. Under START IP, enter the beginning public IP address number of the range.

    3. Under END IP, enter the ending public IP address number of the range.

It may take up to five minutes for the firewall rule to take effect. For more information, see Azure SQL Database firewall rules.

Stage 1: Get started

  1. Select External Data > New Data Source > From Database > From SQL Server.

  2. In the Get External Data – ODBC Database dialog box, do one of the following:

    • To import data, select Import the source data into a new table in the current database.

    • To link to data, select Link the data source by creating a linked table.

  3. Select OK.

Stage 2: Create or reuse a DSN file

You can create a DSN file or reuse an existing one. Use a DSN file when you want to rely on the same connection information for different link and import operations or to share with a different application that also uses DSN files. You can create a DSN file directly by using the Data Connection Manager. For more information, see Administer ODBC data sources.

Although you can still use prior versions of the SQL ODBC driver, we recommend using version 13.1, which has many improvements, and supports new SQL Server 2016 features. For more information, see Microsoft ODBC Driver for SQL Server on Windows.

  1. Do one of the following:

    • If the DSN file you want to use already exists, select it from the list.

      Select Data Source dialog box

      Depending on which authentication method you entered in the connection information, you may need to enter a password again.

    • To create a new DSN file:

      1. Select New.

        Create New Data Source dialog box
      2. Select ODBC Driver 13 for SQL Server, and then select Next.

      3. Enter a name for the DSN file, or click Browse to create the file in a different location.

  2. Click Next to review the summary information, and then click Finish.

Stage 3: Use the Create a New Data Source to SQL Server wizard

In the Create a New Data Source to SQL Server wizard, do the following:

  1. On page one, enter identification information:

    • In the Description box, optionally enter documentary information about the DSN file.

    • In the Server box, enter the name of the Azure SQL Server Database. For example, enter "myAzureDB.database.windows.net". Do not click the down arrow.

  2. On page two, select one of the following authentication methods:

  3. On pages three and four, select various options to customize your connection. For more information about these options, see Microsoft ODBC Driver for SQL Server.

  4. A screen appears to confirm your settings. Select Test Data Source to confirm your connection.

  5. You may need to login to the database. In the SQL Server Login dialog box, enter the login ID and password. To change additional settings, select Options.

Stage 4: Select Tables to link to or import

  1. In the Link Tables or Import Objects dialog box, under Tables, select each table or view that you want to link or import, and then click OK.

    List of tables to link or import
  2. In a link operation, decide whether to select Save Password.

    Security    Selecting this option eliminates the need to enter credentials each time you open Access and access the data. But, this stores an unencrypted password in the Access database, which means people who can access the source contents can see the user name and password. If you select this option, we strongly recommend storing the Access database in a trusted location and creating an Access database password. For more information, see Decide whether to trust a database and Encrypt a database by using a database password.

Stage 5: Create specifications and tasks (Import only)

Results

When a link or import operation completes, the tables appear in the Navigation Pane with the same name as the SQL Server table or view combined with the owner name. For example, if the SQL name is dbo.Product, the Access name is dbo_Product. If that name is already in use, Access appends "1" to the new table name — for example, dbo_Product1. If dbo_Product1 is also already in use, Access will create dbo_Product2, and so on. But you can rename the tables to something more meaningful.

In an import operation, Access never overwrites a table in the database. Although you cannot directly append SQL Server data to an existing table, you can create an append query to append data after you have imported data from similar tables.

In a link operation, if columns are read-only in an Azure SQL Server table, they are also read-only in Access.

Tip    To see the connection string, hover over the table in the Access navigation pane.

Update the linked table design

You can’t add, delete, or modify columns or change data types in a linked table. If you want to make design changes, do it in the Azure SQL Server database. To see the design changes in Access, update the linked tables:

  1. Select External Data > Linked Table Manager.

  2. Select each linked table you want to update, select OK, and then select Close.

Compare data types

Access data types are differently named from azure SQL Server data types. For example, an Azure SQL Server column of the bit data type is imported or linked into Access with the Yes/No data type. The following table compares Azure SQL Server and Access data types.

SQL Server data type

Access data type

Access field size

bigint

Large Number

See Using the Large Number data type.

binary (field size)

Binary

Same as SQL Server field size

bit

Yes/No

char (field size), where field size is less than or equal to 255

Text

Same as SQL Server field size

char (field size), where field size is greater than 255

Memo

datetime

Date/Time

decimal (precision, scale)

Number

Decimal (Access Precision and Scale properties match SQL Server precision and scale.)

float

Number

Double

image

OLE Object

int

Number

Long Integer

money

Currency

nchar (field size), where field size is less than or equal to 255

Text

Same as SQL Server field size

nchar (field size), where field size is greater than 255

Memo

ntext

Memo

numeric (precision, scale)

Number

Decimal (Access Precision and Scale properties match SQL Server precision and scale.)

nvarchar (field size), where field size is less than or equal to 255

Text

Same as SQL Server field size

nvarchar (field size), where field size is greater than 255

Memo

nvarchar(MAX)

Memo

real

Number

Single

smalldatetime

Date/Time

smallint

Number

Integer

smallmoney

Currency

sql_variant

Text

255

text

Memo

timestamp

Binary

8

tinyint

Number

Byte

uniqueidentifier

Number

Replication ID

varbinary

Binary

Same as SQL Server field size

varbinary (MAX)

OLE Object

varchar (field size), where field size is less than or equal to 255

Text

Same as SQL Server field size

varchar (field size), where field size is greater than 255

Memo

varchar(MAX)

Memo

xml

Memo

Expand your skills
Explore training
Get new features first
Join Office Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×