Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 15h13   #1
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut Quel compte pour sauvegarde des bases sql vers le réseau ?

Bonjour,

Pour sauvegarder quotidiennement mes bases, j'ai mis en place une tâche planifiée, un batch pour appeler le script sql de sauvegarde:
Code :
sqlcmd -i "sauvegarde-toutes-bases.sql" -o D:\Sql\backups\log.txt
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name 
 
SET @path = 'D:\Sql\backups\'
 
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
 
DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('model','tempdb')  
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  
 
       FETCH NEXT FROM db_cursor INTO @name   
END   
 
CLOSE db_cursor   
DEALLOCATE db_cursor
Ca fonctionne bien mais je tiens à enregistrer les sauvegardes sur un emplacement réseau, sans devoir faire une copie derrière avec un autre outil.

J'ai tenté, évidemment ça ne fonctionne pas à cause du compte utilisé pour les essais, l'agent sql est lancé sous le compte "service reseau", et dans sql management studio l'utilisateur connecté est "dbo".

Je débute complètement dans l'administration d'SQL Server, je ne cherche pas du travail mâché mais plutôt la "bonne pratique" à utiliser pour faire ce que je veux proprement

Au niveau du domaine je vais créer un compte ayant les droits pour écrire sur l'emplacement réseau où je veux sauvegarder, mais que dois-je paramétrer dans SQL Server ?
Si vous pouviez m'indiquer les grandes étapes, que je commence à chercher dans ce sens, ça serait parfait

ps: SQL Server 2008 Standard sp1
ps bis: très bien la faq !!! ( http://sqlserver.developpez.com/faq/ )

edit: je m'en vais lire ce tutoriel, j'y trouverai certainement des réponses: http://sqlpro.developpez.com/article/authentification/
croute est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 18h31   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Il faut que le compte système du service SQL Server que vous utilisé ait les droits d'écriture vers la ressources externe.
Si vous planifiez cette tâche dans l'agent SQL, c'est le compte de service de l'agent SQL Server qui doit être ouvert.
Si vous faites ces sauvegardes directement dans SQL Server sans passer par l'agent, alors c'est le compte de service de l'agent SQL Server.

Une bonne pratique est de créer un compte de service spécifique à chaque service SQL Server.

Pour ma part, je créé les comptes de services suivant au moment de l'installation du serveur :
SQLserver (pour le service SQL Server)
SQLagent (pour l'agent SQL)
SQLis (pour SSIS)
SQLas (pour SSAS)
etc.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 19h43   #3
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 724
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 724
Points : 6 848
Points : 6 848
Vous pouvez également utiliser un compte de domaine spécifique qui sera propriétaire du job, qui aura les droits nécessaires pour l'écriture de vos sauvegardes sur votre partage et les privilèges nécessaire sur SQL Server pour utiliser la commande BACKUP.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 23h28   #4
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Bonsoir
J'avais vu vos réponses, je viens de prendre le temps de faire des essais.

J'ai crée dans SQL Server un mappage de compte Windows avec:
Code :
CREATE LOGIN DOMAINE\utilisateur FROM WINDOWS;
Je suis allé ensuite dans les propriété de la connexion, pour toutes mes bases j'ai coché le mappage et l'appartenance au rôle "db_owner".

J'ai fais pas mal d'essais, toujours un échec de connexion, puis j'ai fini par lire le journal d'évènement, un peu plus explicite:
Code :
Échec de l'ouverture de session de l'utilisateur*'INFO\sauvegardes'. Raison*: échec d'une tentative de connexion à l'aide de l'authentification SQL. Le serveur est configuré pour l'authentification Windows uniquement. [CLIENT*: <LOCAL machine>]
Du coup je me demande si je ne me planterai pas dans la manière de lancer ma commande
Une idée ? Une piste vers laquelle chercher ?
croute est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 16h30   #5
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
Citation:
Envoyé par croute Voir le message
Code :
Échec de l'ouverture de session de l'utilisateur*'INFO\sauvegardes'. Raison*: échec d'une tentative de connexion à l'aide de l'authentification SQL. Le serveur est configuré pour l'authentification Windows uniquement. [CLIENT*: <LOCAL machine>]
Pour paramétrer le mode d'authentification SQL Server et Windows :

Clique-droit sur l'instance > Propriétés >Sécutité

et là tu coche Mode d'authentification SQL Server et Windows
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 21h13   #6
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par zinzineti Voir le message
Pour paramétrer le mode d'authentification SQL Server et Windows :

Clique-droit sur l'instance > Propriétés >Sécutité

et là tu coche Mode d'authentification SQL Server et Windows

C'est fait.
Ca avance, j'ai une autre erreur:
Citation:
Échec de l'ouverture de session de l'utilisateur*'INFO\sauvegardes'. Raison*: tentative d'utilisation d'un nom de compte NT avec l'authentification SQL Server. [CLIENT*: <local machine>]
Actuellement je teste avec cette ligne de commande, je pense que je fais erreur, peut-être que le paramètre -U n'est pas le bon:
Code :
sqlcmd -U INFO\sauvegardes -i "sauvegarde-toutes-bases.sql"
croute est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 21h38   #7
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
Citation:
Envoyé par croute Voir le message
Code :
sqlcmd -U INFO\sauvegardes -i "sauvegarde-toutes-bases.sql"
avec l'option -U il faut préciser le password (-P)
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 21h41   #8
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Pas forcément, si on l'omets le password est demandé de manière intéractive.

De ce que je comprends, -U/-P ne sert qu'à l'authentification SQL, pour l'authentification Windows c'est -E, sauf que j'ai l'impression qu'on ne peut utiliser que le compte "courant".
croute est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 21h48   #9
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
est ce que tu arrives à te connecter à SSMS avec ton compte SQL Server ( celui que tu donnes avec les options -U -P ) ?

si oui est ce que tu arrives à exécuter directement dans ssms le contenu
du fichier sauvegarde-toutes-bases.sql en utilisant l'authentification SQL Server ?
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2011, 23h15   #10
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par zinzineti Voir le message
est ce que tu arrives à te connecter à SSMS avec ton compte SQL Server ( celui que tu donnes avec les options -U -P ) ?
Avec -U -P je faisais erreur en entrant un compte windows (mappage crée dans sql server), apparemment ça ne peut fonctionner qu'avec un compte purement SQL (PAS un mappage de compte windows), donc pour l'instant je n'ai pas essayé d'ouvrir SSMS avec un tel compte.

Citation:
Envoyé par zinzineti Voir le message
si oui est ce que tu arrives à exécuter directement dans ssms le contenu
du fichier sauvegarde-toutes-bases.sql en utilisant l'authentification SQL Server ?
Je peux lancer mon fichier .sql, mais tant que le service sql server tourne sur le compte "service reseau", il ne pourra pas avoir accès à l'emplacement réseau où je veux stocker les sauvegardes, non ?
croute est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h07.


 
 
 
 
Partenaires

Hébergement Web