Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
Всем доброго времени суток!
Есть ситуация: на сервере крутится MS SQL 2008 R2, на нём висит несколько баз данных, все базы хранятся на логическом диске E: (размер 1,81 Тб). В последнее время одна из баз разрослась так, что заняла практически всё свободное место на этом диске (осталось всего 456 Кб) %)
Устаревшие файлы из БД удалила, далее была мысль её сжать, чтобы место на диске почистить, для этого воспользовалась средствами управления SQL Server Management Studio. Однако на выходе SQL Server выдал ошибку (скриншоты приведены).
Учётка на входе в sql админская, пользователи вроде отключены.
Проведите, пожалуйста, ликбез, как с этим разобраться?

К сообщению приложен файл. Размер - 37Kb
20 сен 11, 17:28    [11307634]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,

dbcc shrinkdatabase (devicelockdb)

и результат в студию
20 сен 11, 17:43    [11307731]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
Сгенерила запрос, как вы написали, и результат точно такой же: опять эта ошибка.
Судя по уровню ошибки, это у меня руки кривые, вот только не понятно, что именно не работает.

К сообщению приложен файл. Размер - 62Kb
20 сен 11, 18:12    [11307950]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Что в логе сервера при этом? Так же select @@version показывайте.

Сообщение было отредактировано: 20 сен 11, 18:26
20 сен 11, 18:25    [11308024]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,

ну для начала можно поставить sp1 для вашего сервера ну а перед этим посмотреть лог сервера как предложил Сергей не помешает.

и наверное стоит запустить dbcc checkdb (devicelockdb)
может откроется истина:)
20 сен 11, 18:32    [11308075]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
WarAnt,

и не надо скрины делать достаточно результат выполнения команды скопировать в пост
20 сен 11, 18:33    [11308081]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
Записи с лога сервера (после выполнения запроса dbcc shrinkdatabase (devicelockdb) ):

09/20/2011 18:22:23 spid63 The instance of the SQL Server Database Engine cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users. Ask the database administrator to check the lock and memory configuration for this instance<c/> or to check for long-running transactions.

09/20/2011 18:22:23 spid63 Ошибка: 1204<c/> серьезность: 19<c/> состояние: 4.

Собственно результат выполнения select @@version:

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)

Процедуру проверки запустила, думаю, долго будет проверять почти 800 Гб ))
20 сен 11, 19:16    [11308306]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
Ichimei
...
Процедуру проверки запустила, думаю, долго будет проверять почти 800 Гб ))



какие результаты проверки? :)
21 сен 11, 11:48    [11310426]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
Eagle_84,
Результаты положительные - явных ошибок нет.
Запись из лога сервера: "DBCC CHECKDB (DevicelockDB) executed by DeviceLock found 0 errors and repaired 0 errors. Elapsed time: 1 hours 29 minutes 9 seconds"

Пробовала перезапускать службы SQL-сервера, службы самой программы, всё равно одна и та же ошибка.
21 сен 11, 12:03    [11310582]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei
09/20/2011 18:22:23 spid63 The instance of the SQL Server Database Engine cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users. Ask the database administrator to check the lock and memory configuration for this instance<c/> or to check for long-running transactions.


настройки сервера покажите, судя по сообщению об ошибке возможно у вас таймаут ожидания блокировки ресурсов ограничен по времени
21 сен 11, 12:08    [11310648]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
komrad
Member

Откуда:
Сообщений: 5758
Ichimei
Eagle_84,
Результаты положительные - явных ошибок нет.
Запись из лога сервера: "DBCC CHECKDB (DevicelockDB) executed by DeviceLock found 0 errors and repaired 0 errors. Elapsed time: 1 hours 29 minutes 9 seconds"

Пробовала перезапускать службы SQL-сервера, службы самой программы, всё равно одна и та же ошибка.


выполни и покажи результат :

