Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Долго генерится скрипт "Task->Generate Scripts" (http://forum.oszone.net/showthread.php?t=201123)

Jury 04-03-2011 15:44 1627189

Долго генерится скрипт "Task->Generate Scripts"
 
Очень долго (почти сутки) генерится скрипт БД в 2008 R2 для некоторых баз (не для всех).
Для случаев, если не висит, то время генерации скрипта около минуты.
Из режима Task->Generate Scripts.

Подвисает надолго на шаге Determining objects in database .....

Все обновления стоят ...
подскажите куда копать

Busla 04-03-2011 22:57 1627470

Т.е. на одной и той же БД может генериться минуту, а через некоторое время - сутки, а потом опять минуту?

BlackEric 04-03-2011 23:03 1627475

1. select @@version
2. Размер БД, число объектов ней
3. Нагрузка на сервер? Может просто памяти не хватает?
4. Базы не битые? Бэкап поднимите на тестовом сервере и попробуйте повторить.

Jury 15-03-2011 14:30 1635418

Т.е. на одной и той же БД может генериться минуту, а через некоторое время - сутки, а потом опять минуту?
--------
имеется куча (единицы сотен) клиентских компов, на которых локально выполняется программа, работающая с локальной базой на локальном сервере (все на клиентском компе из кучи). Все сервера разные от MSDE-2000 до Express 2008. Meta-данные всех баз одинаковы - это априори. А данные таблиц - совершенно разные.
Все базы, с которыми я работаю (я не принадлежу к куче), поднимаются из бэкапов, которые создаются программой на клиентах и попадают мне через сеть.
Вот для некоторых (из всех) баз Task->Generate Scripts выполняется "долго". Если для некоей базы скрипт выполняется долго, то незамечено, что после какой-то попытки он стал выполняться быстро. И наоборот, если скрипт выполняется быстро, то он выполняется быстро всегда для этой базы. Быстрость - устойчивое свойство конкретной базы, причем заресторенной на всех серверах (см. чуть ниже)
========
1. select @@version
--------
Microsoft SQL Server 2005 - 9.00.4053.00 (X64) May 26 2009 14:13:01 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64) Sep 16 2010 19:43:16 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
========
Размер БД, число объектов ней?
--------
Под размером БД можно подразумевать многое.. Размер файла бэкапа - 950 Мб, наибольшие бэкапы из кучи - около 3 Гб.
Число объектов - 2133

select COUNT(*),xtype from sysobjects group by xtype order by 1 desc

554 D --defaults
470 F --foreign keys
320 U --таблицы
298 PK --primary keys
231 P --процедуры
50 TR --триггеры
45 S --system table
45 UQ --unique keys
34 V --views
34 FN --scalar function
33 TF --table function
8 C
5 IT
3 SQ
3 IF

========
3. Нагрузка на сервер? Может просто памяти не хватает?
--------
Теоретически может, но маловероятно: AMD Phenom 4-х ядреный процессор - 3.2 Ghz, 8Gb RAM, одинственная пользовательская задача..
========
4. Базы не битые? Бэкап поднимите на тестовом сервере и попробуйте повторить.
--------
Что есть критерий "битая"? Безусловно незамечено нарушения функционала работы программа-база. На приаттаченной базе выполняются SQL скрипты. База непохожа на битую.

Busla 19-03-2011 22:13 1639064

dbcc checkdb?

Цитата:

Цитата Jury
На приаттаченной базе выполняются SQL скрипты. »

так восстанавливаем БД из бэкапа или подключаем файлы БД?

Jury 20-03-2011 23:25 1639739

Цитата:

Цитата Busla
так восстанавливаем БД из бэкапа или подключаем файлы БД? »

Не приаттачиваю, а ресторю (зарапортовался)
Восстанавливаю БД из бэкапа !

Цитата:

Цитата Busla
dbcc checkdb? »

Это checkdb-кое Resume.

CHECKDB found 0 allocation errors and 0 consistency errors in database 'sf2913'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Время: 21:11.

Время: 21:11.
© OSzone.net 2001-