Làm cách nào để sao chép cơ sở dữ liệu SQL Azure sang máy chủ phát triển cục bộ của tôi?


164

Có ai biết làm thế nào tôi có thể sao chép cơ sở dữ liệu SQL Azure vào máy phát triển của mình không? Tôi muốn ngừng trả tiền để có cơ sở dữ liệu phát triển trên đám mây, nhưng đó là cách tốt nhất để có được dữ liệu sản xuất. Tôi sao chép cơ sở dữ liệu sản xuất của mình sang cơ sở dữ liệu phát triển mới nhưng tôi muốn có cùng cơ sở dữ liệu đó.

Bất kỳ đề xuất?


2
Tôi sử dụng cái đó gần như luôn luôn! Nó nhỏ, miễn phí, được cập nhật liên tục, không cài đặt bất kỳ tệp không cần thiết nào, hoạt động như bùa mê, không tạo ra bất kỳ đối tượng không mong muốn nào trong cơ sở dữ liệu và thực hiện chính xác tên của nó là gì.
astaykov

4
Điều này đã trở nên dễ dàng hơn đáng kể. Xem câu trả lời của Atom bên dưới (tháng 2 năm 2018) giải thích cách sử dụng Nhiệm vụ => Triển khai cơ sở dữ liệu ... trong SSMS.
Jon Crowell

Câu trả lời:


129

Có nhiều cách để làm điều này:

  1. Sử dụng SSIS (Dịch vụ tích hợp máy chủ SQL) . Nó chỉ nhập khẩu datatrong bảng của bạn. Thuộc tính cột, ràng buộc, khóa, chỉ mục, thủ tục được lưu trữ, kích hoạt, cài đặt bảo mật, người dùng, đăng nhập, v.v. không được chuyển. Tuy nhiên, đây là một quy trình rất đơn giản và có thể được thực hiện đơn giản bằng cách thông qua trình hướng dẫn trong SQL Server Management Studio.
  2. Sử dụng kết hợp các kịch bản tạo SSIS và DB . Điều này sẽ giúp bạn có được dữ liệu và tất cả các siêu dữ liệu bị thiếu mà SSIS không chuyển. Điều này cũng rất đơn giản. Đầu tiên truyền dữ liệu bằng SSIS (xem hướng dẫn bên dưới), sau đó tạo tập lệnh DB Tạo từ cơ sở dữ liệu SQL Azure và phát lại trên cơ sở dữ liệu cục bộ của bạn.
  3. Cuối cùng, bạn có thể sử dụng dịch vụ Nhập / Xuất trong SQL Azure . Điều này chuyển dữ liệu (với một đối tượng lược đồ) sang Azure Blob Storage dưới dạng BACPAC. Bạn sẽ cần một tài khoản Lưu trữ Azure và thực hiện việc này trong cổng web Azure. Nó đơn giản như việc nhấn nút "Xuất" trong cổng web Azure khi bạn chọn cơ sở dữ liệu bạn muốn xuất. Nhược điểm là nó chỉ là thủ tục thủ công, tôi không biết cách tự động hóa việc này thông qua các công cụ hoặc tập lệnh - ít nhất là phần đầu tiên yêu cầu nhấp chuột vào trang web.

Quy trình thủ công cho phương pháp số 1 (sử dụng SSIS) như sau:

  • Trong Sql Server Management Studio (SSMS) tạo cơ sở dữ liệu trống mới trên phiên bản SQL cục bộ của bạn.
  • Chọn Nhập dữ liệu từ menu ngữ cảnh (nhấp chuột phải vào cơ sở dữ liệu -> Nhiệm vụ -> Nhập dữ liệu ...)
  • Nhập tham số kết nối cho nguồn (SQL Azure). Chọn ".Net Framework Data Carrier for SqlServer" làm nhà cung cấp.
  • Chọn cơ sở dữ liệu cục bộ trống hiện có làm đích.
  • Làm theo trình hướng dẫn - bạn sẽ có thể chọn dữ liệu bảng bạn muốn sao chép. Bạn có thể chọn bỏ qua bất kỳ bảng nào bạn không cần. Ví dụ: nếu bạn giữ nhật ký ứng dụng trong cơ sở dữ liệu, có thể bạn không cần nó trong bản sao lưu của mình.

