2014-06-05 13 views
6

Một vài cơ sở dữ liệu đã phát sinh lỗi trong sáng nay khi đang chạy trong Chế độ người dùng đơn. Do lỗi sau tôi không thể làm bất cứ điều gì :(Lỗi bế tắc ... trong chế độ người dùng đơn lẻ hiện tại

Msg 1205, Level 13, State 68, Line 1 
Transaction (Process ID 62) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. 

tôi nhận được lỗi khi cố gắng như sau (bằng cách sử dụng cơ sở dữ liệu tổng thể như một Sys Admin):

ALTER DATABASE dbname 
SET MULTI_USER; 
GO 

Vì lợi ích của nó tôi đã cố gắng khởi động lại SQL server, tôi đã cố gắng giết chết bất kỳ quy trình và tôi thậm chí còn cố gắng thiết lập lại dùng duy nhất bản thân mình:

ALTER DATABASE dbname 
SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO 

công việc được chạy được thiết kế để sao chép databas e và đặt nó ở chế độ người dùng đơn lẻ ngay lập tức để thử và làm cho nó nhanh hơn.

Dù sao tôi có thể tháo khóa?

Trả lời

4

Ok, tôi sẽ tự trả lời.

tôi đã phải sử dụng như sau:

sp_who 

mà hiển thị chi tiết của người dùng kết nối và các buổi hiện tại, tôi bỗng nhớ về Activity Monitor trong đó cho thấy cùng một loại thứ ... Dù sao đó dẫn tôi đi từ bàn làm việc của tôi đến một số bugger, người đã duy trì kết nối với cơ sở dữ liệu theo mong muốn của tôi ...

Dù sao một khi tôi đã tắt máy tính (bằng cách rút nó ... xứng đáng) Tôi có thể chạy SQL để sửa đổi nó vào chế độ MULTI_USER (sử dụng người dùng quản trị hệ thống):

USE Master 
GO 

ALTER DATABASE dbname 
SET MULTI_USER; 
GO 

FYI cho những ai quan tâm, điều này có thể được sử dụng để ngay lập DB để SINGLE_USER:

ALTER DATABASE dbname 
SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO 

chi tiết Thêm vào đó, nếu bạn biết quá trình id bạn có thể sử dụng kill pid:

kill 62 

Bare in mind SSMS tạo ra một quá trình cho người dùng của bạn là tốt, trong trường hợp của tôi điều này đã bị từ chối do khác.

EDIT: Như mỗi khuyến nghị Bobby của chúng ta có thể sử dụng:

sp_Who2 

này có thể chỉ cho chúng ta mà quá trình bị chặn bởi các quá trình khác.

+1

Nếu bạn sử dụng sp_who2 bạn có thể tìm hiểu các quá trình bị chặn bởi đó quá trình khác trong "BlkBY " thể loại. Chỉ là một FYI. – Bobby

+0

Chúc mừng Bobby, sẽ thêm thông tin đó vào để biết thông tin. Tôi đánh giá cao nó. –

+0

Vẫn không thể thực hiện công việc này.Ngay cả sau khi chạy tất cả mọi thứ nó vẫn nói rằng nó không thể thực hiện công việc này bởi vì cơ sở dữ liệu đang chạy trong chế độ người dùng đơn. Tôi đang sử dụng SQL Server 2005.: -/ –

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