Tôi có một tập tin với .bak
phần mở rộng.
Làm cách nào tôi có thể nhập ngày này vào cơ sở dữ liệu trong SQL Server?
Tôi có một tập tin với .bak
phần mở rộng.
Làm cách nào tôi có thể nhập ngày này vào cơ sở dữ liệu trong SQL Server?
Câu trả lời:
Trên SQL Server Management Studio
Làm xong.
Các tập tin .bak là bản sao lưu cơ sở dữ liệu. Bạn có thể khôi phục bản sao lưu bằng phương pháp bên dưới:
Cách: Khôi phục sao lưu cơ sở dữ liệu (SQL Server Management Studio)
RESTORE FILELISTONLY
FROM DISK = 'D:\3.0 Databases\DB.bak'
RESTORE DATABASE YourDB
FROM DISK = 'D:\3.0 Databases\DB.bak'
và bạn phải di chuyển các tệp mdf, ndf & ldf thích hợp bằng cách sử dụng
With Move 'primarydatafilename' To 'D:\DB\data.mdf',
Move 'secondarydatafile'To 'D:\DB\data1.ndf',
Move 'logfilename' To 'D:\DB\log.ldf'
Bạn chỉ có thể khôi phục các tệp sao lưu cơ sở dữ liệu này bằng các phương thức SQL Server gốc hoặc bạn có thể sử dụng công cụ Khôi phục ApexQuery để nhanh chóng đính kèm các tệp và truy cập chúng dưới dạng cơ sở dữ liệu được khôi phục hoàn toàn.
Tuyên bố miễn trừ trách nhiệm: Tôi làm Kỹ sư hỗ trợ sản phẩm tại ApexSQL
Thay vì chọn Khôi phục cơ sở dữ liệu ..., hãy chọn Khôi phục tệp và nhóm ...
Sau đó nhập tên cơ sở dữ liệu, chọn đường dẫn tệp .bak của bạn làm nguồn, chọn hộp kiểm khôi phục và nhấp vào Ok. Nếu tệp .bak hợp lệ, nó sẽ hoạt động.
(Tên tùy chọn khôi phục SQL Server không trực quan cho nhiệm vụ rất đơn giản.)
Làm xong
Đơn giản chỉ cần sử dụng
sp_restoredb 'Tên cơ sở dữ liệu của bạn', 'Vị trí bạn muốn khôi phục'
Ví dụ: sp_restoredb 'omDB', 'D: \ abc.bak'
RESTORE DATABASE
như trong msdn.microsoft.com/en-us/l Library / ms178099 ( v = sql.105) .aspx ?
sp_restoredb
thực hiện khôi phục ngay cả cơ sở dữ liệu của bạn có cấu trúc khác hoặc hoàn toàn trống (mới).
Các giải pháp trên đã bỏ lỡ nơi giữ tệp sao lưu (.bak) của bạn. Cái này cần phải dùng mẹo. Nó làm việc cho tôi.
Bạn có thể sử dụng gói nút, nếu bạn thường xuyên cần khôi phục cơ sở dữ liệu trong quá trình phát triển.
Tải về:
npm install -g sql-bak-restore
Sử dụng:
sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>
Tranh luận:
!! tiện ích dòng lệnh sqlcmd phải nằm trong biến PATH của bạn.