none
Большие задержки при открытии консоли восстановления БД SQL 2008R2 кластера sql2008r2 на серверах SQL2012R2/2014? RRS feed

  • Общие обсуждения

  • Доброго времени суток!

    Имеем:

    -Кластер SQL из 2-х нод на sql2008R2 sp2

    -Установлено 4-е экземпляра

    -Экземпляр по умолчанию “SQL_2008r2” –“DB” имеет 5 файловых групп и 7 файлов данных и 1 лог. Размер около 500Гб на 7 дисках SAN.

    -Остальные экземпляры имеют по одной файловой группе и файлы дата и  лог по умолчанию. Разный размер от 100 до 500Гб.

    -Настройки экземпляров одинаковы.

    Возникла следующая проблема.

    При открытии на самом кластере или на другом сервере с sql2008r2 -  “SQL_2008r2” –“DB”  и выбрав БД- tasks-restore –database меню открывается быстро.

    При открытии на другом сервер с sql2012r2sp1   -  “SQL_2008r2” –“DB”  и выбрав БД- tasks-restore –database меню открывается очень долго до 10-15 мин?

    При открытии других экземпляров на sql2012r2sp1 того же кластера  задержек нет.

    Аналогично при открытии “SQL_2008r2” –“DB” на sql2014 меню восстановления базы происходит с таким же задержками, что и на sql2012r2.

    С чем связаны такие задержки с экземпляром по умолчанию (первым экземпляром)?

    Почему нет задержек с другими экземплярами на том же кластере?

    Как исправить ситуацию?

    30 июня 2014 г. 8:48

