Làm cách nào để chuyển cơ sở dữ liệu Microsoft SQL Server sang tập lệnh SQL?


125

Có cách nào để xuất cơ sở dữ liệu Microsoft SQL Server sang tập lệnh sql không?

Tôi đang tìm kiếm một cái gì đó tương tự như mysqldump, lấy tên cơ sở dữ liệu và tạo một tập lệnh duy nhất sẽ tạo lại tất cả các bảng, các thủ tục được lưu trữ, xác nhận lại tất cả dữ liệu, v.v.

Tôi đã xem http://vyaskn.tripod.com/code.htmlm#inserts , nhưng tôi lý tưởng muốn một cái gì đó để tạo lại mọi thứ (không chỉ là dữ liệu) hoạt động trong một bước duy nhất để tạo tập lệnh cuối cùng.


@Matt Có, nó không xuất dữ liệu. Đó là lý do tại sao tôi đề cập rằng bạn nên kết hợp nó với kịch bản mà bạn đề xuất. Phương pháp này không xây dựng một tập lệnh theo đúng thứ tự.
Julio César

Thực tế, trong Mangement Studio 2008, bạn chỉ cần bật tùy chọn "xuất dữ liệu" và tập lệnh sẽ chứa cả lược đồ và câu lệnh chèn.
dùng24161


@MattSheppard vui lòng xem xét để chấp nhận một trong những câu trả lời
030

Câu trả lời:


111

Trong SQL Server Management Studio, bấm chuột phải vào cơ sở dữ liệu của bạn và chọn Nhiệm vụ / Tạo tập lệnh. Làm theo trình hướng dẫn và bạn sẽ nhận được một tập lệnh tạo lại cấu trúc dữ liệu theo đúng thứ tự theo các khóa ngoại. Trên bước trình hướng dẫn có tiêu đề "Đặt tùy chọn tập lệnh", chọn "Nâng cao" và sửa đổi tùy chọn "Loại dữ liệu thành tập lệnh" thành "Lược đồ và dữ liệu"

CHỈ DẪN: Trong bước cuối cùng, chọn "Tập lệnh cho cửa sổ truy vấn mới", cách đó sẽ hoạt động nhanh hơn nhiều.


18
Chỉ cần nhớ đi vào các tùy chọn nâng cao và nói với kịch bản không chỉ là lược đồ, mà cả dữ liệu.
RomanSt

2
@romkyns xứng đáng với tất cả các lượt bình chọn! "Các loại dữ liệu theo tập lệnh" là tên tùy chọn chính xác. Bạn sẽ muốn chọn "Lược đồ và dữ liệu."
solidau

2
Vấn đề chính với các tập lệnh được tạo từ SSMS là chúng không được sắp xếp chính xác để đưa các phụ thuộc vào tài khoản. Đây không phải là vấn đề đối với các cơ sở dữ liệu nhỏ, nơi bạn có thể thực hiện việc này một cách thủ công nhưng nó chắc chắn là một vấn đề khi cơ sở dữ liệu có hơn 50 đối tượng. Cho đến nay chúng tôi đã sử dụng thành công ApexSQL Script cho việc này. Đây là một công cụ cao cấp nhưng bạn có thể sử dụng nó trong chế độ dùng thử để hoàn thành công việc. Tôi nghĩ Red Gate cũng có một công cụ tương tự.
David Smithers

34

Hãy dùng thử Trình hướng dẫn xuất bản cơ sở dữ liệu máy chủ Sql . Bạn có thể cần phải sắp xếp lại tập lệnh để làm cho nó chạy trong một lần mặc dù vì phụ thuộc nhưng nó sẽ bao gồm lược đồ và dữ liệu của bạn.

Nếu bạn chưa cài đặt các đối tượng SQL XMO 2005, bạn sẽ gặp lỗi khi chạy trình hướng dẫn . Bạn sẽ muốn Bộ sưu tập đối tượng quản lý Microsoft SQL Server 2005


5
Trên thực tế, bạn không cần phải sắp xếp lại tập lệnh, bởi vì nó loại bỏ tất cả các ràng buộc, tạo lược đồ, chèn dữ liệu và, cuối cùng, tạo lại các ràng buộc.
Daniel Silveira

Tuyệt vời, điều đó khá gọn gàng
bíp bíp

Đây là công cụ tuyệt vời mặc dù chỉ hỗ trợ SQL Server 2015. Còn năm 2008 trở đi thì sao?
Nam G VU

12

Tôi thấy SQL Dumper khá hữu ích. Nó miễn phí nên bạn có thể dùng thử. Nó cho phép bạn chọn các bảng và cột cơ sở dữ liệu, các khung nhìn và thậm chí cả kết quả của các truy vấn tùy chỉnh dưới dạng các câu lệnh chèn SQL.


Phiên bản ổn định cuối cùng không hoạt động với các thủ tục được lưu trữ.
VMAtm

1
Có thể tải xuống phiên bản cuối cùng từ download.cnet.com/Query-Dumper/3000-10254_4-10514574.html
Raynet

7

Không tìm thấy công cụ phù hợp, tôi quyết định tự tạo: tiện ích dòng lệnh sqlserverdump. Kiểm tra nó trên http://sqlserverdump.codeplex.com/ . Nó sẽ tạo lại lược đồ và dữ liệu trong một bước duy nhất.


6

Hãy thử DBSourceTools . Nó được thiết kế để kịch bản ra một cơ sở dữ liệu nguồn và triển khai lại thành cơ sở dữ liệu đích. Nó kịch bản lược đồ và dữ liệu.


6

Giải pháp được đề xuất chỉ hoạt động trên sql 2000 và 2005. Nếu bạn đang muốn thực hiện điều này trên SQL 2008,

Bạn có thể làm điều đó với SQL 2008 mà không cần bất kỳ trình cắm nào khác. Nhấp chuột phải vào cơ sở dữ liệu và chọn "Nhiệm vụ -> Tạo tập lệnh ...". Chọn cơ sở dữ liệu và những gì bạn muốn sao lưu. Nhấp vào tiếp theo và đặt "Dữ liệu tập lệnh" thành đúng.

Tài liệu khác tại link:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- lưu trữ-thủ tục-chức năng-kích hoạt-bảng-khung nhìn-ràng buộc-và-tất cả-khác-cơ sở dữ liệu-đối tượng /



2

Thuật sĩ xuất bản cơ sở dữ liệu SQL Server dường như là cách tốt nhất để làm điều đó. Vấn đề với điều này là nó dường như không chạy trên Windows 7. Tôi đã phải sử dụng máy tính cũ của mình để sử dụng nó. Về mặt tích cực, nó hoạt động với các phiên bản SQL Server cũ hơn như 2000.

Đối với các phiên bản SQL và hệ điều hành mới hơn, phần mềm này có thể đáng để xem xét: http://sqlbackupandftp.com/


0

Ombelt tạo ra một công cụ tuyệt vời để xuất DB máy chủ MS SQL. www.ombelt.com

rất giống các cơ sở đổ rác khác của DB.

Làm việc cho tôi.


0

Kiểm tra dự án Microsoft SQL Server Schema Dump ( mssql-schema-dumpcông cụ tại GitHub ).

Sử dụng: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

Hỗ trợ xuất khẩu:

  • DB: Lược đồ, Kiểu người dùng, Kiểu bảng người dùng, Kích hoạt, Danh mục toàn văn bản, Dừng toàn văn bản, Thủ tục lưu trữ, Chức năng
  • DB.Tables: Schema, Triggers, Indexes, DRI, Statistics
  • DB.Views: Schema, Triggers, Indexes, DRI, Statistics
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.