2010-10-18 21 views
108

Dưới đây là truy vấn mà tôi đang sử dụng để sao lưu (tạo một cơ sở dữ liệu .bak).Không thể mở thiết bị sao lưu. Lỗi Hệ điều hành 5

Tuy nhiên, bất cứ khi nào tôi chạy nó, tôi luôn nhận được thông báo lỗi này:

Msg 3201, Level 16, State 1, Line 1
Không thể mở thiết bị sao lưu 'C: \ Users \ Me \ Desktop \ Backup \ MyDB.Bak '. Lỗi hệ điều hành 5 (Truy cập bị từ chối.).

Msg 3013, cấp 16, tiểu bang 1, dòng 1
BACKUP DATABASE đang kết thúc bất thường.

Đây là câu hỏi của tôi:

BACKUP DATABASE AcinsoftDB 
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak' 
WITH FORMAT, 
MEDIANAME = 'C_SQLServerBackups', 
NAME = 'Full Backup of MyDB'; 

Cảm ơn trước.

+0

Vâng, thông báo lỗi khá rõ ràng, phải không? Người dùng đang chạy chương trình gì? Tệp bak có tồn tại không? Bạn có thể truy cập nó theo cách thủ công không? –

+1

Chúng ta có nên giả định điều này là cho SQL Server từ đường dẫn tệp, vì bạn không đặt sản phẩm trong các thẻ hoặc tiêu đề? – Powerlord

+0

Tôi đã có thể chạy truy vấn này trước khi tôi định dạng lại máy tính xách tay của mình nếu nó có bất kỳ trợ giúp nào. Đây là SQL Server 2008 và tôi đang chạy với tư cách quản trị viên. Tệp bak không tồn tại vì tôi đang trong quá trình tạo tệp bằng truy vấn này. – Smiley

Trả lời

179

Vâng tôi vừa ghi bàn này.

Tìm trong Dịch vụ Windows. Bắt đầu> Quản trị> Dịch vụ

Tìm dịch vụ trong danh sách được gọi là: SQL Server (MSSQLSERVER) tìm cột "Đăng nhập với tư cách" (cần phải thêm nó nếu nó không tồn tại trong danh sách).

Đây là tài khoản mà bạn cần phải cung cấp quyền truy cập vào các thư mục, kích chuột phải vào explorer> properties> Cổ phiếu (Và an)

LƯU Ý: Hãy nhớ để cung cấp cho quyền truy cập vào thư mục thực tế và để chia sẻ nếu bạn đang đi qua mạng.

Áp dụng và đợi cho phép cấp quyền, hãy thử sao lưu lại.

LƯU Ý 2: nếu bạn sao lưu qua mạng và SQL đang chạy dưới dạng "Dịch vụ cục bộ" thì bạn gặp sự cố ... bạn có thể thử gán quyền hoặc sao lưu cục bộ và xcopy dễ dàng hơn bên ngoài SQL Server (một giờ sau).

LƯU Ý 3: Nếu bạn đang chạy dưới dạng dịch vụ mạng thì SOMETIMES máy từ xa sẽ không nhận dạng được serivce mạng trên Máy chủ SQL của bạn. Nếu đây là trường hợp bạn cần phải thêm quyền cho bản thân máy tính thực tế ví dụ. MyServer $.

+13

Quyền/thêm/nâng cao không tìm thấy người dùng trong danh sách, nhưng tôi đã dán trong "Dịch vụ NT \ MSSQLSERVER" và nó hoạt động như một nhà vô địch. –

+2

Việc thêm quyền 'tất cả mọi người' vào thư mục có bao gồm điều này không? – DevDave

+2

Tùy thuộc, nếu nó là một công cụ thực sự chưa được xác thực thì có. Nếu nó là "bất kỳ xác thực" thì LOCAL SERVICE trên một máy từ xa sẽ không thường đủ điều kiện ... nhưng bạn có thực sự muốn cung cấp cho mọi người truy cập, đối với chúng tôi đó là một hành vi phạm tội gần có thể sa thải. –

7

