[TIP] Cách di chuyển dữ liệu từ MS Access vào cơ sở dữ liệu máy chủ SQL

Gần đây, tôi đã phải di chuyển dữ liệu từ cơ sở dữ liệu Access sang SQL Server 2014 vì cơ sở dữ liệu của tôi quá lớn để Access có thể xử lý. Mặc dù quá trình này khá đơn giản, nhưng tôi vẫn nghĩ rằng tôi sẽ viết một bài viết với các hướng dẫn từng bước về quy trình này.

Trước tiên, bạn cần đảm bảo rằng bạn đã cài đặt SQL Server hoặc SQL Server Express trên máy tính của mình. Khi tải xuống SQL Server Express trên máy tính cá nhân, hãy đảm bảo bạn tải xuống phiên bản với Advanced Services. Nếu bạn không làm vậy, thì công cụ cơ sở dữ liệu sẽ không được cài đặt và bạn sẽ có SQL Management Studio mà không có bất kỳ cơ sở dữ liệu nào để kết nối.

sql server express

Khi bạn đã cài đặt SQL Server đúng cách, bạn có thể tiếp tục các bước bên dưới để nhập cơ sở dữ liệu Access vào cơ sở dữ liệu mới trong SQL Server.

Chuyển cơ sở dữ liệu từ Access sang SQL Server

Mở SQL Server Management Studio và kết nối với  cơ sở dữ liệu máy chủ mà bạn muốn nhập cơ sở dữ liệu Access của mình vào. Trong Databases, bấm chuột phải và chọn New Database. Nếu bạn đã có cơ sở dữ liệu và bạn chỉ muốn nhập một vài bảng từ Access, thì bạn chỉ cần bỏ qua bước này và đi đến bước Import Data bên dưới. Chỉ cần nhấp chuột phải vào cơ sở dữ liệu hiện tại của bạn thay vì tạo một cơ sở dữ liệu mới.

new database

Nếu bạn đang tạo một cơ sở dữ liệu mới, hãy tiếp tục và đặt tên cho nó và định cấu hình cài đặt nếu bạn muốn thay đổi mặc định của chúng.

database settings

Bây giờ chúng ta cần nhấp chuột phải vào cơ sở dữ liệu Thử nghiệm mà chúng ta vừa tạo và chọn Tasks rồi nhập Import Data.

import data

Trong hộp thoại Choose a Data Source, chọn Microsoft Access (Microsoft Jet Database Engine) từ hộp menu thả xuống.

choose data source

Kế hộp File name, chọn Browse và điều hướng đến cơ sở dữ liệu Access mà bạn muốn nhập và nhấp vào Open. Lưu ý rằng cơ sở dữ liệu không thể ở định dạng Access 2007 hoặc cao hơn (ACCDB) vì SQL Server không nhận ra nó! Vì vậy, nếu bạn có cơ sở dữ liệu Access 2007 đến 2016, trước tiên hãy chuyển đổi nó sang định dạng Cơ sở dữ liệu 2002-2003 (MDB) bằng cách đi tới File – Save As.

Tiếp tục và nhấp vào Next để chọn điểm đến. Vì bạn nhấp chuột phải vào cơ sở dữ liệu mà bạn muốn nhập dữ liệu vào, nên nó đã được chọn trong danh sách. Nếu không, chọn SQL Native Client từ hộp Destination. Bạn sẽ thấy trường cơ sở dữ liệu dưới mục Server Name và sau đó có thể chọn cơ sở dữ liệu cụ thể ở cuối khi bạn chọn phương thức xác thực.

database destination

Bấm Next và sau đó chỉ định cách bạn muốn chuyển dữ liệu từ Access sang SQL bằng cách chọn Copy the data from one or more tables hoặc Write a query to specify the data to transfer.

how to copy data

Nếu bạn muốn sao chép tất cả các bảng hoặc chỉ một số bảng từ cơ sở dữ liệu Access mà không có bất kỳ thao tác dữ liệu nào, hãy chọn tùy chọn đầu tiên. Nếu bạn chỉ cần sao chép một số hàng và cột dữ liệu nhất định từ một bảng, hãy chọn tùy chọn thứ hai và viết truy vấn SQL.

Theo mặc định, tất cả các bảng sẽ được chọn và nếu bạn nhấp vào nút Edit Mappings, bạn có thể định cấu hình cách sắp xếp các trường giữa hai bảng. Nếu bạn đã tạo một cơ sở dữ liệu mới để nhập, thì nó sẽ là một bản sao chính xác.

tables and views

Ở đây tôi chỉ có một bảng trong cơ sở dữ liệu Access của mình. Nhấp vào Next và bạn sẽ thấy màn hình Run Package nơi bạn nên chọn mục Run Immediately.

run task sql

Nhấp Next và sau đó chọn Finish. Sau đó, bạn sẽ thấy tiến trình truyền dữ liệu. Sau khi hoàn thành, bạn sẽ thấy số lượng hàng được chuyển cho mỗi bảng trong cột Message.

data transferred

Nhấp Close và bạn đã hoàn tất. Bây giờ bạn có thể tiếp tục và mở mục SELECT trên các bảng của mình để đảm bảo tất cả dữ liệu đã được nhập. Bây giờ bạn có thể dùng SQL Server để quản lý cơ sở dữ liệu của mình.

select data from table

Bạn còn bất kỳ vấn đề nhập dữ liệu từ Access vào SQL Server nào nữa không? Nếu có, hãy viết bình luận và tôi sẽ cố gắng giúp đỡ. Chúc thành công!

- Tags: