SQL Scritp Fix Database

Một số câu lệnh sử dụng t-sql để sửa lỗi database MS SQL SERVER

KIỂM TRA TRẠNG THÁI DATABASES

DECLARE @status INT 
SELECT @status = status FROM sys.sysdatabases WHERE name = DB_NAME() 
PRINT DB_NAME() + ' - ' + CONVERT(VARCHAR(20),@status) 
IF ( (1 & @status) = 1 ) PRINT 'autoclose' 
IF ( (2 & @status) = 2 ) PRINT '2 not sure' 
IF ( (4 & @status) = 4 ) PRINT 'select into/bulkcopy' 
IF ( (8 & @status) = 8 ) PRINT 'trunc. log on chkpt' 
IF ( (16 & @status) = 16 ) PRINT 'torn page detection' 
IF ( (32 & @status) = 32 ) PRINT 'loading' 
IF ( (64 & @status) = 64 ) PRINT 'pre recovery' 
IF ( (128 & @status) = 128 ) PRINT 'recovering' 
IF ( (256 & @status) = 256 ) PRINT 'not recovered' 
IF ( (512 & @status) = 512 ) PRINT 'offline' 
IF ( (1024 & @status) = 1024 ) PRINT 'read only' 
IF ( (2048 & @status) = 2048 ) PRINT 'dbo use only' 
IF ( (4096 & @status) = 4096 ) PRINT 'single user' 
IF ( (8192 & @status) = 8192 ) PRINT '8192 not sure' 
IF ( (16384 & @status) = 16384 ) PRINT '16384 not sure' 
IF ( (32768 & @status) = 32768 ) PRINT 'emergency mode' 
IF ( (65536 & @status) = 65536 ) PRINT 'online' 
IF ( (131072 & @status) = 131072 ) PRINT '131072 not sure' 
IF ( (262144 & @status) = 262144 ) PRINT '262144 not sure' 
IF ( (524288 & @status) = 524288 ) PRINT '524288 not sure' 
IF ( (1048576 & @status) = 1048576 ) PRINT '1048576 not sure' 
IF ( (2097152 & @status) = 2097152 ) PRINT '2097152 not sure' 
IF ( (4194304 & @status) = 4194304 ) PRINT 'autoshrink' 
IF ( (1073741824 & @status) = 1073741824 ) PRINT 'cleanly shutdown' 

1. Database Restoring

Mô tả: Khôi phục file backup vào Database bị bị lỗi như Restoring...

Sửa lỗi 1: Chạy câu lệnh sau thay tham số @dbname = tên của database đang bị lỗi

Sửa lỗi 2: Cách thủ công cần backup 2 file .MDF và .LDF trước rồi thực hiện

2. Database Recovery Pending

Mô tả: Dịch vụ SQL Server bị dừng đột ngột do mất điện hoặc lỗi hệ thống dẫn tới khi khôi phục lại các database bị treo ở trạng thái này.

Sửa lỗi: Thay đổi @DBname theo tên 01 database cần sửa lỗi

Sửa lỗi cho trường hợp chạy nhiều database cùng lúc

3. Database Suppect

Mô tả: Do SQL Server bị tắt đột ngột, mất điện cho máy chủ, ổ cứng chứa database không đủ dung lượng trống...

Sửa lỗi: thay Dbname bằng tên 01 database cần sửa lỗi

4. Database cannot be opened due to inaccessible files or insufficient memory or disk space

Mô tả: Lỗi này do database của SQL sau khi sửa lỗi nào trước đó đang bị trạng thái tắt ( Offline) cần phải bật lên để có thể sử dụng được.

Sửa lỗi: Chạy câu lệnh này:

*Tham khảo danh sách các lỗi được hướng dẫn tại đâyarrow-up-right

5. Database is read only

Mô tả: Lỗi này thường xảy ra khi database đang sử dụng nhưng quyền thư mục trên file database bị thay đổi không có Full Control dẫn tới lỗi

Sửa lỗi: Chạy câu lệnh này

Last updated