Làm cách nào để khôi phục cơ sở dữ liệu Cục bộ của tôi sang Cơ sở dữ liệu Windows Azure?


77

Tôi đã tải ứng dụng của mình lên Windows Azure Bây giờ tôi muốn lưu trữ cơ sở dữ liệu Cục bộ của mình vào Cơ sở dữ liệu Windows Azure.

Vui lòng Đề xuất cho tôi cách tạo bảng và sao lưu bảng ở đó?

Câu trả lời:


71

Có một số cách để làm điều đó:

  1. Đáng tin cậy nhất (mà tôi thường sử dụng) là sử dụng SQL Azure Migration Wizard
  2. Sau đó, bạn có tùy chọn "Tạo tập lệnh" trong SSMS của mình (SQL Server Management Studio 2008 R2 trở lên). Tùy chọn Tập lệnh tạo có một tính năng để làm cho tập lệnh tuân thủ SQL Azure. Nó cũng có thể tập lệnh dữ liệu. Nhưng tôi khuyên bạn nên sử dụng phương pháp một nếu bạn cũng muốn di chuyển dữ liệu. SQL Azure Migration Wizard sử dụng công cụ BCP, công cụ này đưa dữ liệu vào các tệp nhị phân, trong khi SSMS chỉ tạo các câu lệnh INSERT nội tuyến
  3. SSIS (Dịch vụ Tích hợp Máy chủ SQL) - bạn có thể tạo một tác vụ Truyền dữ liệu, nhưng tôi rất hiếm khi sử dụng nó cho các DB nhỏ.
  4. Ứng dụng cấp dữ liệu Xuất / Nhập (sử dụng gói DACPAC) - ứng dụng này sẽ di chuyển giản đồ của bạn và cũng có thể di chuyển dữ liệu của bạn.

CẬP NHẬT 2017-10-24

Cơ sở dữ liệu Azure SQL hiện hỗ trợ sao chép giao dịch từ Máy chủ SQL tại chỗ của bạn. Bạn có thể định cấu hình Cơ sở dữ liệu Azure SQL của mình với tư cách là người đăng ký và Máy chủ SQL tại chỗ của bạn với tư cách là nhà xuất bản. Bạn có thể đọc thêm về các tùy chọn và chiến lược di chuyển cơ sở dữ liệu tại đây: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

Cập nhật 2017-12-23

SQL Azure Migration Wizard đã được thay thế bằng Data Migration Assistant: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate


Tôi đã thử sử dụng các công cụ SQL Server 2014 cho công việc nhưng không thành công. SQL Azure Migration Wizard là trình hướng dẫn thực hiện công việc đúng cách.
nrod

1
Trong lần di cư thứ hai vài ngày sau đó, SQL Azure Migration Wizardnó không giúp được gì. Giải pháp cuối cùng là: trích xuất một tầng dữ liệu từ Máy chủ SQL cục bộ (đang sử dụng Visual Studio SQL Server Object Explorer) và sau đó xuất bản tệp đó trong Cơ sở dữ liệu Azure SQL (cũng đang sử dụng Visual Studio SQL Server Object Explorer) và chọn hộp kiểm Đăng ký làm Ứng dụng tầng dữ liệu và chọn Cho phép nền tảng không tương thích trong các tùy chọn nâng cao. Làm việc thực sự tốt!
nrod

Tôi ngạc nhiên về cách mọi người đến vào năm 2017 và phản đối các câu trả lời được đưa ra vào năm 2011. Nhưng trong trường hợp cụ thể đó, tôi vẫn sẽ trả lời rằng cách đáng tin cậy nhất để chuyển Cơ sở dữ liệu SQL sang Azure SQL DB là sử dụng SQL Azure Migration Wizard. Trừ khi bạn tìm kiếm sự di chuyển không phải thời gian chết.
astaykov

2
SQL Azure Migration Wizard đã được thay thế bằng Data Migration Assistant: docs.microsoft.com/en-us/azure/sql-database/…
Jeroen

22

Nếu bạn đã có cơ sở dữ liệu trên máy cục bộ thì bạn có thể di chuyển nó trực tiếp trên Azure bằng cách sử dụng SQL Management Studio. Làm theo các bước sau:

  1. Nhấp chuột phải vào tên cơ sở dữ liệu trong SSMS

nhập mô tả hình ảnh ở đây

  1. Làm theo trình hướng dẫn xuất hiện sau đó

bạn có cần gì khác ngoài IP khi kết nối với azure không? bạn có cần một cổng không?
Dan B

Không, bạn chỉ cần thông tin đăng nhập của tài khoản SQL Azure của mình để kết nối với Azure trong SSMS. Trong Azure Portal, bạn nên thêm IP của mình để truy cập DB bằng cách sử dụng cài đặt Tường lửa trong SQL Azure.
Vishal

Điều này làm việc tốt đối với tôi, nhưng bạn phải cẩn thận một chút về những gì người dùng được liên kết với cơ sở dữ liệu. Bất kỳ người dùng hoặc dịch vụ dựa trên Windows nào cũng sẽ khiến quá trình gặp lỗi. Sau khi bạn loại bỏ chúng, tất cả đều tốt để tiếp tục.
jocull 12/1217

5

Xin lỗi nếu điều này đang phục hồi một chủ đề cũ, nhưng một số liên kết này hiện đã lỗi thời và không còn nữa.
jamiebarrow

Chỉ có một liên kết không khả dụng, hiện nó đã được cập nhật.
cory-fowler

2
cảm ơn. Ngoài ra, giai đoạn lab "Truyền dữ liệu" của Microsoft Codename đã hoàn tất, tôi không thể thấy bất kỳ thứ gì từ trang đó liên quan đến nó, chỉ cho rằng nó hiện đã lỗi thời.
jamiebarrow


0

Tôi tin rằng SQL Server 2012 Management Studio và SQL Azure Tools cũng có tùy chọn này.

Trong SSMS nếu bạn nhấp chuột phải vào gốc Cơ sở dữ liệu, có một tùy chọn "Nhập ứng dụng tầng dữ liệu ...", cho phép bạn khôi phục BACPAC (bạn cũng có thể nhấp chuột phải vào cơ sở dữ liệu và chọn "Xuất tầng dữ liệu Ứng dụng ... "để xuất cơ sở dữ liệu hiện có sang BACPAC).

SQL Server Data Tools cho phép Visual Studio 2010 với tùy chọn Data Compare, tùy chọn này cũng có thể được sử dụng để di chuyển dữ liệu giữa hai phiên bản cơ sở dữ liệu (sẽ phù hợp với các bản vá dữ liệu nhỏ hơn).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.