2010-01-03 23 views
5

Tôi đã viết một Chương trình sao lưu Cơ sở dữ liệu SQL bằng Thư viện SMO trên .net và mọi thứ diễn ra suôn sẻ, tôi chỉ có một điểm cuối cùng, tôi đang thay đổi cách của mình để lưu tệp .bak trên đĩa cứng, từ DeviceType.File sang DeviceType.Pipe, tôi đã sử dụng các đường ống trước đây, tôi chỉ không biết cách triển khai nó ở đây.sử dụng SMO .net để sao lưu và khôi phục qua DeviceType.Pipe

Trả lời

6

Tôi nghĩ thiết bị sao lưu PIPE không có sẵn trong SQL Server 2005 trở lên.

Từ sys.backup_devices, đường ống đã lỗi thời. Tôi có thể sai tất nhiên, và tôi đã không bao giờ sử dụng sao lưu ống (thậm chí trở lại SQL Server của tôi 6,5 ngày)

Chỉnh sửa, OK tìm thấy nó ...

mục 1 ở đây: Discontinued Database Engine Functionality in SQL Server 2005

tính năng Discontinued = Đặt tên các thiết bị sao lưu ống

với comment "Vì lý do an ninh, SQL server không hỗ trợ sao lưu vào ống đặt tên."

Vậy tại sao nó vẫn được liệt kê trong bảng liệt kê DeviceType?

+2

Tôi nghĩ rằng enum vẫn có sẵn để có thể đọc trong SMO khi thiết bị sao lưu thực sự được định cấu hình làm đường ống. Nhiều tính năng lỗi thời và bị cấm trong ngôn ngữ vẫn có thể hiển thị trong siêu dữ liệu, thường là kết quả của một cá thể hoặc nâng cấp cơ sở dữ liệu và SMO phải có khả năng đại diện cho những gì thực sự trong siêu dữ liệu trong mô hình đối tượng của nó. –

+0

vì vậy có cách nào khác để tôi có thể xử lý đầu ra từ máy chủ SQL dưới dạng luồng dữ liệu, cuz Điểm của tôi là tôi muốn thao tác luồng dữ liệu đó TRƯỚC KHI lưu nó trên HD, để tiết kiệm thời gian và vì mục đích bảo mật . – Arrabi

+0

Xin lỗi, tôi chỉ đơn giản là không biết – gbn

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