use devicelockdb
go
SELECT db_name() [DB],DATABASEPROPERTYEX(db_name(),'Recovery'),file_id,name ,type_desc,size/128. [Size (MB)],
	CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 [Used Space (MB)],
 size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS [Available Space (MB)], physical_name
FROM sys.database_files
go
21 сен 11, 12:15    [11310726]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
komrad,

Вот результаты запроса:
Имя базы file_id name type_desc size (MB) used_space available_space
DevicelockDB FULL 1 DevicelockDB ROWS 800715.250000 672176.875000 128538.375000 E:\MSSQL\Data\DevicelockDB.mdf

DevicelockDB FULL 2 DevicelockDB_log LOG 17487.000000 54.390625 17432.609375 E:\MSSQL\Log\DevicelockDB_log.LDF
21 сен 11, 12:41    [11311016]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
komrad
Member

Откуда:
Сообщений: 5758
Ichimei,

выполнить (отрезать 50ГБ) :

dbcc shrinkfile(1,750000)

проверить размеры тем же скриптом

потом отрезать еще 50ГБ :

dbcc shrinkfile(1,700000)
21 сен 11, 12:50    [11311108]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
komrad
Member

Откуда:
Сообщений: 5758
Ichimei,

+ показать результат

select top 20 db_name() [db],object_name(id) tbl, indid ,
reserved/128. as total_MB, 
dpages/128. as data_MB,
(reserved - dpages)/128. as index_MB from sysindexes
where indid in (0,1)
order by 4 desc
21 сен 11, 13:02    [11311226]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
WarAnt ,
А где именно можно посмотреть ограничения таймаута?

komrad,
Пыталась выполнить
dbcc shrinkfile(1,750000)
Вылетела ошибка:
"Сообщение 0, уровень 11, состояние 0, строка 0
При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы."

Результаты запроса:
DevicelockDB DLShadowFiles 1 174.375000 125.820312 48.554687
DevicelockDB DLAuditLog 1 38.718750 22.742187 15.976562
DevicelockDB DLEvents 1 20.656250 14.203125 6.453125
DevicelockDB DLStore 1 19.023437 11.835937 7.187500
DevicelockDB DLStoreBin 1 12.984375 8.031250 4.953125
DevicelockDB DLShadowFiles_Users 1 10.781250 9.226562 1.554687
DevicelockDB DLMonitorEvents 1 2.046875 1.281250 0.765625
DevicelockDB sysobjvalues 1 1.507812 0.906250 0.601562
DevicelockDB syscolpars 1 0.468750 0.195312 0.273437
DevicelockDB DLUsers 1 0.281250 0.117187 0.164062
DevicelockDB DLStations 1 0.281250 0.132812 0.148437
DevicelockDB DLStoreUrl 1 0.265625 0.234375 0.031250
DevicelockDB DLMonitor 1 0.218750 0.132812 0.085937
DevicelockDB sysschobjs 1 0.164062 0.054687 0.109375
DevicelockDB sysrscols 1 0.132812 0.070312 0.062500
DevicelockDB sysmultiobjrefs 1 0.117187 0.054687 0.062500
DevicelockDB sysidxstats 1 0.085937 0.039062 0.046875
DevicelockDB syssoftobjrefs 1 0.078125 0.031250 0.046875
DevicelockDB sysiscols 1 0.054687 0.023437 0.031250
DevicelockDB syssingleobjrefs 1 0.054687 0.023437 0.031250
21 сен 11, 15:35    [11312939]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,

EXEC sp_configure
и результат сюда
21 сен 11, 16:05    [11313214]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
WarAnt,
Результаты запроса:

nameminimummaximumconfig_valuerun_value
allow updates0100
backup compression default0100
clr enabled0100
cross db ownership chaining0100
default language099992121
filestream access level0200
max text repl size (B)-121474836476553665536
nested triggers0111
remote access0111
remote admin connections0100
remote login timeout (s)021474836472020
remote proc trans0100
remote query timeout (s)02147483647600600
server trigger recursion0111
show advanced options0100
user options03276700
21 сен 11, 16:30    [11313550]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,
вот это выполните
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
и еще раз EXEC sp_configure с результатом сюда
21 сен 11, 17:00    [11313921]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
WarAnt,

