IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Quel compte pour sauvegarde des bases sql vers le réseau ?


Sujet :

Administration SQL Server

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 1
    Points
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlcmd -i "sauvegarde-toutes-bases.sql" -o D:\Sql\backups\log.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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/

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    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
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    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.

    ++

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    É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 ?

  5. #5
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par croute Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    É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

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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:
    É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 : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlcmd -U INFO\sauvegardes -i "sauvegarde-toutes-bases.sql"

  7. #7
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par croute Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlcmd -U INFO\sauvegardes -i "sauvegarde-toutes-bases.sql"
    avec l'option -U il faut préciser le password (-P)
    Etienne ZINZINDOHOUE
    Billets-Articles

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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".

  9. #9
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    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

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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 ?

Discussions similaires

  1. Comparatifs pour choix des bases SQL
    Par cjacquel dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 21/04/2015, 16h39
  2. Quel Cloud pour sauvegarder mes base de données ?
    Par JauB dans le forum Cloud Computing
    Réponses: 1
    Dernier message: 18/02/2014, 19h39
  3. Réponses: 4
    Dernier message: 28/05/2010, 18h10
  4. importer des données d'une base SQL vers word?
    Par Jayceblaster dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/10/2007, 09h43
  5. Outil pour comparer des bases SQL Server 2000
    Par plutonium719 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/08/2006, 07h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo