SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Di chuyển cơ sở dữ liệu SQL với SSMS

Việc di chuyển MSSQL giữa các máy chủ có thể là một thách thức nếu không có các hướng dẫn thích hợp để giúp bạn đi đúng hướng. Trong bài viết này, tôi sẽ trình bày các cách khác nhau để di chuyển cơ sở dữ liệu Microsoft SQL Server giữa các máy chủ hoặc phiên bản. Cho dù bạn cần di chuyển một cơ sở dữ liệu duy nhất, nhiều cơ sở dữ liệu, thông tin đăng nhập hoặc các thủ tục và chế độ xem được lưu trữ, chúng tôi sẽ cung cấp cho bạn!

Có nhiều trường hợp mà bạn sẽ cần phải di chuyển cơ sở dữ liệu hoặc khôi phục cơ sở dữ liệu. Những lý do phổ biến nhất là:

  • Đang chuyển sang một máy chủ hoàn toàn mới.
  • Chuyển sang một phiên bản SQL khác.
  • Tạo máy chủ phát triển hoặc chuyển trực tiếp đến máy chủ sản xuất.
  • Khôi phục cơ sở dữ liệu từ bản sao lưu.

Có hai cách chính để di chuyển cơ sở dữ liệu SQL:Thủ công với Microsoft SQL Server Management Studio (SSMS) hoặc bằng dòng lệnh. Phương pháp bạn chọn phụ thuộc vào những gì bạn cần hoàn thành. Nếu bạn đang di chuyển một cơ sở dữ liệu hoặc chỉ một vài cơ sở dữ liệu, sao lưu và khôi phục cơ sở dữ liệu bằng SSMS theo cách thủ công sẽ là cách tiếp cận dễ dàng nhất. Nếu bạn đang di chuyển nhiều cơ sở dữ liệu (nghĩ nhiều hơn 10) thì việc sử dụng phương thức dòng lệnh sẽ tăng tốc quá trình. Phương thức dòng lệnh cần nhiều công việc chuẩn bị trước hơn, nhưng nếu bạn đang chuyển hàng chục cơ sở dữ liệu, thì bạn nên dành thời gian định cấu hình tập lệnh thay vì di chuyển từng cơ sở dữ liệu riêng lẻ. Nếu bạn không chắc chắn nên sử dụng phương pháp nào, hãy thử phương pháp thủ công trước khi bạn cảm thấy thoải mái với quy trình. Tôi khuyên bạn nên đọc toàn bộ để hiểu sâu hơn về phương pháp.

Tài liệu tham khảo hữu ích cho thuật ngữ

SSMS - Từ viết tắt của Microsoft S QL S erver M anagement S tudio.

Máy chủ nguồn - Máy chủ hoặc phiên bản bạn đang di chuyển cơ sở dữ liệu từ hoặc tắt .

Máy chủ đích - Máy chủ hoặc phiên bản bạn đang di chuyển cơ sở dữ liệu sang .

Phương pháp Thủ công

Di chuyển cơ sở dữ liệu SQL bằng phương pháp thủ công có thể rất dễ dàng. Đây là quy trình được ưu tiên để chuyển một vài hoặc cơ sở dữ liệu nhỏ hơn. Để làm theo phần này của hướng dẫn, bạn phải cài đặt MSSQL và Microsoft SQL Server Management Studio (SSMS).

Sao lưu cơ sở dữ liệu trên máy chủ nguồn

1. Bắt đầu bằng cách đăng nhập vào máy chủ Nguồn (máy chủ mà bạn đang di chuyển cơ sở dữ liệu từ hoặc rời khỏi). Bạn sẽ muốn mở Microsoft SQL Server Management Studio bằng cách chọn Bắt đầu> Microsoft SQL Server> Microsoft SQL Server Management Studio .

2.Đăng nhập vào máy chủ SQL bằng Xác thực Windows hoặc Xác thực SQL.

