Benoit 的个人资料::MY-IT-SPACE.COM::照片日志列表更多 工具 帮助

日志


4月28日

VBscript pour sauvegarder une base SQL Server

Mots clés Technorati : ,
Voici un script pour sauvegarder une base de données sous SQL Server 2005.
 
  • Le nom de la base est Demo
  • Le nom de l'instance SQL est TEST
Sur le serveur SQL > Ouvrir notepad et copier le script suivant (sans les commentaires en rouge)
On Error Resume Next 

strComputer = "."   'Set objWMIService = GetObject("winmgmts:" _
'    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")   Dim sDBUser
Dim sDBPwd
Dim sDBServer
Dim sDBName   sDBUser = "sa" <- login de l'admin sql
sDBPwd = "password" <- mot de passe de l'admin sql
sDBServer = ".\TEST" <- nom de l'instance
sDBName = "Demo" <- nom de la base
backupPath = "C:\Sauvegarde\" <- chemin de la sauvegarde
  Set oSQLServer = CreateObject("SQLDMO.SQLServer")
Set oBackup = CreateObject("SQLDMO.Backup")   oSQLServer.LoginTimeout = 30
oSQLServer.LoginSecure = True <- connection SQL Server avec l'authentification Windows
'oSQLServer.Connect sDBServer
oSQLServer.Connect sDBServer, sDBUser, sDBPwd   oBackUp.Initialize = "TRUE" ' Means overwrite existing .bak file. 
oBackup.Database = sDBName
oBackup.Action = SQLDMOBackup_Database
oBackup.Files = backupPath & sDBName & ".bak"
oBackup.SQLBackup oSQLServer

oSQLServer.Close()
Sauvegarder le fichier avec une extension en .vbs (exemple : sauvegarde.vbs)
Planifiez la tâche pour s'exécuter avec un compte de service qui les droits de sauvegardes en local sur le serveur
Cliquer sur Start > Programs > Accessories > System Tools > Scheduled Task > Add Scheduled Task ...
Lancer une 1ere fois la sauvegarde planifiée pour vérifier que votre script fonctionne correctement de bout en bout
Note: Le lien pour le script est aussi disponible ici
2月5日

Activer l’option AWE pour la prise en charge de la mémoire au-delà de 4 Go de mémoire physique

Mots clés Technorati : ,

Dans Microsoft SQL Server 2005, vous pouvez utiliser l'API (AWE) Extension de mémoire dynamique pour permettre l'accès à la mémoire physique excédant les limites définies par la mémoire virtuelle.

Configurer PAE dans le boot.ini

Tout d’abord , l’option PAE (Physical Address Extension) permet aux systèmes 32 bits de dépasser les 4 Go  de mémoire . Il suffit de placer le commutateur /PAE dans le boot.ini

Cliquez sur Démarrer, puis sur Exécuter. Tapez sysdm.cpl, puis cliquez sur OK.

image

Sous l'onglet Avancé, cliquez sur Paramètres sous Démarrage et récupération.

Sous Démarrage du système, cliquez sur Modifier.

image

Exemple de fichier Boot.ini modifié

[boot loader]
redirect=UseBiosSettings
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /redirect /PAE /NoExecute=OptOut
 

Configurer la stratégie locale pour gérer AWE

Pour SQL Server sur les systèmes 32 bits, l'autorisation Verrouillage des pages en mémoire doit être activée avant la configuration d'AWE.( recommandé aussi pour les systèmes 64 bits )

Pour cela, ajouter le compte qui peut utiliser l'option Verrouillage des pages en mémoire à l'aide de la mmc gpedit.msc.

Aller dans :

Stratégie ordinateur local | configuration ordinateur | Paramètres Windows | Stratégies Locales | Attribution des droits utilisateurs

Cette autorisation est à  donner au compte qu'utilise SQL Server (le compte de service).

image image

Activer AWE

Taper en T-SQL

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO

Ou cocher l’option dans les Propriétés de l’instance SQL

 