SQL tài khoản dịch vụ Server không có quyền ghi vào thư mục C:\Users\Kimpoy\Desktop\Backup\

+17

làm cách nào để cấp quyền cho Tài khoản dịch vụ máy chủ SQL để truy cập thư mục này? :) – Smiley

2

Tôi đã có một vấn đề tương tự. Tôi đã thêm quyền ghi vào tệp .bak và thư mục của tôi mà tôi đã ghi bản sao lưu cho người dùng NETWORK SERVICE. Để thêm quyền chỉ cần nhấp chuột phải vào tệp/thư mục bạn muốn thay đổi, hãy chọn tab bảo mật và thêm người dùng/quyền thích hợp vào đó.

+1

ý của bạn là gì? – Steam

9

Chuyển đến thư mục SQL server trong menu Start và nhấp vào công cụ cấu hình cấu hình quản lý Chọn SQL Server Mở dịch vụ SQL server, trên dụ mong muốn thay đổi (Log on as) để hệ thống địa phương

+0

thanh lịch, nhờ –

6

Tôi có điều này vấn đề gần đây là tốt, tuy nhiên tôi đã chạy công việc sao lưu từ máy chủ A nhưng cơ sở dữ liệu được sao lưu là trên máy chủ B để chia sẻ tập tin trên máy chủ C.Khi tác nhân trên máy chủ A yêu cầu máy chủ B chạy lệnh sao lưu t-sql, tài khoản dịch vụ thực sự của nó mà sql đang chạy trên SERVER B cố gắng ghi bản sao lưu vào máy chủ C.

Chỉ cần nhớ, đó là tài khoản dịch vụ của máy chủ sql thực hiện lệnh BACKUP DATABASE thực tế là những gì cần đặc quyền trên hệ thống tệp, chứ không phải đặc quyền.

0

Msg 3201, Level 16, State 1, Line 1 Không thể mở thiết bị sao lưu 'C: \ Backup \ Adventure_20120720_1024AM.trn'. Lỗi hệ điều hành 5 (Truy cập bị từ chối.). Msg 3013, Cấp 16, Tiểu bang 1, Dòng 1 BACKUP LOG đang kết thúc bất thường.

Tôi đã xác minh thư mục sao lưu trên ổ C, Tài khoản dịch vụ mới có quyền truy cập kiểm soát đầy đủ hay không ?, Tôi nhận ra rằng tài khoản dịch vụ "Test \ Kiran" không có quyền kiểm soát bảo mật đầy đủ.

Hãy làm theo các bước dưới đây để cung cấp cho toàn quyền kiểm soát tài khoản dịch vụ:

  1. Go vào ổ C, nhấp chuột phải vào thư mục Backup.
  2. Chọn tab Bảo mật.
  3. Nhấp vào nút Chỉnh sửa, cửa sổ mới sẽ mở ra.
  4. Nhấp vào nút Thêm và nhập tài khoản người dùng Test \ Kiran và nhấp vào nút kiểm tra tên, điều này sẽ xác thực bạn đã nhập người dùng hiện có hay không, nếu nó tồn tại, nó sẽ hiển thị người dùng trên cửa sổ, chọn OK.
  5. Chọn bạn đã nhập tên người dùng và chọn hộp kiểm Kiểm soát hoàn toàn bên dưới cho phép.
0

Vui lòng kiểm tra quyền truy cập vào drives.First tạo một thư mục và đi đến thuộc tính thư mục,

Bạn có thể tìm thấy các tab an ninh, bấm vào đó kiểm tra xem user id của bạn có quyền truy cập hay không.

nếu không thể tìm thấy id của bạn, vui lòng nhấp vào thêm buttion và cung cấp tên người dùng có toàn quyền truy cập.

4

Tôi đã tự trải qua điều này. Tôi đã đảm bảo rằng người dùng đăng nhập MSSQLSERVER của tôi có full access nhưng nó vẫn gây ra sự cố. Nó chỉ hoạt động khi tôi di chuyển đích đến thư mục gốc của C. Quan trọng hơn trong thư mục người dùng (mặc dù tôi đã chia sẻ với đầy đủ quyền - thậm chí đã thử "Mọi người" làm bài kiểm tra).