Bạn có thể tự động hóa nó bằng cách tạo gói SSIS và thực hiện lại bất cứ lúc nào bạn muốn nhập lại dữ liệu. Lưu ý rằng bạn chỉ có thể nhập bằng SSIS sang DB sạch, bạn không thể thực hiện cập nhật gia tăng cho cơ sở dữ liệu cục bộ của mình sau khi bạn đã thực hiện một lần.

Phương pháp # 2 (dữ liệu SSID cộng với các đối tượng lược đồ) rất đơn giản. Trước tiên, hãy thực hiện các bước được mô tả ở trên, sau đó tạo tập lệnh Tạo DB (nhấp chuột vào cơ sở dữ liệu trong SSMS, chọn Tạo tập lệnh -> Tạo cơ sở dữ liệu). Sau đó phát lại tập lệnh này trên cơ sở dữ liệu cục bộ của bạn.

Phương pháp # 3 được mô tả trong Blog tại đây: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/ . Có một video clip với quá trình chuyển nội dung DB sang bộ lưu trữ Azure Blob dưới dạng BACPAC. Sau đó, bạn có thể sao chép tệp cục bộ và nhập tệp đó vào thể hiện SQL của bạn. Quá trình nhập BACPAC vào ứng dụng Cấp dữ liệu được mô tả tại đây: http://msdn.microsoft.com/en-us/l Library / hh710052.aspx .


2
Điều này hoạt động, chỉ cần một điều chỉnh. Trong trình hướng dẫn Nhập / Xuất Máy chủ, nguồn Dữ liệu là '.Net Framework Nhà cung cấp dữ liệu cho SqlServer'
BZink

Tuyệt quá! Cảm ơn đã sửa chữa. Tôi nhớ một trong những nhà cung cấp đã làm việc và một số người khác không làm việc cho tôi, nhưng không nhớ chính xác cái nào.
seva Titov

Thất bại đối với tôi: 'Lỗi khi chèn vào cột chỉ đọc "id"'
dumbledad

3
Mẹo cho tôi là bắt đầu sao chép PK / FK / ràng buộc trên DB trống, sau đó tạm thời vô hiệu hóa các ràng buộc trong khi nhập dữ liệu. Chính xác hơn: 1-Tạo DB mục tiêu trống bằng tay. 2-Nhấp chuột phải vào nguồn DB> Nhiệm vụ> Tạo tập lệnh. 3-Chạy tệp tập lệnh trên DB đích trống (hiện DB có các ràng buộc PK / FK / ràng buộc chính xác, nhưng không có dữ liệu). 4-Vô hiệu hóa tất cả các ràng buộc ( stackoverflow.com/a/161410 ). 5 - Nhập dữ liệu (Nhấp chuột phải DB> Nhiệm vụ> Nhập dữ liệu). 6-Kích hoạt lại các ràng buộc. Hi vọng điêu nay co ich!
Mathieu Frenette

1
@JoSmo, phương thức # 1 và # 2 không yêu cầu tài khoản lưu trữ. Tuy nhiên, tôi khuyên bạn nên có một tài khoản lưu trữ trong cùng một trung tâm dữ liệu như cơ sở dữ liệu SQL Azure của bạn. Lý do là bạn có thể sử dụng nó để sao lưu DB và khôi phục. Nếu bạn không có quyền quản trị cho đăng ký Azure của mình, hãy tìm ai đó trong tổ chức của bạn có đủ quyền để tạo tài khoản lưu trữ mới và cấp cho bạn quyền truy cập vào khóa đó. Vì bạn đã có quyền truy cập vào cơ sở dữ liệu, không có lý do gì để từ chối quyền truy cập vào tài khoản lưu trữ.
seva Titov

