Tìm tài khoản dịch vụ SQL Server nào đang chạy BACKUP trong


7

DBA của chúng tôi đã ngừng hoạt động và tôi đang cố gắng sao lưu cơ sở dữ liệu dev (từ xa) của mình vào đường dẫn UNC. Tôi đang chạy hoạt động sao lưu trong khi đăng nhập vào Management Studio dưới dạng tài khoản miền Windows cụ thể (ví dụ CORP\myUser). Tôi đã kiểm tra rằng tài khoản miền này có quyền KIỂM SOÁT ĐẦY ĐỦ đường dẫn UNC \\nameOfMachine\backup\.

Khi tôi cố gắng thực hiện như sau CORP\myUser

BACKUP DATABASE [DEV] TO  DISK = N'\\nameOfMachine\backup\dev.bak' WITH COPY_ONLY, INIT;

Tôi nhận được lỗi

Cannot open backup device '\\nameOfMachine\backup\dev.bak'. 
Operating system error 5(Access is denied.).

Điều này dường như cho thấy rằng bất cứ tài khoản nào mà SQL Server đang sử dụng để chạy lệnh sao lưu đều không có quyền đối với đường dẫn UNC đó.

Tôi không có cách nào để RDP đến máy chủ cơ sở dữ liệu dev và tìm hiểu tài khoản SQL Server nào đang sử dụng để thực hiện lệnh sao lưu ở trên. Có cách nào để tìm ra điều này từ Management Studio bằng cách sử dụng chế độ xem quản lý động không?


1
Hãy thử điều này để tìm tài khoản dịch vụ SQL Server: chọn tên dịch vụ, startup_type_desc, service_account từ sys.dm_server_service;
donger

1
chạy cái này để tìm ra thứ bạn có trước: CHỌN * TỪ fn_my_permissions (NULL, 'SERVER');
donger

Bạn có muốn thử đề xuất của Arthur sao lưu vào ổ đĩa cục bộ sau đó sao chép vào chia sẻ mạng không? Thay vì cố gắng tìm ra tài khoản dịch vụ với tất cả những vấn đề này.
donger

1
Tài khoản của bạn không thể nhưng tài khoản Dịch vụ máy chủ SQL sẽ có thể sao lưu vào các ổ đĩa cục bộ. Sau đó, bạn vẫn sẽ cần tìm một tài khoản có quyền truy cập để sao chép các tệp ra.
donger

@donger đây là lý do tại sao tôi đã sao lưu vào một chia sẻ UNC rằng tài khoản của tôi không có quyền truy cập vào.
T. Webster

Câu trả lời:



4

Bạn có tùy chọn tạo thư mục trên máy tính cục bộ của mình và tạo chia sẻ trên đó và cấp toàn quyền cho mọi người và sau đó sao lưu vào chia sẻ đó không? - bạn không cho biết mức độ lớn của bản sao lưu


Bạn có thể làm điều này. Ngoài ra, nếu bạn có quyền quản trị viên trên chia sẻ UNC, thì bạn có thể tạm thời cho phép "Mọi người" truy cập đọc / ghi vào chia sẻ cho đến khi sao lưu được sao chép.
Gary

@Scott, tôi ghi có câu trả lời của bạn +1 vì đó là một cách hay để tôi có thể dễ dàng giải quyết vấn đề, nhưng tôi đã đăng giải pháp thực tế mà tôi tìm thấy.
T. Webster

4

Nếu bạn chạy truy vấn BACKUP trong một tài khoản Windows / SQL Server nhất định, thì đó thực sự là tài khoản SQL Server Agent "thực hiện" BACKUP và cần toàn quyền kiểm soát đối với đường dẫn UNC. Vì vậy, bạn phải có thể cho phép tài khoản đó (hoặc Mọi người) có quyền kiểm soát hoàn toàn đối với đường dẫn đó. Để tìm ra tài khoản SQL Server Agent nào chạy, truy vấn sys.dm_server_service . Nó yêu cầu bạn (hoặc người khác) phải có quyền XEM TỪ MÁY CHỦ trên máy chủ.

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.