Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как убить зависшие suspended процессы?  [new]
Vasiliy.S
Member

Откуда:
Сообщений: 6
Ситуация такая: имеется MS SQL Server 2008 R2, на нем настроено ежедневное резервное копирование (с помощью Maintenance Plan, полная резервная копия всех баз).

Примерно 10 дней назад бэкап повис в процессе выполнения по непонятной причине (на самом деле, с такой ситуацией я уже сталкиваюсь не в первый раз).

Процесс висит в состоянии suspended; после kill <pid> выполняемое действие - KILL/ROLLBACK, и так висит уже пол-дня. В связи с этим нет доступа к БД master. Необходимо научиться исправлять ситуацию без рестарта сервера, или найти и устранить причину ее возникновения.

Вот результаты запросов из системных view:

select @@VERSION

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Developer Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1) (Hypervisor)

select * from sys.dm_exec_requests where session_id in (57, 59)

session_id request_id
start_time status
command sql_handle
statement_start_offset statement_end_offset
plan_handle database_id
user_id connection_id
blocking_session_id wait_type
wait_time last_wait_type
wait_resource open_transaction_count
open_resultset_count transaction_id
context_info percent_complete
estimated_completion_time cpu_time
total_elapsed_time scheduler_id
task_address reads
writes logical_reads
text_size language
date_format date_first
quoted_identifier arithabort
ansi_null_dflt_on ansi_defaults
ansi_warnings ansi_padding
ansi_nulls concat_null_yields_null
transaction_isolation_level lock_timeout
deadlock_priority row_count
prev_error nest_level
granted_query_memory executing_managed_code
group_id query_hash
query_plan_hash
57 0 2012-10-02 19:30:05.247
suspended KILLED/ROLLBACK
0x01000100B030D91ED07C8F0E000000000000000000000000
0 -1 0x06000100B030D91EB820C50E000000000000000000000000 3 1 7D2F3D55-28AF-48D4-B2C7-D0621EFF8321
0 LOGBUFFER
577380117 LOGBUFFER
0 1 0 0x 0
0 0 577384425 2 0x00578C70 0 8 136 -1
us_english mdy
7 1 0 1 0
1 1 1 1 2
-1 0 0 0 0
0 0 2 0x0000000000000000
0x0000000000000000
59 0 2012-10-02 19:30:05.247
suspended KILLED/ROLLBACK
0x010001006460F829A87D750B000000000000000000000000
0 -1 0x060001006460F829B8E0CC0E000000000000000000000000 1 1 47AEBA43-BF57-4750-B4AE-5C08F33CFA48
0 WRITELOG
577380214 WRITELOG
0 1 0 0x 0
0 0 577384311 1 0x002AEC70 0 6 243 -1
us_english mdy
7 1 0 1 0
1 1 1 1 2
-1 0 0 0 0
0 0 2 0x0000000000000000
0x0000000000000000

select * from sys.dm_exec_connections where session_id in (57, 59)

session_id most_recent_session_id
connect_time net_transport
protocol_type protocol_version
endpoint_id encrypt_option
auth_scheme node_affinity
num_reads num_writes
last_read last_write
net_packet_size client_net_address
client_tcp_port local_net_address
local_tcp_port connection_id
parent_connection_id most_recent_sql_handle
59 59 2012-10-02 19:30:05.237
Shared memory TSQL
1930100739 2
FALSE NTLM
0 6 7 2012-10-02 19:30:05.247
2012-10-02 19:30:07.297 4096
<local machine> NULL
NULL NULL
47AEBA43-BF57-4750-B4AE-5C08F33CFA48 NULL 0x010001006460F829A87D750B000000000000000000000000
57 57 2012-10-02 19:30:05.240
Shared memory TSQL
1930100739 2
FALSE NTLM
0 6 7 2012-10-02 19:30:05.243
2012-10-02 19:30:07.293 4096
<local machine> NULL
NULL NULL
7D2F3D55-28AF-48D4-B2C7-D0621EFF8321 NULL 0x01000100B030D91ED07C8F0E000000000000000000000000

select * from sys.dm_exec_sessions where session_id in (57, 59)

session_id login_time
host_name program_name
host_process_id client_version
client_interface_name security_id
login_name nt_domain
nt_user_name status
context_info cpu_time
memory_usage total_scheduled_time
total_elapsed_time endpoint_id
last_request_start_time last_request_end_time
reads writes
logical_reads is_user_process
text_size language
date_format date_first
quoted_identifier arithabort
ansi_null_dflt_on ansi_defaults
ansi_warnings ansi_padding
ansi_nulls concat_null_yields_null
transaction_isolation_level lock_timeout
deadlock_priority row_count
prev_error original_security_id
original_login_name last_successful_logon
last_unsuccessful_logon unsuccessful_logons
group_id
57 2012-10-02 19:30:05.243
W7VS2010 Microsoft SQL Server VSS Writer
2064 6 OLEDB 0x010100000000000512000000
NT AUTHORITY\SYSTEM NT AUTHORITY
SYSTEM running
0x 0 0 0 0
2 2012-10-02 19:30:05.247
2012-10-02 19:30:05.243 0
0 0 1 -1 us_english
mdy 7 1 0 1
0 1 1 1 1
2 -1 0 0 0
0x010100000000000512000000 NT AUTHORITY\SYSTEM
NULL NULL
NULL 2
59 2012-10-02 19:30:05.247
W7VS2010 Microsoft SQL Server VSS Writer
2064 6 OLEDB 0x010100000000000512000000
NT AUTHORITY\SYSTEM NT AUTHORITY
SYSTEM running
0x 0 0 0 0
2 2012-10-02 19:30:05.247
2012-10-02 19:30:05.247 0
0 0 1 -1 us_english
mdy 7 1 0 1
0 1 1 1 1
2 -1 0 0 0
0x010100000000000512000000 NT AUTHORITY\SYSTEM
NULL NULL
NULL 2