Après le redémarrage de SQL Server, le message Address Windowing Extensions enabled doit apparaître dans le journal des erreurs de SQL Server

Ensuite, configurez la mémoire :

en T-SQL

sp_configure 'min server memory', 2048 <- 2Go de mémoire min
RECONFIGURE
GO
sp_configure 'max server memory', 6144 <- 6Go de mémoire max
RECONFIGURE
GO

ou directement avec l'interface SQL

10月15日

De bonnes astuces pour la maintenance de bases SQL

Rien d'extraordinaire dans ce post, voici juste un lien sur un article pour maintenir les bases de données SQL (en anglais)
Le lien technet est ici
8月30日

TSSQL backup restore

Mots clés Technorati : ,,

Voici un post sur les scripts de sauvegarde/restore Transac SQL de la base de test Microsoft "Northwind"

On sauvegarde la base actuelle avec ce script TSSQL

BACKUP DATABASE
[Northwind]
TO DISK = N'C:\Northwind.bak'
WITH
NOFORMAT,
NOINIT,
NAME = N'Northwind-Full Database Backup',
SKIP,
NOREWIND,
NOUNLOAD,
STATS = 10
GO

Une fois la sauvegarde effectuée, vous pouvez créer une base sur une nouvelle instance et restaurer le .bak avec la commande

RESTORE DATABASE
[Northwind]
FROM
DISK = N'C:\Northwind.bak'
WITH
FILE = 1 ,
MOVE N'Northwind'
TO N'C:\Program Files \Microsoft SQL Server 2005\MSSQL.1 \MSSQL\Data\northwnd.mdf',
MOVE N'Northwind_log'
TO N'C:\Program Files \Microsoft SQL Server 2005\MSSQL.1 \MSSQL\Data\northwnd.ldf',
NOUNLOAD,
REPLACE,
STATS = 10
GO

7月18日

Mirroring de bases de données

Mots clés Technorati : ,,
 
bonjour,
 
Je me suis trouvé un nouveau sujet sur la haute disponibilité pour les SGBD,même si ce n'est pas un sujet très neuf
L' objectif est de créer un miroir d'une base de données sans trop dépenser de temps et de ressources machines ...ce qui est maintenant possible avec MSSQL2005
 
Il faut au minimum utiliser une Edition Standard avec le SP1 pour avoir cette fonctionnalité (marche pas avec les versions express ou workgroup edition)
 
Le nombre de machines nécessaires : 1 serveur (DC DNS:contoso.com), 1 serveur win2003 principal (DEFAULT), 1 serveur Passif (MIRROR), 1 serveur de transition (WITNESS) possibilité d' installer la version express sur ce serveur (c' est toujours moins cher Sourire)
 
Dans mon exemple je simule les 3 serveurs SQL par trois instances sur le serveur principal (SQL2005FO\Default, SQL2005FO\Mirror, SQL2005FO\Witness)
 MaBase
Après avoir créé la base .mdf sur le serveur Principal (l' instance par défaut), je créer une base avec le même nom et les mêmes tailles de fichiers sur le serveur passif MIRROR
 
Je restore une sauvegarde complète de la base principale sur la 2eme instance en faisant attention de restaurer avec l' option NONRECOVERY.
 
 restorerestore option
 

Création de l' instance Miroir

Maintenant je démarre sur l' instance principale le "Mirroring" , en voici les principales étapes :
mirrormirrorstartmirrorwitnessmirrorwitnessinstancemirrorwitness2mirror3mirrorwitness3startservice
 
enfin on peut observer le résultat dans la Management studio et en utilisant Launch Database Monitoring
Mirroredsynchronized
 
Cette opération permet de faire du failover en quasi instantanée et en même temps elle apporte un complément de solution pour les infrastructures qui ont besoin de haute disponibilité
 
Note: il faudra à chaque fois refaire un miroir pour chaque nouvelle base et qu' il faut évidement surveiller l' espace disque qui double le stockage si vous travaillez avec plusieurs instances sur un seul serveur.
 
Ce post a été fait avec ce lien