SelectEtoile : Base de connaissance SGBD

Posts Tagged 'online'

Utilisation de Mount / Umount sous SYBASE ASE

MOUNT / UNMOUNT :

 

ATTENTION : la commande "unmount" efface les entrées de la base concernée et de ses devices dans le dataserver source !

C'est une méthode alternative pour copier / déplacer / migrer une base. Pratique et rapide.

0) vérifier la taille des pages des ASE et la compatibilité des OS.

1) on crée une base test_db dans le serveur source.

2) on démonte la base en indiquant le manifest_file :
RE-ATTENTION : j'insiste sur le fait que cela supprime toutes les informations du dataserver actuel !
SQL>unmount database test_db to "/chemin/vers/testdb_manifestFile"

2 bis) mettre la base en "quiesce" en générant le fichier "manifest" (cf : QUIESCE)

3) on copie les fichiers de device et le manifeste vers leur nouveau répertoire sur la destination.

4)remonter la base en indiquant le changement de chemin :
SQL>mount database all from "/chemin/vers/test_db_manifest.file"
using '/nouveau/chemin/vers/devices/test_data1' = 'test_data1',
'/nouveau/chemin/vers/devices/test_log1' = 'test_log1'

Note : pour retrouver les informations contenues dans le manifest file :
SQL> mount database all from '/nouveau"/chemin/vers/testdb_manifestFile" with listonly
... voir en shell : strings test_db_manifest.file

5) Remettre la base en ligne (avec migration automatique si besoin) :
SQL> online database test_db

Et voilà ! La base est disponible, avec ses devices.

Sauvegarde / Restauration SQL-Server

Procédure de dump / load database sous SQL-Server

 

Exemple : rechargement de msbase sur mabase_resto

sp_helpdb mabase : Visualisation de la structure de mabase

 

Sauvegarde :

backup database mabase to disk='dirname\mabase.sav'

RESTORE DATABASE [MABASE] FROM  DISK = N'dirname\MABASE.BAK' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

 

Restauration :

RESTORE DATABASE mabase_resto FROM DISK='dirname\mabase.sav'

WITH MOVE 'mabase_resto_Data' TO 'SQLServerDir\Data\msbase_resto_1.MDF' ,

MOVE 'msbase_resto_Log' TO 'SQLServerDir\Log\msbase_resto_1.LDF'

 

RESTORE LOG [MABASE] FROM  DISK = N'dirname\MABASE.TRN' WITH  FILE = 1,  NOUNLOAD,  STATS = 10
GO 

 

Remapping des users :

EXEC sp_change_users_login 'Report' : visualisation des users non mappés avec un login

EXEC sp_change_users_login 'Auto_fix', 'bbuser' : mapping d'un user à un login automatique

 

Restaurations spécifiques :

Restauration base avec un problème sur les données :

A utiliser avec grande précaution. En effet, des données peuvent être perdues !!!

USE [master]
GO
ALTER DATABASE
[MyDatabase] SET EMERGENCY
GO
ALTER DATABASE
[MyDatabase] SET SINGLE_USER
GO
DBCC
CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE
[MyDatabase] SET MULTI_USER
GO
ALTER DATABASE
[MyDatabase] SET ONLINE
GO

 

Restauration sans fichier de log (.ldf) :

 
USE [master]
GO
CREATE DATABASE [Test] ON FILENAME = N'G:\MSSQL\Data\Test.mdf')
FOR ATTACH_REBUILD_LOG
GO
 
sp_attach_single_file_db @dbname= 'test', @physname= 'G:\MSSQL\Data\Test.mdf'