66

Sao chép dữ liệu cơ sở dữ liệu Azure vào cơ sở dữ liệu cục bộ: Bây giờ bạn có thể sử dụng SQL Server Management Studio để thực hiện việc này như dưới đây:

  • Kết nối với cơ sở dữ liệu SQL Azure.
  • Nhấp chuột phải vào cơ sở dữ liệu trong Object Explorer.
  • Chọn tùy chọn "Nhiệm vụ" / "Triển khai cơ sở dữ liệu cho SQL Azure".
  • Trong bước có tên "Cài đặt triển khai", kết nối SQL Server cục bộ và tạo cơ sở dữ liệu mới.

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

"Tiếp theo" / "Tiếp theo" / "Kết thúc"


9
Thật tuyệt vời, điều này không quá rõ ràng trong SSMS vì "cơ sở dữ liệu triển khai tới SQL AZURE" có phần sai lệch ...
EeKay

12
Cho đến nay, giải pháp đơn giản nhất trộn lẫn với tên menu dễ gây hiểu lầm nhất. Cảm ơn vì đã đăng tải điều này.
Kevin Giszewski

Điều này là đơn giản nhất, nhưng nhược điểm là bạn không thể chọn bảng nào bạn muốn sao lưu và bảng nào bạn không muốn. Trong công ty của tôi, chúng tôi có một bảng Đính kèm có chứa Gigabyte tệp đính kèm (hình ảnh, v.v.). Thông thường chúng tôi không muốn điều này vì nó sẽ mãi mãi được sao chép. Chúng tôi không thể loại trừ bảng này bằng phương pháp này.
Rosdi Kasim

33

Tôi chỉ muốn thêm một phiên bản đơn giản của câu trả lời của dumbledad , vì đó là phiên bản chính xác.

  1. Xuất cơ sở dữ liệu SQL Azure sang tệp BACPAC trên bộ lưu trữ blob.
  2. Từ bên trong studio Quản lý SQL, bấm chuột phải vào cơ sở dữ liệu của bạn, bấm vào "nhập ứng dụng tầng dữ liệu".
  3. Bạn sẽ được nhắc nhập thông tin để truy cập tệp BACPAC trên bộ lưu trữ blob Azure của bạn.
  4. Lượt tiếp theo một vài lần và ... Xong!

4
Tôi nhận được một lỗi nói rằng mục tiêu không thể là sql azure v12?
Zapnologica

2
Hãy chắc chắn rằng bạn có một phiên bản SSMS sẽ nhập BACPAC đó: msdn.microsoft.com/en-us/l
Paul Bullivant

Ngay cả với phiên bản SSMS này, tôi vẫn gặp lỗi vì mục tiêu Azure sql db 12.
Preza8

28

Trong SQL Server 2016 Management Studio, quy trình nhận cơ sở dữ liệu azure cho máy cục bộ của bạn đã được sắp xếp hợp lý.

Nhấp chuột phải vào cơ sở dữ liệu bạn muốn nhập, nhấp vào Nhiệm vụ> Xuất ứng dụng tầng dữ liệu và xuất cơ sở dữ liệu của bạn sang tệp .dacpac cục bộ.

Trong phiên bản máy chủ SQL đích cục bộ của bạn, bạn có thể nhấp chuột phải vào Cơ sở dữ liệu> Nhập ứng dụng cấp dữ liệu và một khi nó là cục bộ, bạn có thể thực hiện những việc như sao lưu và khôi phục cơ sở dữ liệu.


5
Đây là nó. Lưu ý "Xuất tầng dữ liệu" bao gồm dữ liệu, "Trích xuất tầng dữ liệu" chỉ cung cấp cho bạn các định nghĩa
Colin

20

Tôi nghĩ bây giờ nó dễ dàng hơn nhiều.

  1. Khởi chạy SQL Management Studio
  2. Nhấp chuột phải vào "Cơ sở dữ liệu" và chọn "Nhập ứng dụng tầng dữ liệu ..."
  3. Trình hướng dẫn sẽ đưa bạn qua quy trình kết nối với tài khoản Azure của bạn, tạo tệp BACPAC và tạo cơ sở dữ liệu của bạn.

