Web design and hosting, database, cloud and social media solutions that deliver business results
  • Soluzioni aziendali
    • automazione dei processi robotici
    • Software
    • Servizi database
      • Aggiornamento del server e servizi DBA
      • Integrazione dei dati
      • Power BI
      • Servizi di Datawarehouse
    • Sito Web Design
      • Design del logo
      • Gateway di pagamento
      • Localizzazione e traduzione web
      • Ottimizzazione del sito web
      • Sicurezza del sito
      • Strumenti tecnici
    • Servizi per gli affari
      • Microsoft Azure
      • Servizi Google Cloud
      • Servizi Web Amazon
    • Microsoft Office
    • Servizi di consulenza e gestione dei social media
  • Accademia
    • Il nostro ambiente di prova
    • Imparare a usare i database
      • Le basi
      • Ottieni una query aperta
      • Piano di manutenzione di SQL Server 2008
      • Utilizzo dei dati di SQL Server
      • Utilizzo delle date di SQL Server
      • Utilizzo delle funzioni di SQL Server
      • Utilizzo di SQL Server Pivot-Unpivot
      • Strumenti
    • Imparare il web design
      • Costruire il sistema di gestione dei contenuti di Ousia
      • ASP-NET
      • CSS
      • Utilizzo di JavaScript
    • Usando i social media
      • Chiedere una recensione su Google
      • Dimensioni delle immagini dei social media
      • Modifica di un account Facebook da personale a aziendale
      • Scegliere dove concentrare lo sforzo sui social media
      • Utilizzo dei metadati per impostare le immagini dei social media
    • Imparare a usare il cloud e i servizi informatici
      • Errore dell'utilità di pianificazione 2147943645
      • Richiesta SSL e generazione di file PFX in OpenSSL Simple Steps
  • Chi Siamo
    • Carriere
      • Traduttore inglese-portoghese
      • Traduttore inglese-spagnolo
    • Portfolio
    • Squadra
      • Adrian Anandan
      • Alì Al Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
عربى (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)

Un piano di manutenziione per Server SQL 2008

Piano di manutenzione dei Server SQL in grado di eseguire il backup e il ripristino di file di su più server e riogranizzare e ricostruire gli indici delle varie tabelle

Ottimizzazione dei database

Piano di manutenzione del database

Questa sezione è dedicata all'ottimizzazione dei database. In questo esempio, imposteremo il codice per eseguire le seguenti operazioni (vedere un diagramma approssimativo di come sono collegati i server):

  • Backup del database dal server live a una cartella di backup condivisa
  • Reindicizzare il database
  • Interrompere tutte le connessioni e ripristinare il database sul server di report.
  • I server collegati saranno presto in un articolo separato
  • Log Shipping sarà presto in un articolo separato

Quando si esegue questa operazione su più server, sarà necessario consentire all'account in esecuzione di SQL Server di accedere ai file di sistema dei server di destinazione.

Tutto il codice SQL viene eseguito da un database di utilità e lo schema è impostato su "maint"

Ci sono una miriade di altri articoli che abbiamo scritto di seguito che potrebbero interessarti.

Piano di manutenzione completo

Ora possiamo gestire tutti questi segmenti di codice separati con un'altra procedura che li chiamerà nell'ordine corretto, questo verrà inserito nel server live. Il codice viene eseguito come segue:

  • Calcola il tempo
  • Se è sera, reindicizzare il database
  • Esegui un backup del database (aggiungi dove ti serve)
  • Se è sera esegui il backup degli altri database (aggiungi dove ti serve)
  • Interrompi le connessioni e ripristina il database (aggiungi dove ti serve)

Questo codice è stato provato e testato ed è stato eseguito per periodi di mesi senza problemi.

Si noti che la riduzione dei file di registro e dei file di database dovrebbe essere ridotta al minimo, eseguendo un backup si svuota il registro (sebbene manterrà lo spazio utilizzato). Se è necessario quando dovrebbe essere eseguito al di fuori del normale orario di lavoro.

Codice SQL

Use [utilities]GOCREATE PROC [maint].MaintenancePlan AS BEGINDECLARE @BackupType VARCHAR(1)='E'IF DATEPART(HOUR,GETDATE()) BETWEEN 5 AND 21 BEGINSET @BackupType='D'END--EXEC ('USE TempDb; DBCC SHRINKFILE(templog, 0)');--This is only needed when space is at a premium!--Re-index LiveIF @BackupType='E' EXEC [maint].DatabaseReIndex 'dbname'--Create BackupBACKUP 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 NightIF @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= 10END--Restore Backups on other serverEXEC [server].[utilities].[maint].KillConnections 'dbname';EXEC [server].[utilities].[maint].RestoreDatabase_{dbname};--Restore Backups on other server for db_2 etcIF @BackupType='E' BEGIN  EXEC [server].[utilities].[maint].KillConnections 'dbname2';  EXEC [server].[utilities].[maint].RestoreDatabase_{dbname2};ENDENDGO

Database di backup

backup database screenshot

Per ottenere il codice per il backup del database, è più semplice eseguire lo script del codice da SSMS.

Segui la procedura che utilizzeresti normalmente, quindi seleziona "Azione script su nuova finestra di query".

Copia questo codice nel piano di manutenzione.

Reindicizzare il database

Successivamente possiamo aggiungere del codice per reindicizzare il nostro database, anche questa è una procedura memorizzata condivisa in cui devi solo selezionare il nome del sistema.

Per evitare la duplicazione del codice, puoi leggerlo sul link sottostante.

Altro: stored procedure per ricostruire o riorganizzare indici di database frammentati

Uccidi connessioni

Quando si esegue un ripristino sul database, è possibile avere solo una connessione ad esso (il processo che esegue il ripristino), quindi è possibile creare una procedura memorizzata per chiudere tutte le connessioni a parte il processo corrente. Abbiamo nuovamente creato un articolo separato per questo.

Altro: stored procedure per terminare tutte le connessioni al database selezionato

Ripristina database

Questo codice può anche essere creato tramite script da SQL Server Management Studio. Se aggiungi questo codice a una stored procedure, puoi chiamarlo da altri processi e persino da altri server molto facilmente. Abbiamo spostato questo in un articolo separato per coprire più opzioni.

Altro: Ripristina database da stored procedure

Autore

È stato utile?

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

Registered in England and Wales 08985867

Site Links

RSSLoginLink Cookie PolicyMappa del sito

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

Partnered With

Le impostazioni di questo sito sono impostate per consentire tutti i cookie. Questi possono essere modificati sulla nostra pagina politica e le impostazioni dei cookie. Continuando a utilizzare questo sito l'utente accetta l'utilizzo dei cookie.
Ousia Logo
Logout
Ousia CMS Loader