После выполнения всех команд получилась такая табличка:
access check cache bucket count06553600
access check cache quota0214748364700
Ad Hoc Distributed Queries0100
affinity I/O mask-2147483648214748364700
affinity mask-2147483648214748364700
affinity64 I/O mask-2147483648214748364700
affinity64 mask-2147483648214748364700
Agent XPs0111
allow updates0100
awe enabled0100
backup compression default0100
blocked process threshold (s)08640000
c2 audit mode0100
clr enabled0100
cost threshold for parallelism03276755
cross db ownership chaining0100
cursor threshold-12147483647-1-1
Database Mail XPs0100
default full-text language0214748364710491049
default language099992121
default trace enabled0111
disallow results from triggers0100
filestream access level0200
fill factor (%)010000
ft crawl bandwidth (max)032767100100
ft crawl bandwidth (min)03276700
ft notify bandwidth (max)032767100100
ft notify bandwidth (min)03276700
index create memory (KB)704214748364700
in-doubt xact resolution0200
lightweight pooling0100
locks5000214748364700
max degree of parallelism0102400
max full-text crawl range025644
max server memory (MB)16214748364720002000
max text repl size (B)-121474836476553665536
max worker threads1283276700
media retention036500
min memory per query (KB)512214748364710241024
min server memory (MB)0214748364700
nested triggers0111
network packet size (B)5123276740964096
Ole Automation Procedures0100
open objects0214748364700
optimize for ad hoc workloads0100
PH timeout (s)136006060
precompute rank0100
priority boost0100
query governor cost limit0214748364700
query wait (s)-12147483647-1-1
recovery interval (min)03276700
remote access0111
remote admin connections0100
remote login timeout (s)021474836472020
remote proc trans0100
remote query timeout (s)02147483647600600
Replication XPs0100
scan for startup procs0100
server trigger recursion0111
set working set size0100
show advanced options0111
SMO and DMO XPs0111
SQL Mail XPs0100
transform noise words0100
two digit year cutoff1753999920492049
user connections03276700
user options03276700
xp_cmdshell0100
21 сен 11, 17:27    [11314202]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,

у вас что для сервера с базами в терабайт на борту выделено всего 2 гига оперативы ? О_О
а бы на его месте тоже обиделся и не стал работать:)
увеличивайте память, 2 гига на терабайт явно мало, ему банально не хватает места для формирования списка блокировок
21 сен 11, 17:41    [11314323]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
WarAnt,
А, по-моему, SQL нагло врёт =)
На нём стоит 4 ГБ оперативки, по идее должно хватать.
И, что самое интересное, попробовала сжать старые, неиспользуемые базы - получилось.
21 сен 11, 18:03    [11314466]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ichimei
WarAnt,
А, по-моему, SQL нагло врёт =)
Он не врет. Он так настроен:

sp_configure
max server memory (MB) 16 2147483647 2000 2000
21 сен 11, 18:08    [11314498]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Ichimei,

ага врет и не краснеет у него даже специальная библиотека есть в составе, называет ложь.dll,
тока вот настройка max server memory (MB) 16 2147483647 2000 2000
говорит об обратном.
а старые базы какого размера если не секрет?
21 сен 11, 18:10    [11314505]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
WarAnt,

Хмм, а вот сканирование всякими Everestами + сканирование типа "на глаз" позволяют сделать вывод, что у него всё-таки 2 плашки памяти по 2 ГБ каждая ))
Старые базы размером по 4-5 ГБ всего.
21 сен 11, 18:40    [11314703]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки при сжатии БД в MS SQL 2008 R2  [new]
Ichimei
Member

Откуда:
Сообщений: 15
Гавриленко Сергей Алексеевич,

А можно ли его перенастроить каким-либо образом?
21 сен 11, 18:44    [11314737]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить