Web design and hosting, database, cloud and social media solutions that deliver business results
  • Obchodní řešení
    • Databázové služby
      • Integrace dat
    • Robotická automatizace procesů
    • Návrh webových stránek
      • Zabezpečení webových stránek
    • Obchodní služby
      • Microsoft Azure
    • Microsoft Office
    • Sociální Média
  • Akademie
    • Výuka návrhu databáze
      • Zprávy
      • Pomocí serveru SQL Pivot-Unpivot
      • Použití dat serveru SQL Server
      • Používání funkcí dat serveru SQL Server
      • Používání funkcí serveru SQL Server
      • SQL Server 2008 plán údržby
    • Výuka designu webových stránek
      • CSS
      • ASP NET
  • O nás
    • Portfolio
    • tým
      • Gavin Clayton
      • Chester Copperpot
      • Suneel Kumar
عربى (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)

Kompletní plán údržby pro SQL Server 2008

Plán údržby serveru SQL, který umožňuje zálohovat a obnovovat soubory databáze na více serverech, reorganizovat nebo obnovovat indexy v závislosti na čase

Optimalizace databází

Scrolling CSS Diagram

Tato část je věnována optimalizaci databáze. V tomto příkladu nastavíme kód, abychom provedli následující (viz hrubý diagram o tom, jak jsou servery připojeny);

  • Databáze zálohování ze živého serveru do složky sdílené zálohy
  • Re-indexovat databázi
  • Zabijte všechna připojení a obnovte databázi na serveru zpráv.
  • Linked Servers budou brzy v samostatném článku
  • Přihlášení k odeslání bude brzy v samostatném článku

Při překládání serveru budete muset povolit, aby účet, ze kterého je spuštěn SQL Server, přistupoval k souborovému systému cílových serverů.

Veškerý kód SQL je spuštěn z databáze nástrojů a schéma je nastaveno na "maint"

Existuje řada dalších článků, které jsme napsali níže, které vás mohou zajímat.

Kompletní plán údržby

Nyní můžeme spravovat všechny tyto samostatné segmenty kódu jiným postupem, který jim bude volat ve správném pořadí, který bude uveden na živém serveru. Kód běží následovně:

  • Vypracujte čas
  • Pokud je večer znovu indexovat databázi
  • Spusťte zálohu databáze (přidejte, kde potřebujete)
  • Pokud je večer zálohovat ostatní databáze (přidat, kde potřebujete)
  • Zabíjet připojení a obnovit databázi (přidat tam, kde potřebujete)

Tento kód byl vyzkoušen a testován po dobu několika měsíců bez problémů.

Mějte na paměti, že zmenšení souborů protokolů a databázových souborů by mělo být omezeno na minimum, a to spuštěním zálohy, kterou vyprázdníte (i když bude zachováno použité místo). Pokud je zapotřebí, kdyby měl běžet mimo běžnou pracovní dobu.

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

Databáze zálohování

backup database screenshot

Chcete-li získat kód pro zálohování databáze, je nejjednodušší psát kód ze SSMS.

Postupujte podle postupu, který byste normálně používali, a poté vyberte možnost "Akce skriptu do nového okna dotazu".

Tento kód zkopírujte do plánu údržby.

Re-indexovat databázi

Dále můžeme přidat nějaký kód, abychom znovu indexovali naši databázi, je to opět sdílená procedura, kde je třeba pouze říct systému název.

Chcete-li zabránit duplicitě kódu, můžete o ní přečíst na níže uvedeném odkazu.

More: Uložený postup obnovení nebo reorganizace fragmentovaných databázových indexů

Zabij připojení

Při provádění obnovy v databázi můžete k němu připojit pouze jedno připojení (proces provádí obnovu), proto můžeme vytvořit uloženou proceduru, která uzavře všechna připojení kromě aktuálního procesu. Znovu jsme pro to vytvořili samostatný článek.

More: Uložený postup k zablokování všech připojení k vybrané databázi

Obnovit databázi

Tento kód lze také skriptovat ze serveru SQL Server Management Studio. Pokud tento kód přidáte do uložené procedury, můžete jej z jiných procesů a dokonce i jiných serverů jednoduše volat. Přesunuli jsme to do samostatného článku, abychom pokryli další možnosti.

More: Obnovení databáze z uloženého postupu

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 Policymapa stránek

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
Nastavení na této stránce jsou nastaveny povolit všechny soubory cookie. Ty mohou být změněny na našich zásad a nastavení stránky cookie. Nadále používat tento web souhlasíte s použitím cookies.
Ousia Logo
Logout
Ousia CMS Loader