Ngoài ra, tôi sử dụng Sao lưu Sql và FTP ( https://sqlbackupandftp.com/ ) để thực hiện sao lưu hàng ngày vào máy chủ FTP an toàn. Tôi chỉ cần kéo một tệp BACPAC gần đây từ đó và nó nhập nó trong cùng một hộp thoại, nhanh hơn và dễ dàng hơn để tạo cơ sở dữ liệu cục bộ.


9

Bạn cũng có thể kiểm tra SQL Azure Data Sync trong Cổng thông tin quản lý Windows Azure. Nó cho phép bạn truy xuất và khôi phục toàn bộ cơ sở dữ liệu, bao gồm lược đồ và dữ liệu giữa SQL Azure và SQL Server.


1
Đồng bộ dữ liệu SQL không nên được sử dụng như một phần của chiến lược sao lưu của bạn vì có một số hạn chế. Nó không có phiên bản, nó chỉ sao lưu dữ liệu và không có đối tượng khác. Để biết thêm thông tin, hãy xem chủ đề Câu hỏi thường gặp về Đồng bộ hóa dữ liệu SQL. ( msdn.microsoft.com/en-us/l
Library / windowsazure / jj650016.aspx

1
Đồng bộ hóa dữ liệu là khá khủng khiếp - ngay cả ngày hôm nay (vài năm sau bài đăng này) có rất nhiều lỗi và nó thực sự có thể làm hỏng db của bạn - nó vẫn còn nhiều hạn chế.
William

5

Nó khá dễ. Điều này làm việc cho tôi ... về việc đưa cơ sở dữ liệu Azure SQL xuống máy cục bộ của bạn ...:

  1. Mở SQL Management Studio của bạn và kết nối với Azure SQL Server của bạn.
  2. Chọn cơ sở dữ liệu bạn muốn truy cập vào máy cục bộ của mình và nhấp chuột phải ... chọn "Tạo tập lệnh". Làm theo lời nhắc ...

NHƯNG, hãy cẩn thận ở chỗ nếu bạn CSONG muốn DATA, cũng như các tập lệnh, hãy chắc chắn kiểm tra Tùy chọn nâng cao trước khi bắt đầu tạo ... cuộn xuống "Các loại dữ liệu thành tập lệnh" và đảm bảo bạn có " Lược đồ và dữ liệu "... hoặc bất cứ điều gì phù hợp với bạn.

Nó sẽ cung cấp cho bạn một tệp tập lệnh SQL đẹp, sau đó có thể chạy trên máy cục bộ của bạn và nó sẽ tạo cơ sở dữ liệu cũng như điền vào nó với tất cả dữ liệu.

Nghĩ rằng trong trường hợp của tôi, tôi không có FK hay các ràng buộc nào khác ... ngoài ra, đó không phải là nhiều dữ liệu.

Tôi không khuyến nghị đây là một cơ chế dự phòng nói chung ...


2
Tôi phải nói rằng điều này làm việc rất tốt mà không có phiền phức; khóa ngoại được tái tạo hoàn hảo. Tập lệnh SQL kết quả là quá lớn để mở trong SSMS, hoặc thực sự trong nhiều trình soạn thảo văn bản, nhưng tôi đã có thể sử dụng dòng lệnhsqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
perlyking

5

Sử dụng msdeploy.exe

Hãy cẩn thận: msdeploy.exekhông thể tự tạo cơ sở dữ liệu đích, vì vậy bạn cần tạo thủ công trước.

  1. Sao chép chuỗi kết nối trên trang thuộc tính cơ sở dữ liệu. Điều chỉnh nó để nó chứa một mật khẩu chính xác. trang thuộc tính cơ sở dữ liệu
  2. Lấy chuỗi kết nối cho DB đích.
  3. Chạy msdeploy.exenhư thế này:

    "c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="azure_DB_connection_string",includeData=true -verbose

Sử dụng SqlPackage.exe

  1. Xuất DB azure sang gói bacpac.

    "c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"azure_db_server" /sdn:"azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
  2. Nhập gói vào DB cục bộ.

    "c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb

4

Vui lòng thử điều này: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .

Thay thế khác sẽ là SQL Azure Data Sync .

Có một bài viết blog nữa tôi đã chạy qua vài ngày trước nhưng không thể tìm thấy nó bây giờ. Tôi sẽ cập nhật bài viết này ngay khi tôi tìm thấy nó.


Đây là một liên kết khác mà tôi đã đề cập trong bài viết của mình trước đó: bmegias.wordpress.com/2010/09/14/iêu
Gaurav Mantri-AIS

3

Trong SQL Server Management Studio

Nhấp chuột phải vào cơ sở dữ liệu bạn muốn nhập, nhấp vào Nhiệm vụ> Xuất ứng dụng tầng dữ liệu và xuất cơ sở dữ liệu của bạn sang tệp .dacpac cục bộ.

Trong phiên bản máy chủ SQL đích cục bộ của bạn, bạn có thể nhấp chuột phải vào Cơ sở dữ liệu> Nhập ứng dụng cấp dữ liệu và một khi nó là cục bộ, bạn có thể thực hiện những việc như sao lưu và khôi phục cơ sở dữ liệu.


2

Tôi không thể nhập / xuất SSIS hoạt động khi tôi gặp lỗi 'Lỗi khi chèn vào cột chỉ đọc "id"'. Tôi cũng không thể để http://sqlazuremw.codeplex.com/ hoạt động và các liên kết ở trên với SQL Azure Data Sync không hoạt động với tôi.

Nhưng tôi đã tìm thấy một bài đăng blog tuyệt vời về các tệp BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/

Trong video trong bài đăng, tác giả của bài đăng trên blog trải qua sáu bước:

  1. Tạo hoặc truy cập tài khoản lưu trữ trong Cổng thông tin quản lý Azure. Bạn sẽ cần URL Blob và khóa truy cập chính của tài khoản lưu trữ.

  2. Bài đăng trên blog khuyên bạn nên tạo một bộ chứa mới cho tệp bacpac và đề xuất sử dụng Azure Storage Explorer cho điều đó. (NB bạn sẽ cần URL Blob và khóa truy cập chính của tài khoản lưu trữ để thêm nó vào Azure Storage Explorer.)

  3. Trong Cổng thông tin quản lý Azure, chọn cơ sở dữ liệu bạn muốn xuất và nhấp vào 'Xuất' trong phần Nhập và Xuất của dải băng.

  4. Cuộc đối thoại kết quả yêu cầu tên người dùng và mật khẩu của bạn cho cơ sở dữ liệu, URL blob và khóa truy cập. Đừng quên bao gồm vùng chứa trong URL blob và bao gồm tên tệp (ví dụ: https : //testazurest Storage.blob.core.windows.net/dbbackups/mytable.bacpac ).

  5. Sau khi bạn nhấp vào Kết thúc cơ sở dữ liệu sẽ được xuất sang tệp BACPAC. Điều này có thể mất một thời gian. Bạn có thể thấy tệp byte bằng 0 xuất hiện ngay lập tức nếu bạn kiểm tra Azure Storage Explorer. Đây là Dịch vụ Nhập / Xuất kiểm tra xem nó có quyền truy cập ghi vào cửa hàng blob không.

  6. Khi đã xong, bạn có thể sử dụng Azure Storage Explorer để tải xuống tệp BACPAC và sau đó trong SQL Server Management Studio nhấp chuột phải vào thư mục cơ sở dữ liệu của máy chủ cục bộ của bạn và chọn Nhập ứng dụng Cấp dữ liệu sẽ khởi động trình hướng dẫn đọc trong tệp BACPAC để tạo bản sao của cơ sở dữ liệu Azure của bạn. Trình hướng dẫn cũng có thể kết nối trực tiếp với kho lưu trữ blob để lấy tệp BACPAC nếu bạn không muốn sao chép tệp cục bộ trước.

Bước cuối cùng chỉ có thể có trong phiên bản SQL Server 2012 của SQL Server Management Studio (đó là phiên bản tôi đang chạy). Tôi không có những cái trước đó trên máy này để kiểm tra. Trong bài đăng trên blog, tác giả sử dụng công cụ dòng lệnh DacImportExportCli.exe để nhập mà tôi tin là có sẵn tại http://sqldacexamples.codeplex.com/release


Trong khi tôi đã không làm theo chính xác điều này, nó dẫn tôi đi đúng hướng. Bạn có thể bỏ qua việc tải xuống tệp bacpac và trỏ đến bộ lưu trữ Azure Blob trực tiếp từ bên trong SQL Server Management Studio.
Josh Mouch

2

Về "Tôi không thể nhập / xuất SSIS hoạt động khi tôi gặp lỗi 'Lỗi khi chèn vào cột chỉ đọc" id "'. Điều này có thể được khắc phục bằng cách chỉ định trong màn hình ánh xạ mà bạn muốn cho phép các yếu tố nhận dạng được chèn vào.

Sau đó, mọi thứ đều hoạt động tốt khi sử dụng trình hướng dẫn Nhập / Xuất SQL để sao chép từ Azure sang cơ sở dữ liệu cục bộ.

Tôi chỉ có Trình hướng dẫn Nhập / Xuất SQL đi kèm với SQL Server 2008 R2 (hoạt động tốt) và Visual Studio 2012 Express để tạo cơ sở dữ liệu cục bộ.




1

Bạn có thể sử dụng Dịch vụ di động Azure mới để thực hiện xuất bản sao lưu hàng đêm từ SQL Azure sang tệp .bacpac được lưu trữ trong Azure Storage. Giải pháp này là đám mây 100%, không yêu cầu công cụ của bên thứ 3 và không yêu cầu phiên bản SQL Server được lưu trữ cục bộ để tải xuống / sao chép / sao lưu mọi thứ.

Có khoảng 8 bước khác nhau, nhưng tất cả đều dễ dàng: http://geekswithbloss.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx


Điều này có vẻ rất hứa hẹn! Bất kỳ ý tưởng nếu điều này sẽ làm việc với Azure Federations?
Tim Lentine

@Tim xin lỗi tôi không biết. Làm điều này thông qua Dịch vụ di động là một cách giải quyết để bắt đầu, vì vậy tôi sẽ không ngạc nhiên nếu nó không.
Ben Barreth

1

Tôi luôn sử dụng Tính năng Nhập / Xuất có vẻ là tính năng dễ nhất trong số tất cả.

Bước 1:

Nhận bản sao lưu từ thể hiện phương vị như sau, Chọn cơ sở dữ liệu → Nhấp chuột phải → Nhiệm vụ → Xuất ứng dụng Cấp dữ liệu.

Bước 2: Đặt tên cụ thể cho tệp sao lưu và lưu nó vào vị trí mong muốn của bạn

Bước 3: Đó là bạn đã thực hiện sao lưu cơ sở dữ liệu từ ví dụ sql đến địa phương của bạn. Hãy khôi phục nó về địa phương. Sao chép cơ sở dữ liệu được sao lưu vào ổ C của bạn. Bây giờ hãy mở PowerShell với quyền quản trị viên và điều hướng đến ổ C

Bước 4: Cho phép tải xuống tập lệnh powershell để xóa khóa chínhRemoveMasterKey.ps1 có tập lệnh trên cùng một ổ đĩa trong trường hợp này là C.

Bước 5: Chạy tập lệnh như sau ,. \ RemoveMasterKey.ps1 -bacpacPath "C: \ id.bacpac"

Đó là nó, bây giờ bạn có thể khôi phục nó trên MSSQL 2017 trong môi trường địa phương của bạn.

Bước 6: Kết nối với máy chủ cục bộ của bạn và nhấp vào Cơ sở dữ liệu → Nhập dữ liệu-Cấp-ứng dụng

Bước 7 : Đặt tên cho cơ sở dữ liệu của bạn để khôi phục.

Bây giờ bạn sẽ thấy mọi thứ trong màu xanh lá cây!

Đọc blog của tôi với sơ đồ.



0

Mẹo cho tôi là bắt đầu sao chép PK / FK / ràng buộc trên DB trống, sau đó tạm thời vô hiệu hóa các ràng buộc trong khi nhập dữ liệu (xem https://stackoverflow.com/a/161410 ).

Chính xác hơn:

  1. Tạo DB mục tiêu trống bằng tay;
  2. Bấm chuột phải vào nguồn DB> Nhiệm vụ> Tạo tập lệnh;
  3. Chạy tệp script trên DB đích trống (hiện DB có các ràng buộc PK / FK / ràng buộc chính xác, nhưng không có dữ liệu);
  4. Vô hiệu hóa tất cả các ràng buộc;
  5. Nhập dữ liệu (Nhấp chuột phải DB> Nhiệm vụ> Nhập dữ liệu);
  6. Kích hoạt lại các ràng buộc.

Hi vọng điêu nay co ich!


0

Bây giờ bạn có thể sử dụng SQL Server Management Studio để làm điều này.

  • Kết nối với cơ sở dữ liệu SQL Azure.
  • Nhấp chuột phải vào cơ sở dữ liệu trong Object Explorer.
  • Chọn tùy chọn "Nhiệm vụ" / "Triển khai cơ sở dữ liệu cho SQL Azure".
  • Trong bước có tên "Cài đặt triển khai", chọn kết nối cơ sở dữ liệu cục bộ của bạn.
  • "Tiếp theo" / "Tiếp theo" / "Kết thúc" ...

Tôi không thể làm điều này vì nút "Tiếp theo" bị mờ đi cho đến khi tôi chọn một cơ sở dữ liệu Azure khác làm kết nối đích
Colin


0

Nếu bất cứ ai gặp vấn đề khi nhập Bacpac của DB sử dụng Azure SQL Sync , Sandrino Di Mattia đã phát triển một ứng dụng đơn giản tuyệt vời để giải quyết vấn đề này.

  1. Xuất một Bacpac của DB của bạn
  2. Nhị phân của Dowload Di Mattia
  3. Với ứng dụng bảng điều khiển này, sửa chữa Bacpac đã tải xuống
  4. Lau SSMS
  5. Nhấp chuột phải vào "Cơ sở dữ liệu" và chọn "Nhập ứng dụng tầng dữ liệu"
  6. Chọn Bacpac đã sửa chữa.

0

Nếu bất cứ ai muốn có một tùy chọn miễn phí và hiệu quả (và đừng bận tâm thực hiện thủ công) để sao lưu cơ sở dữ liệu sang Local thì hãy sử dụng chức năng so sánh dữ liệu và lược đồ được tích hợp trong phiên bản mới nhất Microsoft Visual Studio 2015 Community Edition (Miễn phí) hoặc Professional / Premium / Ultimate phiên bản. Nó hoạt động như một say mê!

Tôi có tài khoản BizPark với Azure và không có cách nào để sao lưu cơ sở dữ liệu trực tiếp mà không phải trả tiền. Tôi tìm thấy tùy chọn này trong VS hoạt động.

Câu trả lời được lấy từ https://stackoverflow.com/a/685073/6796187


0

Xin chào, tôi đang sử dụng công cụ SQLAzureMW để quản lý và di chuyển SQLAzure DB. Rất hữu ích một. Nó đã được tải xuống từ codeplex, nhưng hiện tại nó không có sẵn codeplex sẽ tắt, công cụ ứng dụng tương tự hiện đã có trong GttHub. Liên kết dưới đây là giải thích cách sử dụng công cụ này và cũng có sẵn Ứng dụng để tải xuống.

https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md

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.