Un team multinazionale con oltre 20 anni di esperienza specializzato in servizi Web, Database, Cloud e software per la gestione aziendale su misura
  • 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

7Compila il backup del database

Codice SQL per abilitare xp_cmdshell e quindi eseguire un backup del database tramite la riga di comando 7Zip.

Attivatore di contesto per il controllo dei dati

SQL Server 2008, controllo dei dati semplice: utilizzo di un trigger e di un contesto per tracciare gli aggiornamenti in una tabella SQL

Completamente Rimozione di utenti da SQL Server

Rimuovere completamente gli utenti da SQL Server senza lasciare dati orfani

Controllo e sincronizzazione dei dati nelle tabelle tra database

Controllo e sincronizzazione di tabelle in diversi database, con diversa struttura dei dati tramite un trigger

Ricerca di testo nelle procedure e nelle funzioni memorizzate

Ricerca di testo in Stored Procedures e funzioni nei server SQL e si ottiene così i numeri di righe presenti in ogni riga.

Ricostruire o riorganizzare gli indici frammentati

Una stored procedure riutilizzabile che puoi chiamare per reindicizzare qualsiasi database inserendo il nome del database.

Ripristina il database da stored procedure

Creare una stored procedure centralizzata, generica e riutilizzabile utilizzando uno script di SQL dinamico in grado di ripristinare i database utilizzando una serie di parametri come parte di un piano di manutenzione più ampio

SQL Server Disk Space e Database Avvisi Size

Creazione di una stored procedure che invierà lo spazio su disco e gli avvisi di database tramite posta elettronica

Uccidi tutti i collegamenti al database selezionato

Stored procedure SQL per terminare tutte le connessioni al database o al server selezionato ad eccezione dello stored procedure eseguito.

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 ContattaciCookie 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