Все ответы

  • Здравствуйте, Кирил

    Посмотрите если данный хотфикс Вам поможет:


    FIX: It takes a long time to restore a database in SQL Server 2008 R2 or in SQL Server 2008 or in SQL 2012


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    Модератор
  • Посмотрел ссылку, спасибо.

    Но дело в том, что не само восстановление тормозит,

    а открытие окна «Restore»-«Database» в sql2012/2014 при подключении в БД на sql2008r2.

    Причем,  только на одном экземпляре кластера у которого много файловых групп. Не связано ли с этим?

    Нет ли изменения в работе с файловыми группами в sql2012/2014 по сравнению с sql2008r2?

    Мне информацию по данному вопросу найти не удалось.

  • Вообще открытие каких-то там окон не должно вас смущать, по хорошему вообще все задачи администрирования желательно выполнять скриптами, тогда для вас никогда не будет загадкой, что там ушло на сервер по нажатию той или иной кнопки/менюшки...

    если хотите отловить причину тормозов, то можете запустить профайлер и посмотреть идут ли вообще команды на ваш сервер БД, на каких запросах идёт задержка...не является ли причиной этих задержек какие-то проблемы в сетевой инфраструктуре вашего предприятия


    http://www.t-sql.ru

    2 июля 2014 г. 10:20
    Отвечающий
  • Дело в там, что запрос поступил от другого отдела, где неn возможности писать скрипты.

    Запустил профайлер в двух средах.  Запросы отличаются, но результат одинаковый - Открывается окно восстановление БД.

    Почему разная реализация такой простой задачи исходя из  результатов профайлера?

    Может необходимы какие-то настройки на строрне сервера sql2012/2014 для совместимости с 2008?

    Почему постоянно запускаются процедуры совместимости, запрос логических и медиа устройств?

    А при запросе в 2008к2-2008к2 этого нет?

    Sql2008r2->sql2008r2 (всего 8 строк= 12 сек) последние строки профайлера

    exec sp_executesql N'SELECT    ……

    Sql2012sp1-sql2008r2 (всего 206232 строк= 8 мин) множество похожих операций, одни из последних строки профайлера

    SELECT bkms.logical_device_name, bkms.physical_device_name, bkms.device_type, family_sequence_number, ……

    exec sp_executesql N'SELECT…..

    SELECT bkms.media_uuid, bkms.name, bkms.description, bkms.media_family_count, bkms.mirror_count, ….

    SELECT bkms.media_uuid, bkms.name, bkms.description, bkms.media_family_count, bkms.mirror_count,

    SELECT bkms.logical_device_name, bkms.physical_device_name, bkms.device_type, family_sequence_number, ….

    SELECT bkms.logical_device_name, bkms.physical_device_name, bkms.device_type, family_sequence_number, ….

    exec sp_executesql N'SELECT….

    ..........................................................................................................................

    SELECT GETDATE()

    exec sp_executesql N'SELECT….

    exec sp_executesql N'SELECT dtb.compatibility_level AS [CompatibilityLevel], dtb.name AS [DatabaseName2] FROM master.sys.databases AS dtb …..

    exec sp_executesql N'SELECЕ ISNULL((case dmi.mirroring_redo_queue_type when N''UNLIMITED'' then 0 else dmi.mirroring_redo_queue end),0)

     

    И так 206232 строки

  • https://connect.microsoft.com/SQLServer/feedback/details/756597/database-restore-causes-blocking-and-breaks-managament-studio-intellisense

    оно?

    ваши куцие выкладки из профайлера тяжело проанализировать...могу только порекомендовать, чтобы ваш администратор БД подключился к проблеме...и пусть ещё логи сиквела глянет


    http://www.t-sql.ru

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

    В профайлере много похожих запросов….

     

    exec sp_executesql N'SELECT

    bkps.name AS [Name],

    bkps.backup_set_id AS [ID],

    bkps.backup_set_uuid AS [BackupSetUuid],

    bkps.media_set_id AS [MediaSetId],

    bkps.first_family_number AS [FirstFamilyNumber],

    bkps.first_media_number AS [FirstMediaNumber],

    bkps.last_family_number AS [LastFamilyNumber],

    bkps.last_media_number AS [LastMediaNumber],

    bkps.catalog_family_number AS [CatalogFamilyNumber],

    bkps.catalog_media_number AS [CatalogMediaNumber],

    bkps.position AS [Position],

    bkps.expiration_date AS [ExpirationDate],

    bkps.software_vendor_id AS [SoftwareVendorId],

    bkps.description AS [Description],

    bkps.user_name AS [UserName],

    bkps.software_major_version AS [SoftwareMajorVersion],

    bkps.software_minor_version AS [SoftwareMinorVersion],

    bkps.software_build_version AS [SoftwareBuildVersion],

    bkps.time_zone AS [TimeZone],

    bkps.mtf_minor_version AS [MtfMinorVersion],

    bkps.first_lsn AS [FirstLsn],

    bkps.last_lsn AS [LastLsn],

    bkps.checkpoint_lsn AS [CheckpointLsn],

    bkps.database_backup_lsn AS [DatabaseBackupLsn],

    bkps.database_creation_date AS [DatabaseCreationDate],

    bkps.backup_start_date AS [BackupStartDate],

    bkps.backup_finish_date AS [BackupFinishDate],

    CASE bkps.type WHEN ''D'' THEN 1 WHEN ''I'' THEN 2 WHEN ''L'' THEN 3 WHEN ''F'' THEN 4 WHEN ''G'' THEN 5 END AS [BackupSetType],

    bkps.sort_order AS [SortOrder],

    bkps.code_page AS [CodePage],

    bkps.compatibility_level AS [CompatibilityLevel],

    bkps.database_version AS [DatabaseVersion],

    bkps.backup_size AS [BackupSize],

    bkps.database_name AS [DatabaseName],

    bkps.server_name AS [ServerName],

    bkps.machine_name AS [MachineName],

    bkps.flags AS [BackupSetFlags],

    bkps.unicode_locale AS [UnicodeLocale],

    bkps.unicode_compare_style AS [UnicodeCompareStyle],

    bkps.collation_name AS [CollationName],

    bkps.is_damaged AS [IsDamaged],

    bkps.is_copy_only AS [IsCopyOnly],

    bkps.is_snapshot AS [IsSnapShot],

    bkps.is_readonly AS [IsReadOnly],

    bkps.is_password_protected AS [IsPasswordProtected],

    bkps.has_incomplete_metadata AS [HasIncompleteMetaData],

    bkps.has_bulk_logged_data AS [HasBulkLoggedData],

    bkps.begins_log_chain AS [BeginsLogChain],

    bkps.is_force_offline AS [IsForceOffline],

    bkps.database_guid AS [DatabaseGuid],

    bkps.differential_base_guid AS [DifferentialBaseGuid],

    bkps.first_recovery_fork_guid AS [FirstRecoveryForkID],

    bkps.last_recovery_fork_guid AS [RecoveryForkID],

    bkps.family_guid AS [FamilyGuid],

    bkps.fork_point_lsn AS [ForkPointLsn],

    bkps.differential_base_lsn AS [DifferentialBaseLsn],

    bkps.compressed_backup_size AS [CompressedBackupSize]

    FROM

    msdb.dbo.backupset bkps

    WHERE

    (bkps.backup_set_uuid=@_msparam_0)',N'@_msparam_0 nvarchar(4000)',@_msparam_0=N'02a030fc-c656-4090-9970-c080f87325a0'

     

    Сам запрос отрабатывает без задержек и в 2008 и в 2012 студии, а вот окно Restore-Database в 2012/2014 открывается минуты. Это и не устраивает пользователей, само восстановление выполняется без задержек.

    Вот и вопрос почему такие тормоза при открытии окна в 2012? 

    3 июля 2014 г. 12:51
  • результат покажите запроса на обоих серверах:

    exec msdb..sp_spaceused 'dbo.backupset'


    http://www.t-sql.ru

    Отвечающий
  • Результат одинаковый, т.к. сервер к которому обращаюсь один и тот же - кластер на sql2008r2sp2.

    name                    rows                      reserved             data                       index_size          unused

    backupset          41379                    27032 KB             22232 KB             3688 KB                1112 KB

     

    Но Студия разная в 2008 все быстро открывается, а в 2012/2014 медленно. Вот в этом и проблема.

     

    Можно конечно поставить рядом с sql2012 студию от sql2008, но хотелось бы понять суть тормозов?

    Да, и другой сервер не хочется засорять компонентами старой студии.

    Если делать запросом , то в обоих вариантах запрос отрабатывает быстро и показывает одинаковое число запиисей.