Web design and hosting, database, cloud and social media solutions that deliver business results
  • Бизнес решения
    • Веб-дизайн сайта
      • Безопасность веб-сайта
      • Остров Уайт
    • Бизнес-услуги
      • Microsoft Azure
    • Microsoft Office
    • Социальные медиа
  • Службы баз данных
    • Отчеты
      • Claytabase Server Disk IOPs Calculator
      • SQL-принтер
      • Восстановление кода SQL
    • Проверка телефонного номера в правильном формате Великобритании с SQL Server 2008
  • О нас
    • команда
      • Chester Copperpot
      • Гэвин Клейтон
    • Портфолио
  • Академия
    • Базы данных обучения
      • SQL-Server
      • В SQL Server 2008 план обслуживания
      • Использование SQL Server Pivot-Unpivot
      • Использование дат SQL Server
      • Использование функций SQL Server
    • Изучение веб-дизайна
      • ASP-NET
      • CSS
عربى (AR)čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Полный план обслуживания для SQL Server 2008

План обслуживания SQL Server, который может выполнять резервное копирование и восстановление файлов базы данных на нескольких серверах, реорганизовывать или восстанавливать индексы, зависящие от времени

Оптимизация баз данных

Scrolling CSS Diagram

Этот раздел посвящен оптимизации баз данных. В этом примере мы собираемся настроить код, чтобы сделать следующее (см. Примерную схему подключения серверов);

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

При выполнении кросс-сервера вам необходимо разрешить учетную запись, с которой SQL Server работает от доступа к файловой системе целевых серверов.

Все SQL-код запускается из базы данных утилит, а схема установлена ​​на «maint»,

Ниже приведено множество других статей, которые могут вас заинтересовать.

Полный план обслуживания

Теперь мы можем управлять всеми этими отдельными сегментами кода с помощью другой процедуры, которая будет вызывать их в правильном порядке, это будет помещено в живой сервер. Код работает следующим образом;

  • Разработайте время
  • Если это вечерняя переиндексация базы данных
  • Запустите резервную копию базы данных (добавьте туда, где вам нужно)
  • Если это вечер назад, резервные копии других баз данных (добавьте, где вам нужно)
  • Убейте соединения и восстановите базу данных (добавьте туда, где вам нужно)

Этот код проверен и протестирован и работает в течение нескольких месяцев без каких-либо проблем.

Обратите внимание, что сокращение файлов журналов и файлов базы данных должно быть сведено к минимуму, запустив резервную копию, которую вы освобождаете журнал (хотя он сохранит используемое пространство). Если это необходимо, когда оно должно работать за пределами обычного рабочего времени.

SQL Code

Use [utilities]
GO
CREATE PROC [maint].MaintenancePlan AS BEGIN
DECLARE @BackupType VARCHAR(1)='E'
IF DATEPART(HOUR,GETDATE()) BETWEEN 5 AND 21 BEGIN
SET @BackupType='D'
END
--EXEC ('USE TempDb; DBCC SHRINKFILE(templog, 0)');--This is only needed when space is at a premium!
--Re-index Live
IF @BackupType='E' EXEC [maint].DatabaseReIndex 'dbname'
--Create Backup
BACKUP DATABASE TO DISK=N'{backuplocation}{dbname}.bak'
WITH NOFORMAT, INIT, NAME =N'{dbname}', SKIP, NOREWIND, NOUNLOAD, STATS= 10;
--EXEC ('USE ; DBCC SHRINKFILE(_log, 0)');--This is only needed when space is at a premium!
--Backup Other Files at Night
IF @BackupType='E' BEGIN
  EXEC [maint].DatabaseReIndex 'dbname'
  --Backup Others
  BACKUP DATABASE [databasename] TO DISK=N'{backuplocation}{dbname2}.bak'
  WITH FORMAT,INIT, NAME =N'{dbname2}',SKIP, NOREWIND, NOUNLOAD,  STATS= 10
END

--Restore Backups on other server
EXEC [server].[utilities].[maint].KillConnections 'dbname';
EXEC [server].[utilities].[maint].RestoreDatabase_{dbname};

--Restore Backups on other server for db_2 etc
IF @BackupType='E' BEGIN
  EXEC [server].[utilities].[maint].KillConnections 'dbname2';
  EXEC [server].[utilities].[maint].RestoreDatabase_{dbname2};
END

END
GO

Резервная база данных

backup database screenshot

Чтобы получить код для резервного копирования вашей базы данных, проще всего запустить код из SSMS.

Следуйте процессу, который вы обычно используете, а затем выберите «Действие сценария в окне нового запроса».

Скопируйте этот код в план обслуживания.

База данных переиндекса

Затем мы можем добавить код для переиндексации нашей базы данных, это снова является хранимой процедурой общего доступа, где вам нужно только указать системе имя.

Чтобы избежать дублирования кода, вы можете прочитать об этом по ссылке ниже.

More: Сохраненная процедура восстановления или реорганизации фрагментированных индексов базы данных

Убить соединения

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

More: Сохраненная процедура для удаления всех подключений к выбранной базе данных

Восстановить базу данных

Этот код также можно создать из SQL Server Management Studio. Если вы добавите этот код в хранимую процедуру, вы можете легко вызвать его из других процессов и даже других серверов. Мы переместили это в отдельную статью, чтобы охватить больше возможностей.

More: Восстановить базу данных из хранимой процедуры

Author

Was this helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Политика в отношении файлов cookieКарта сайта

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Настройки на этом сайте настроены так, что разрешены все файлы cookie. Их можно изменить на странице политики и настроек cookie. Продолжая использовать этот сайт, вы соглашаетесь на использование файлов cookie.
Ousia Logo
Logout
Ousia CMS Loader