Tôi không biết liệu tôi có xem vấn đề của mình là "cố định" hay không, tuy nhiên nó "đang hoạt động".

Chỉ cần một FYI cho bất kỳ người dùng nào khác gặp phải chuỗi này.

+0

Tôi nghĩ điều này là do các miền doanh nghiệp có đường dẫn người dùng cư trú trên các ổ đĩa mạng để người dùng có thể truy cập một cách rõ ràng bất kể họ đăng nhập vào máy nào. Chẳng hạn như tình huống này: http://superuser.com/a/730519 – Bon

1

Tôi biết đó không phải là giải pháp chính xác nhưng sử dụng đường dẫn ổ đĩa ngoài giải quyết vấn đề này.

BACKUP DATABASE AcinsoftDB 
TO DISK = 'E:\MyDB.Bak' 
WITH FORMAT, 
MEDIANAME = 'C_SQLServerBackups', 
NAME = 'Full Backup of MyDB'; 
3

Tôi gặp vấn đề tương tự với SQL Express 2014 SP1 trên Windows 10.

Giải pháp mà làm việc

  1. Dịch vụ mở bởi Dịch vụ gõ
  2. Xác định vị trí và mở SQL Server (SQLExpress)
  3. Đến Logon Tab
  4. Chọn tài khoản Local System (Cũng Check for phép Các dịch vụ tương tác với máy tính để bàn)
  5. Nhấp vào OK. Dừng dịch vụ. Khởi động lại dịch vụ.
  6. Sự cố được giải quyết
2

Đây là những gì tôi đã làm để giải quyết vấn đề.

1) Tới backup

2) Hủy bỏ các điểm đến tập tin đường dẫn đến đĩa

3) Nhấp vào Thêm

4) Trong các Tên tệp: hộp kiểm tra bằng tay gõ trong bản sao lưu tên sau .. \ backup như dưới đây nơi Yourdb.bak là tên sao lưu cơ sở dữ liệu

C: \ Program Files \ Microsoft SQL server \ MSSQL11.MSSQLSERVER \ MSSQL \ backup \ Yourdb.bak

5) Nhấp vào OK

Hy vọng điều này sẽ hữu ích!

0

Chia sẻ thư mục này và sử dụng đường dẫn UNC, ví dụ: \ pc \ backups \ mydb.bak

Sau đó, bạn có thể dừng chia sẻ.

Không rất thanh lịch, nhưng nó giải quyết tất cả các vấn đề quyền (Bạn cần phải cung cấp quyền truy cập để chia sẻ là tốt, như đã đề cập ở trên)

0

tôi có kinh nghiệm vấn đề này khi file BAK được lưu trữ tạm thời trong một thư mục được mã hóa với BitLocker. Nó giữ lại mã hóa sau khi nó được chuyển đến một thư mục khác.

Tài khoản NETWORK SERVICE không thể giải mã tệp và cung cấp thông báo lỗi đầy đủ thông tin này.

Xóa mã hóa BitLocker (bằng cách bỏ chọn "Mã hóa nội dung thành dữ liệu bảo mật" trong thuộc tính tệp) trên tệp .BAK đã giải quyết được sự cố.

0

Hi bạn cần thay đổi các truy vấn từ:

BACKUP DATABASE AcinsoftDB 
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak' 

để

BACKUP DATABASE AcinsoftDB 
TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak' 

Bạn cần phải thêm một N ở phía trước của con đường làm việc cho tôi.

0

Tôi gặp lỗi tương tự. Những thay đổi sau đây đã giúp tôi sửa lỗi này.

tôi phải kiểm tra máy chủ Manager-> Tool-> Các dịch vụ và tìm người dùng ("Log On Như" cột) cho dịch vụ: SQL Server (SQLEXPRESS).

Tôi đã chuyển đến thư mục cục bộ (C: \ Users \ Me \ Desktop \ Backup) và thêm "NT Service \ MSSQL $ SQLEXPRESS" làm người dùng cấp quyền ghi.

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