3. Mở rộng máy chủ (trong trường hợp của chúng tôi là SQL01 ), mở rộng Cơ sở dữ liệu , chọn cơ sở dữ liệu đầu tiên bạn muốn di chuyển (hình bên dưới).

4. Nhấp chuột phải vào cơ sở dữ liệu của bạn và chọn Nhiệm vụ sau đó nhấp vào Sao lưu .

5. Từ đây, bạn hiện đang ở Cơ sở dữ liệu sao lưu màn hình. Bạn có thể chọn Loại sao lưu, chẳng hạn như Đầy đủ hoặc Khác biệt , đảm bảo rằng cơ sở dữ liệu chính xác được chọn và đặt đích cho bản sao lưu SQL. Đối với ví dụ của chúng tôi, chúng tôi có thể để lại Sao lưu Loại as Full .

6. Trong Sao lưu Loại , hãy chọn hộp cho “ Sao lưu chỉ sao chép . ” Nếu bạn đang chạy DPM hoặc một hình thức sao lưu máy chủ khác, hãy sao lưu mà không có Chỉ sao chép cờ sẽ gây ra sự cố trong chuỗi nhật ký dự phòng.

7. Bạn sẽ thấy một vị trí trong Điểm đến cho đường dẫn của bản sao lưu mới. Thông thường, bạn sẽ Xóa mục nhập này sau đó Thêm một cái mới để chọn một thư mục SQL có quyền đọc / ghi. Thêm một Đích dự phòng mới hiển thị một đường dẫn tương tự như sau:

C:\ Program Files \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Backup \

Đường dẫn C:\ này là nơi chứa bản sao lưu cơ sở dữ liệu được lưu trữ của bạn. Lưu ý vị trí này để tham khảo sau, vì đây là đường dẫn mặc định đến các bản sao lưu được lưu trữ và sẽ phải có quyền truy cập đọc / ghi thích hợp cho các dịch vụ SQL.

Lưu ý:Người dùng nâng cao có thể thoải mái khi rời khỏi đích như hiện tại, miễn là các quyền trên thư mục đầu ra chính xác.

8. Tiếp theo, nối tên tệp vào cuối đường dẫn này, chẳng hạn như AdventureWorks2012-081418 .bak - Đảm bảo kết thúc tên tệp bằng phần mở rộng .bak và chọn OK

10. Khi bạn đã nhấn OK trên Chọn Đích dự phòng nhắc, bạn đã sẵn sàng sao lưu cơ sở dữ liệu! Tất cả những gì bạn cần làm bây giờ là nhấn OK , và cơ sở dữ liệu sẽ bắt đầu sao lưu. Bạn sẽ thấy thanh tiến trình ở góc dưới cùng bên trái và khi quá trình sao lưu hoàn tất, một cửa sổ sẽ xuất hiện thông báo ' Đã hoàn tất thành công sao lưu cơ sở dữ liệu' AdventureWorks2012 '. '

Điều hướng đến đường dẫn đích, đã lưu ý trước đó, (trong trường hợp này là C:\ Program Files \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Backup \ ) bạn sẽ thấy tệp mới tạo của mình (trong trường hợp này là AdventureWorks2012-081418.bak ) - Xin chúc mừng! Tệp này là bản xuất đầy đủ của cơ sở dữ liệu của bạn và sẵn sàng được nhập vào máy chủ mới. Nếu bạn có nhiều cơ sở dữ liệu hơn, hãy lặp lại các bước ở trên cho từng cơ sở dữ liệu bạn đang di chuyển. Sau khi sao chép tất cả quy trình cơ sở dữ liệu sang bước tiếp theo là khôi phục cơ sở dữ liệu vào máy chủ đích.

Khôi phục Cơ sở dữ liệu vào Máy chủ Đích