select * from sys.dm_tran_locks where request_session_id in (57, 59)

resource_type resource_subtype
resource_database_id resource_description
resource_associated_entity_id resource_lock_partition
request_mode request_type
request_status request_reference_count
request_lifetime request_session_id
request_exec_context_id request_request_id
request_owner_type request_owner_id
request_owner_guid request_owner_lockspace_id
lock_owner_address
DATABASE BULKOP_BACKUP_LOG
1
0 0 NULL LOCK GRANT 1 0 59 0
0 TRANSACTION
1251728 00000000-0000-0000-0000-000000000000
0x057A40F0:1:1 0x05898460
DATABASE BULKOP_BACKUP_LOG
3
0 0 NULL LOCK GRANT 1 0 57 0
0 TRANSACTION
1251733 00000000-0000-0000-0000-000000000000
0x070B25D0:1:1 0x0B160FE0
DATABASE 3
0 0 S LOCK GRANT 1 0 57 0
0 SHARED_TRANSACTION_WORKSPACE
0 00000000-0000-0000-0000-000000000000
0x070B25D0:0:0 0x0B1611C0
DATABASE BULKOP_BACKUP_DB
1
0 0 U LOCK GRANT 1 0 59 0
0 TRANSACTION
1251728 00000000-0000-0000-0000-000000000000
0x057A40F0:1:1 0x05897FA0
DATABASE BULKOP_BACKUP_DB
3
0 0 U LOCK GRANT 1 0 57 0
0 TRANSACTION
1251733 00000000-0000-0000-0000-000000000000
0x070B25D0:1:1 0x0B161380
OBJECT 1
22 0 IX LOCK GRANT 1 33554432 59 0 0 TRANSACTION
1252368 00000000-0000-0000-0000-000000000000
0x057A40F0:2:1 0x06BE8780
OBJECT 1
22 0 IX LOCK GRANT 1 33554432 57 0 0 TRANSACTION
1252369 00000000-0000-0000-0000-000000000000
0x070B25D0:2:1 0x05898BC0
OBJECT 1
24 0 IX LOCK GRANT 1 33554432 59 0 0 TRANSACTION
1252368 00000000-0000-0000-0000-000000000000
0x057A40F0:2:1 0x058982A0
KEY 1 (8194443284a0)
281474978283520 0
X LOCK GRANT 0 33554432 59 0 0 TRANSACTION
1252368 00000000-0000-0000-0000-000000000000
0x057A40F0:2:1 0x05898340
KEY 1 (6c7a2dd8d3d2)
281474978152448 0
X LOCK GRANT 0 33554432 59 0 0 TRANSACTION
1252368 00000000-0000-0000-0000-000000000000
0x057A40F0:2:1 0x05898440
KEY 1 (ad4cd8d5d24a)
281474978152448 0
X LOCK GRANT 1 33554432 57 0 0 TRANSACTION
1252369 00000000-0000-0000-0000-000000000000
0x070B25D0:2:1 0x06BE9220
9 окт 12, 12:00    [13289351]     Ответить | Цитировать Сообщить модератору
 Re: Как убить зависшие suspended процессы?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а бакапите на сетку, небось
9 окт 12, 12:43    [13289678]     Ответить | Цитировать Сообщить модератору
 Re: Как убить зависшие suspended процессы?  [new]
Vasiliy.S
Member

Откуда:
Сообщений: 6
Бэкап выполняется локально, на тот же диск, где находятся базы.

Есть смутные догадки, что виновата служба VSS (ее же используют службы резервного копирования: acronis, cobian, etc), т.к. при таком поведении SQL резервное копирование этих служб также прекращается.

Однако вопрос не в этом. Без VSS обойтись никак нельзя, без бэкапа SQL тоже.
На данный момент сделано так:
MS SQL держит базы на отдельном физ.диске;
Бэкапится на тот же диск, в другую папку, в случае наличия - перезапись файла;
затем Cobian Backup делает бэкап этих же файлов, и кладет их в сеть.

По времени бэкап SQL и Cobian никак не пересекаются, запас огромный.

В чем может быть проблема?
9 окт 12, 12:55    [13289760]     Ответить | Цитировать Сообщить модератору
 Re: Как убить зависшие suspended процессы?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а может сервер пропатчить до СП1 хотя бы? для начала
9 окт 12, 13:01    [13289800]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить