La part més important d’un pla de manteniment de SQL Server és la còpia de seguretat de les bases de dades regularment. Per fer una còpia de seguretat d’una base de dades, no podeu simplement copiar els fitxers MDF i LDF respectius de la base de dades ja que SQL Server té un bloqueig en aquests. En el seu lloc, cal crear un veritable fitxer de còpia de seguretat mitjançant SQL Server.

Tot i que es pot fer desenvolupant un pla de manteniment dins de SQL Management Studio, les edicions lliures Express de SQL Server no ofereixen aquesta interfície. Per evitar això, podeu fer una còpia de seguretat de les vostres bases de dades fàcilment executant l’ordre següent mentre inicieu la sessió com a administrador de Windows:

SqlCmd -E -S Server_Name –Q "DATABASE DE RECUPERACIÓ [Name_of_Database] TO DISK = 'X: PathToBackupLocation [Name_of_Database] .bak'"

Els exemples a continuació us ajudaran.

Instància predeterminada del SQL Server:

SqlCmd -E -S MyServer –Q “DATABASE DE RESULTATS [MyDB] PER DISK = 'D: BackupsMyDB.bak'"

Instància anomenada SQL Server:

SqlCmd -E -S MyServerMyInstance –Q “DATABASE DE RECUPERACIÓ [MyDB] TO DISK = 'D: BackupsMyDB.bak'”

Les opcions anteriors creen una còpia de seguretat totalment restaurativa de "MyDB" al fitxer "D: BackupsMyDB.bak" que es pot utilitzar per a la recuperació de desastres. Per descomptat, podeu canviar la ubicació i el fitxer de còpia de seguretat per tot el que necessiteu, però assegureu-vos que especifiqueu una ubicació de carpeta que existeix a la màquina local. Aquest fitxer de còpia de seguretat es pot copiar a una unitat de cinta o a una altra ubicació de còpia de seguretat externa.

Una pregunta habitual és: "Es pot crear un fitxer de còpia de seguretat en un disc o en una ubicació UNC mapejats?" i la resposta ràpida és no. El motiu és que el servei Windows Server de SQL s'executa com a compte d'usuari que només té accés a la màquina local. Podeu canviar el compte en què funciona el servei, però està molt desanimat per motius de seguretat.

Restauració d’una còpia de seguretat de base de dades des de la línia de comandaments

Per restaurar una base de dades des d’un fitxer de còpia de seguretat, només cal que utilitzeu la comanda:

SqlCmd -E -S Server_Name –Q "RESTORE DATABASE [Name_of_Database] FR DISK = 'X: PathToBackupFile [File_Name] .bak'"

Per exemple:

SqlCmd -E -S MyServer –Q "RESTAURAR LA base de dades [MyDB] DEL DISC = 'D: BackupsMyDB.bak'"

L'ordre anterior restablirà una còpia de seguretat de "MyDB" de les dades emmagatzemades al fitxer de còpia de seguretat "D: BackupsMyDB.bak". Es perdran tots els canvis realitzats a MyDB des que es va crear el fitxer de còpia de seguretat.

Una cosa important que cal recordar quan s’utilitza l’ordre anterior és que es pretén utilitzar en el mateix SQL Server en què es va crear el fitxer de còpia de seguretat respectiu. Els fitxers de còpia de seguretat SQL emmagatzemen informació "darrere de les escoles" que controla on i com es copien els fitxers de dades del fitxer de còpia de seguretat. Si restaueu una còpia de seguretat des d'un servidor SQL diferent, és possible que les ubicacions de la ruta del fitxer de còpia de seguretat no coincideixin amb el servidor al qual esteu restablint i resultarà un error. Tot i que això es pot solucionar, és molt més fàcil restaurar les còpies de seguretat creades en un altre servidor SQL mitjançant l'eina SQL Management Studio.

Nota: les ordres anteriors funcionaran amb SQL 2005 i versions posteriors (qualsevol edició). Per SQL 2000 i anteriors, substituïu "SqlCmd" per "oSql".