Bây giờ bạn sẽ có một tệp .bak của tất cả các cơ sở dữ liệu của bạn trên máy chủ nguồn. Các tệp cơ sở dữ liệu này cần được chuyển đến máy chủ đích. Có nhiều cách để di chuyển dữ liệu của bạn đến máy chủ đích; bạn có thể sử dụng USB, Robocopy hoặc FTP. Sau khi sao chép cơ sở dữ liệu, bạn có thể lưu trữ nó trên máy chủ đích của mình, ví dụ:chúng tôi đã lưu trữ nó trên ổ C trong một thư mục có tên C:\ dbbackups.

1. Mở Microsoft SQL Server Management Studio.

2. Đăng nhập vào máy chủ SQL bằng Xác thực Windows hoặc Xác thực SQL.

3. Mở rộng máy chủ và nhấp chuột phải vào Cơ sở dữ liệu và chọn Khôi phục cơ sở dữ liệu.

4. Khôi phục cơ sở dữ liệu màn hình trông rất giống với Cơ sở dữ liệu sao lưu Màn hình. Dưới Nguồn, bạn sẽ muốn chọn Thiết bị thay vì Cơ sở dữ liệu . Chọn Thiết bị cho phép bạn khôi phục trực tiếp từ một tệp. Khi bạn đã chọn Thiết bị , nhấp vào biểu tượng duyệt […]

5. Chọn Thêm , sau đó điều hướng đến thư mục chứa tệp .bak của bạn. (Trong trường hợp này, C:\ dbbackups ).

6. Chọn .bak cơ sở dữ liệu đầu tiên bạn muốn khôi phục và nhấp vào OK.

7. Nhấp vào OK và bây giờ bạn đã sẵn sàng để nhập cơ sở dữ liệu. Trước khi nhập, hãy xem phần Tùy chọn ở phía bên trái. Trong Tùy chọn, bạn sẽ thấy các cấu hình khác để khôi phục cơ sở dữ liệu, chẳng hạn như Ghi đè cơ sở dữ liệu hiện có , Duy trì cài đặt sao chép Hạn chế quyền truy cập vào Cơ sở dữ liệu được khôi phục . Trong trường hợp này, chúng tôi không thay thế cơ sở dữ liệu hiện có, vì vậy tôi sẽ bỏ chọn tất cả các tùy chọn này. Nếu bạn muốn thay thế cơ sở dữ liệu hiện có (ví dụ:cơ sở dữ liệu đã sao lưu có dữ liệu mới hơn trên máy chủ đích hoặc bạn đang thay thế cơ sở dữ liệu phát triển hoặc sản xuất) thì chỉ cần chọn Ghi đè cơ sở dữ liệu hiện có .

Lưu ý:Người dùng nâng cao có thể thoải mái khi rời khỏi đích như hiện tại, miễn là các quyền trên thư mục đầu ra chính xác.

8. Nhấp vào OK bắt đầu quá trình khôi phục như được chỉ ra bởi cửa sổ bật lên có nội dung 'Cơ sở dữ liệu' AdventureWorks2012 'đã được khôi phục thành công.' Bạn đã di chuyển cơ sở dữ liệu của mình từ nguồn sang máy chủ đích.

Lặp lại quá trình này cho từng cơ sở dữ liệu mà bạn đang di chuyển. Sau đó, bạn có thể cập nhật các tham chiếu đường dẫn trong tập lệnh / ứng dụng của mình để trỏ đến máy chủ mới, xác minh rằng quá trình di chuyển đã thành công.

Di chuyển thông tin đăng nhập Microsoft SQL Server

Sau khi nhập cơ sở dữ liệu của bạn, nếu bạn không thể kết nối bằng thông tin đăng nhập SQL của mình, bạn có thể nhận được lỗi 'Ví dụ về' Đăng nhập không thành công cho người dùng '. " (Microsoft SQL Server, Lỗi:18456). 'Bởi vì cơ sở dữ liệu nằm trong Mô hình người dùng và đăng nhập truyền thống , thông tin đăng nhập được lưu trữ riêng trong máy chủ nguồn và thông tin đăng nhập không được chứa trong chính cơ sở dữ liệu. Từ thời điểm này, máy chủ đích có thể được định cấu hình để sử dụng Mô hình người dùng cơ sở dữ liệu được chứa giữ thông tin đăng nhập trong cơ sở dữ liệu của bạn và ra khỏi máy chủ nguồn. Cho đến lúc đó, chúng tôi sẽ phải di chuyển và tương tác với người dùng như một phần của mô hình Truyền thống. Tiếp tục bên dưới để tiến hành di chuyển người dùng SQL của bạn.

Việc sao lưu và khôi phục cơ sở dữ liệu đã di chuyển mối quan hệ đăng nhập SQL của bạn sang cơ sở dữ liệu (thông tin đăng nhập của bạn vẫn được liên kết với cơ sở dữ liệu chính xác với quyền chính xác) nhưng bản thân thông tin đăng nhập thực tế không chuyển sang máy chủ mới. Bạn có thể xác minh điều này bằng cách mở SSMS (SQL Server Management Studio ) trên máy chủ đích và điều hướng đến Máy chủ> Bảo mật> Đăng nhập S. Bạn sẽ nhận thấy rằng bất kỳ thông tin đăng nhập SQL tùy chỉnh nào bạn đã tạo trên máy chủ trước đó không chuyển đến đây, nhưng nếu bạn đi tới Máy chủ> Cơ sở dữ liệu> Cơ sở dữ liệu của bạn (trong trường hợp này là AdventureWorks2012)> Bảo mật> Người dùng bạn sẽ thấy thông tin đăng nhập chính xác được liên kết với cơ sở dữ liệu.

Nếu bạn có một hoặc hai người dùng SQL, bạn chỉ có thể xóa liên kết của người dùng với cơ sở dữ liệu trong Máy chủ> Cơ sở dữ liệu> AdventureWorks2012> Bảo mật> Người dùng , tạo lại người dùng trong Máy chủ> Bảo mật> Đăng nhập và ánh xạ nó vào cơ sở dữ liệu thích hợp.

Nếu bạn có nhiều thông tin đăng nhập, bạn sẽ phải thực hiện theo một quy trình bổ sung được nêu bên dưới. Để di chuyển tất cả người dùng SQL, hãy mở Truy vấn mới cửa sổ trên máy chủ nguồn và chạy tập lệnh sau:

Tập lệnh đăng nhập SQL

+

Tập lệnh này tạo ra hai thủ tục được lưu trữ trong cơ sở dữ liệu nguồn giúp di chuyển các thông tin đăng nhập này. Mở cửa sổ Truy vấn Mới và chạy như sau:
EXEC sp_help_revlogin

Truy vấn này xuất ra một tập lệnh tạo thông tin đăng nhập mới cho máy chủ đích. Sao chép đầu ra của truy vấn này và lưu nó để sử dụng sau. Bạn sẽ cần chạy điều này trên máy chủ đích.

Khi bạn đã sao chép đầu ra của truy vấn này, hãy đăng nhập vào SSMS trên máy chủ đích và mở cửa sổ Truy vấn mới. Dán nội dung từ tập lệnh trước (tập lệnh này phải có một loạt các dòng giống như - Đăng nhập:BUILTIN \ Administrators
TẠO ĐĂNG NHẬP [BUILTIN \ Administrators] TỪ WINDOWS WITH DEFAULT_DATABASE =[master]) và nhấn Execute.

Bây giờ bạn đã nhập thành công tất cả thông tin đăng nhập SQL và hiện có thể xác minh rằng cơ sở dữ liệu đã được di chuyển đến máy chủ đích bằng cách sử dụng thông tin đăng nhập trước đó của bạn.

Di chuyển chế độ xem và quy trình đã lưu trữ

