2013-10-31 15 views
50

Tôi muốn sao lưu một bảng duy nhất với dữ liệu của nó từ cơ sở dữ liệu trong SQL Server bằng cách sử dụng tập lệnh.Sao lưu một bảng với dữ liệu của nó từ cơ sở dữ liệu trong máy chủ sql 2008

Tôi có thể làm như thế nào?

+0

Thuật sĩ xuất/nhập SQL. Nhấp chuột phải vào cơ sở dữ liệu của bạn trong SMSS/Choose Item Export – realnumber3012

+0

Tôi muốn làm điều này với script – EBS

+4

Vui lòng chấp nhận câu trả lời của MGOwen – greg121

Trả lời

20

Có rất nhiều cách bạn có thể lấy lại của bảng.
Nhìn vào liên kết này: http://www.sqlserver-training.com/how-to-backup-sql-table/-

  1. BCP (COPY CHƯƠNG TRÌNH SỐ LƯỢNG LỚN)
  2. Tạo Bảng Script với dữ liệu
  3. Tạo một bản sao của bảng sử dụng SELECT INTO
  4. TIẾT KIỆM Bảng dữ liệu trực tiếp trong một tập tin phẳng
  5. Xuất dữ liệu sử dụng SSIS đến bất kỳ điểm đến nào
+1

Trong khi mã này có thể trả lời câu hỏi, cung cấp ngữ cảnh bổ sung về lý do tại sao và/hoặc cách trả lời câu hỏi giá trị -term. Xin vui lòng [sửa] câu trả lời của bạn để thêm một số lời giải thích. – CodeMouse92

10

Bạn có thể tạo bảng kịch bản cùng với dữ liệu của nó sử dụng các bước sau:

  1. Nhấp chuột phải vào cơ sở dữ liệu.
  2. Chọn Công việc> Tạo tập lệnh ...
  3. Nhấp vào tiếp theo.
  4. Nhấp vào tiếp theo.
  5. Trong tùy chọn bảng/xem, đặt dữ liệu tập lệnh thành đúng; sau đó nhấp vào tiếp theo.
  6. Chọn hộp kiểm Bảng và nhấp vào tiếp theo.
  7. Chọn tên bảng của bạn và nhấp vào tiếp theo.
  8. Nhấp vào tiếp theo cho đến khi thuật sĩ hoàn tất.

Để biết thêm thông tin, xem Eric Johnson's blog.

84
select * into mytable_backup from mytable 

Tạo bản sao của bảng mytable và mọi hàng trong đó, được gọi là mytable_backup.

+5

Thật tuyệt khi truy vấn này thực sự sẽ tạo bảng "mytable_backup". Tôi đã không mong đợi điều đó, và đã tạo ra một bảng mới để sao lưu. – AidanO

+0

Tôi đã sử dụng rất nhiều việc sao lưu dữ liệu này sang một giản đồ khác và tôi chỉ nhận thấy rằng trong một số trường hợp nhất định, có các hàng ** MISSING **! Mục tiêu có thể không đầy đủ. Tôi không chắc tại sao. Tốt hơn nên kiểm tra số lượng hàng sau khi sao lưu như vậy. – Ben

7

Hãy thử sử dụng truy vấn sau đây sẽ tạo Bảng tương ứng trong cùng một DB hoặc khác ("DataBase").

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable 
0

Để có được một bản sao trong một tập tin vào file hệ thống địa phương, tiện ích ọp ẹp này từ Windows khởi động nút menu làm việc: "C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe"

1

cách tiếp cận khác bạn có thể thực hiện nếu bạn cần phải sao lưu một bảng duy nhất ra khỏi nhiều bảng trong một cơ sở dữ liệu là:

  1. Tạo kịch bản của bảng cụ thể (s) từ cơ sở dữ liệu (Nhấp chuột phải vào cơ sở dữ liệu, nhấp vào Tác vụ> Tạo tập lệnh ...

  2. Chạy tập lệnh trong trình chỉnh sửa truy vấn. Bạn phải thay đổi/thêm dòng đầu tiên (USE DatabaseName) trong tập lệnh vào cơ sở dữ liệu mới, để tránh bị lỗi "Cơ sở dữ liệu đã tồn tại".

  3. Nhấp chuột phải vào cơ sở dữ liệu mới tạo và nhấp vào Tác vụ> Sao lưu ... Bản sao lưu sẽ chứa (các) bảng đã chọn từ cơ sở dữ liệu gốc.

1

Đặt bảng vào nhóm tệp riêng của mình. Sau đó bạn có thể sử dụng SQL Server thông thường được xây dựng trong sao lưu để sao lưu nhóm tập tin trong đó có hiệu lực sao lưu bảng.

Để sao lưu một filegroup xem: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

Để tạo một bảng trên một filegroup không mặc định (dễ dàng của nó) xem: Create a table on a filegroup other than the default

4

Bạn có thể sử dụng "Tạo kịch bản cho các đối tượng cơ sở dữ liệu" tính năng trên SSMS.

  1. Nhấp chuột phải vào cơ sở dữ liệu mục tiêu
  2. Chọn Nhiệm vụ> Tạo Script
  3. Chọn bảng mong muốn hoặc đối tượng cụ thể
  4. Nhấn nút nâng cao
  5. Dưới General, chọn giá trị trên Các loại dữ liệu thành tập lệnh. Bạn có thể chọn Chỉ dữ liệu, Chỉ lược đồ và Lược đồ và dữ liệu. Giản đồ và dữ liệu bao gồm cả việc tạo bảng và dữ liệu thực tế trên tập lệnh được tạo.
  6. Nhấp vào Tiếp theo cho đến khi hoàn thành thuật sĩ

Điều này đã giải quyết được thử thách của tôi.
Hy vọng điều này cũng sẽ giúp bạn.

0

Truy vấn này chạy cho tôi (đối với MySQL). mytable_backup phải có mặt trước khi chạy truy vấn này.

insert into mytable_backup select * from mytable 
+0

Câu hỏi đặt ra là về SQL Server chứ không phải MySQL. –

Các vấn đề liên quan