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 2008


94

Tôi muốn sao lưu một bảng 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.

Làm thế nào tôi có thể làm điều đó?


Trình hướng dẫn Nhập / Xuất SQL. Nhấp chuột phải vào cơ sở dữ liệu của bạn trong SMSS / Chọn mục Xuất
realnumber3012

1
Tôi muốn làm điều này với kịch bản
EBS

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

Câu trả lời:


33

Có nhiều cách bạn có thể lấy lại bàn.

  1. BCP (CHƯƠNG TRÌNH SAO CHÉP SỐ LƯỢNG LỚN)
  2. Tạo Tập lệnh bảng với dữ liệu
  3. Tạo một bản sao của bảng bằng SELECT INTO, ví dụ ở đây
  4. LƯU dữ liệu bảng trực tiếp trong một tệp phẳng
  5. Xuất dữ liệu bằng SSIS đến bất kỳ điểm đến nào

10
Mặc dù mã này có thể trả lời câu hỏi, nhưng việc cung cấp thêm ngữ cảnh liên quan đến lý do và / hoặc cách nó trả lời câu hỏi sẽ cải thiện đáng kể giá trị lâu dài của nó. Vui lòng chỉnh sửa câu trả lời của bạn để thêm một số giải thích.
CodeMouse92

Nếu đó là để sao lưu hàng ngày, chúng tôi có thể sử dụng bản sao để sao chép bảng bạn muốn sao lưu. Sau đó, sao lưu cơ sở dữ liệu người đăng ký.
DBALUKE HUANG

@ CodeMouse92 Đồng ý. Tôi đã bỏ phiếu vì câu trả lời ngắn và thiếu giải thích.
Kolob Canyon

145
select * into mytable_backup from mytable

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


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

Tôi đã sử dụng rất nhiều cách sao lưu dữ liệu này vào một lược đồ 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 hoàn thành. Tôi không chắc tại sao. Tốt hơn nên kiểm tra số hàng sau khi sao lưu như vậy.
Ben

41

Bạn có thể sử dụng tính năng "Tạo tập lệnh cho các đối tượng cơ sở dữ liệu" 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 Tập lệnh
  3. Chọn bảng mong muốn hoặc đối tượng cụ thể
  4. Nhấn nút Nâng cao
  5. Trong Chung, chọn giá trị trên Loại dữ liệu để tập lệnh . Bạn có thể chọn Chỉ dữ liệu, Chỉ lược đồ và Lược đồ và dữ liệu . Lược đồ và dữ liệu bao gồm cả dữ liệu 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 trình hướng dẫn hoàn tất

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


21

Bạn có thể tạo tập lệnh bảng cùng với dữ liệu của nó bằng các bước sau:

  1. Nhấp chuột phải vào cơ sở dữ liệu.
  2. Chọn Nhiệm vụ> Tạo tập lệnh ...
  3. Bấm tiếp.
  4. Bấm tiếp.
  5. Trong Tùy chọn Bảng / Dạng xem, đặt Dữ liệu Tập lệnh thành Đúng; sau đó bấm 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 trình hướng dẫn hoàn tất.

Để biết thêm thông tin, hãy xem blog của Eric Johnson.


11

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

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

1
Nó có gì khác so với câu trả lời trước đây ?
Ofer Zelig


3

Đặt bảng trong nhóm tệp của riêng nó. Sau đó, bạn có thể sử dụng SQL Server thông thường được tích hợp sẵn trong bản sao lưu để sao lưu nhóm tệp trong đó có tác dụng sao lưu bảng.

Để sao lưu nhóm tệp, hãy xem: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

Để tạo bảng trên nhóm tệp không phải mặc định (rất dễ), hãy xem: Tạo bảng trên nhóm tệp khác với nhóm tệp mặc định


3

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

insert into mytable_backup select * from mytable

4
Câu hỏi là về SQL Server không phải MySQL.
Stephen Kennedy,

2

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

  1. Tạo tập lệnh của (các) bảng cụ thể 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 gặp phải 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 được 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.


0

Để lấy bản sao trong tệp trên hệ thống tệp cục bộ, tiện ích ọp ẹp này từ menu nút bắt đầu của Windows đã hoạt động: "C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe"

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.