Chế độ xem và các thủ tục được lưu trữ sẽ di chuyển cùng với cơ sở dữ liệu nếu bạn đang sử dụng các bản sao lưu SQL Tape điển hình. Thực hiện theo các hướng dẫn bên dưới nếu bạn cần di chuyển các chế độ xem và các thủ tục được lưu trữ một cách độc lập.

  1. Mở Microsoft SQL Management Studio trên máy chủ Nguồn.
  2. Đăng nhập vào máy chủ SQL của bạn.
  3. Mở rộng máy chủ và cũng như Cơ sở dữ liệu .
  4. Nhấp chuột phải vào tên cơ sở dữ liệu của bạn và đi tới Công việc> Tạo Tập lệnh .
  5. Nhấp vào Tiếp theo .
  6. Chúng tôi sẽ thay đổi Tập lệnh cho toàn bộ cơ sở dữ liệu và tất cả các đối tượng cơ sở dữ liệu để Chọn các đối tượng cơ sở dữ liệu cụ thể và chỉ kiểm tra Lượt xem Thủ tục được Lưu trữ.
  7. Nhấp vào Tiếp theo, để ý đến tùy chọn Lưu vào Tệp. Ghi lại đường dẫn tệp được liệt kê. Trong trường hợp của tôi, đó là C:\ Users \ Administrator \ Documents \ script.sql - Đường dẫn của các dạng xem đã lưu và các thủ tục được lưu trữ.
  8. Nhấp vào Tiếp theo >> Tiếp theo >> Kết thúc, và chọn C:\ Users \ Administrator \ Documents \ script.sql và sao chép nó vào máy chủ đích.
  9. Đi tới máy chủ đích, mở SSMS và đăng nhập vào máy chủ SQL.
  10. Đi tới Tệp> Mở> Tệp hoặc sử dụng phím tắt CTRL + O để mở tập lệnh SQL. Chọn tệp C:\ Users \ Administrator \ Documents \ script.sql để mở nó.
  11. Bạn sẽ thấy tập lệnh được tạo từ máy chủ nguồn chứa tất cả các chế độ xem và thủ tục được lưu trữ. Nhấp vào Execute hoặc sử dụng phím tắt F5 và chạy tập lệnh.
Lưu ý:Thật không may, không có cách tích hợp nào để thực hiện việc này với dòng lệnh. Có các công cụ của bên thứ 3 và thậm chí là một công cụ của Microsoft được gọi là mssql-scripter để viết script nâng cao hơn.

Bây giờ bạn đã di chuyển các chế độ xem và các thủ tục được lưu trữ sang máy chủ đích của mình! Lặp lại quá trình này cho từng cơ sở dữ liệu bạn đang di chuyển. Một chút hướng dẫn sẽ giúp ích cho bạn trong việc quản trị cơ sở dữ liệu. Mỗi máy chủ SQL sẽ có cấu hình riêng và những trở ngại phải đối mặt, nhưng chúng tôi hy vọng bài viết này đã cung cấp cho bạn một nền tảng vững chắc cho việc di chuyển Microsoft SQL Server của bạn.

Đang tìm kiếm một dịch vụ SQL độc lập với nền tảng, có tính khả dụng cao, có thể dễ dàng mở rộng và có thể phát triển cùng với doanh nghiệp của bạn? Kiểm tra SQL của chúng tôi như một sản phẩm Dịch vụ được cung cấp tại Liquid Web. Nói chuyện với một trong những Cố vấn lưu trữ tuyệt vời của chúng tôi để tìm ra giải pháp hoàn hảo cho bạn!


No
  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL Management Studio sẽ không nhận ra một bảng tồn tại sau khi tạo theo tập lệnh

  2. Làm cách nào để xem toàn bộ Lịch sử công việc SQL?

  3. Mẫu SQL Server - Làm cách nào để thoát khỏi ký tự nhỏ hơn?

  4. Lỗi "Không được phép lưu các thay đổi" trên Máy chủ Sql ► Ngăn chặn việc lưu các thay đổi yêu cầu tạo lại bảng

  5. SQL Server Management Studio - Tài liệu theo thẻ