How to Fix Read-Only Linked SQL Server Tables in Microsoft Access
Question details
The user needs to edit linked SQL Server tables within Microsoft Access that are currently restricted to a read-only state.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Attempting to update or modify records in a SQL Server table that has been linked to a Microsoft Access database.
- Observed behavior
- The linked SQL Server table is entirely read-only, preventing any edits, because the source table lacks a primary key, leaving Access unable to uniquely identify records.
Ensure you have the necessary SQL Server administrative credentials and database permissions to alter table schemas before attempting to modify the database structure.
Add a Primary Key and Refresh the Linked Table
By defining a primary key on the SQL Server source table and refreshing the connection, Microsoft Access can identify individual records and safely allow data edits.
Microsoft Access requires a primary key or a unique index to process updates on linked ODBC tables. Without a primary key, Access assumes the data cannot be safely updated and locks the table in a read-only mode.
Open SQL Server Management Studio (SSMS) and connect to your database. Right-click the target table, select 'Design', choose a column with unique values, and set it as the Primary Key. Save the table changes.
Launch your Microsoft Access database. Navigate to the 'External Data' tab located on the top ribbon, and click on 'Linked Table Manager'.
In the Linked Table Manager window, locate and check the box next to the SQL Server table you just modified. Click 'OK' or 'Refresh' to update the schema link in Access.
Double-click the linked table in the navigation pane to open it in Datasheet View. Attempt to modify a field or add a new record to confirm that the read-only restriction has been removed.

Looking for a Free Alternative to Manage Your Data?
While Microsoft Access handles complex relational databases, WPS Office provides a lightweight, highly compatible, and free alternative for everyday data management. Easily analyze, filter, and organize large datasets using WPS Spreadsheet without expensive software subscriptions.
- 1. Download and Install WPS Office: Visit the official WPS website and download the free office suite tailored for your operating system.
- 2. Import Your Data: Export your current database tables to standard .csv or .xlsx formats and open them directly in WPS Spreadsheet.
- 3. Analyze and Edit Data: Use the familiar spreadsheet interface to seamlessly edit data, apply formulas, and manage your records efficiently.

Frequently Asked Questions
Why are my linked SQL Server tables read-only in Microsoft Access?
Microsoft Access requires a unique identifier (primary key) for each row in a linked SQL Server table. Without a primary key, Access cannot guarantee which specific row is being edited, so it restricts the table to read-only to prevent accidental data corruption.
Can I set a primary key directly in Access instead of SQL Server?
No, structural changes to a linked SQL Server table, such as defining a primary key, must be performed on the server side using tools like SQL Server Management Studio (SSMS).
Do I need to relink the table every time the SQL Server data changes?
No. Data updates sync automatically. You only need to use the Linked Table Manager to refresh or relink the table when the actual structure (schema) of the SQL Server table changes, such as adding a new column or defining a primary key.
What permissions do I need to edit a linked SQL Server table?
In addition to a primary key existing on the table, the SQL Server user account you use to connect via ODBC must have UPDATE, INSERT, and DELETE permissions granted on that specific SQL Server table.




