Import or link to data in an 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 Server 2016.
- 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.
Before you begin
Want things to go smoother? Then make the following preparations before you link or import:
- Locate the SQL Server database server name, identify necessary connection information, and choose an authentication method (Windows or SQL Server). For more information on the 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 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 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.
Stage 1: Get started
- Select External Data >New Data Source >From Database >From SQL Server.
- 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.
- 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.
Do one of the following:
If the DSN file you want to use already exists, select it from the list.
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:
Select New.
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:
- 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 SQL Server. Do not click the down arrow.
- On page two, select one of the following authentication methods:
- With Integrated Windows authentication Connect through a Windows user account. Optionally, enter a Service Principle name (SPN). For more information, see Service Principal Names (SPNs) in Client Connections (ODBC).
- With SQL Server authentication… Connect with credentials that have been set up in the database by entering the login ID and password.
- 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.
- A screen appears to confirm your settings. Select Test Data Source to confirm your connection.
- 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 and views to link to or import
- 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.
Stage 5: Create specifications and tasks (Import only)
- In the Get External Data - ODBC Database dialog box, you can save the import steps as a specification and create an Outlook task to automate the import operation on a regular basis. For more information, see Save the details of an import or export operation as a specification.
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 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 SQL Server database. To see the design changes in Access, update the linked tables:
- Select External Data >Linked Table Manager.
- Select each linked table you want to update, select OK, and then select Close.
Compare data types
Access data types are differently named from SQL Server data types. For example, a SQL Server column of the bit data type is imported or linked into Access with the Yes/No data type. For more information, see Comparing Access and SQL Server data types.
What else should I know?
- For information on how to save the details of your import into a specification that you can reuse later, see the article Save the details of an import or export operation as a specification.
- For information on how to run saved import specifications, see the article Run a saved import or export operation.
- For information on how to schedule specifications to run at specific times, see the article Schedule an import or export operation.
- For information on how to change a specification name, delete specifications, or update the names of source files in specifications, see the article Manage Data Tasks.