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

MS SQL Server Discussion :

Job-Powershell pour SharePoint


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 69
    Par défaut Job-Powershell pour SharePoint
    Bonjour,

    je cherche actuellement à écrire un script powershell qui exécute une requête SQL sur un serveur SQL-Server pour faire le backup des fichiers de log d'une ferme SharePoint.

    Je vous mets en copie le script complet :

    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
    C:\Program` Files\Common` Files\Microsoft` Shared\Web` Server` Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 2>$null
     
    Get-SPDatabase | foreach {
        $cmd1 = "DECLARE @time varchar(2)
    	        DECLARE @name varchar(256)
    	        DECLARE @dbname varchar(256)
     
    	        SET @dbname = '"
        $cmd2 = $_.name
        $cmd3 ="'
    	        SET @time = replace(convert(varchar, getdate(), 108), ':', '.')
    	        SET @name = 'E:\Backup\H'+@time+'_'+@dbname+'_log'
     
    	        BACKUP LOG @dbname
    	        TO DISK = @name
        "
        sqlcmd -s localhost -Q "$cmd1$cmd2$cmd3"
    }
    Au début je n'avais que sqlcmd -s localhost -Q "la requête" et faisait '$($_.name)' dans la requête (au niveau de cmd2). Ce qui marchait bien en ISE et invite de commande, mais retournait une erreur de nom sur SQL-Server.

    Le script tourne très bien sur PS ISE, tout aussi bien sur PS.
    MAIS, quand il tourne en job sur SQL-Server, il me dit que Get-SPDatabase n'est pas reconnu...

    Et j'avoue ne pas du tout comprendre pourquoi alors que le script tourne très bien sur un invite PS standard.

  2. #2
    Expert confirmé
    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 : 46
    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
    Par défaut
    Ce qui est normal puisque lorsque vous exécutez du powershell avec l'agent SQL c'est l'environnement powershell de SQL Server qui est chargé (SQLPS.exe).

    Votre cmdlet Get-SPDatabase n'existe pas dans le contexte SQL Server. Il faut charger le snapin correspondant au préalable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add-PSSnapin Microsoft.SharePoint.PowerShell
    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 69
    Par défaut
    Ce qu'est censé faire la première ligne justement !

  4. #4
    Expert confirmé
    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 : 46
    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
    Par défaut
    Vous pouvez le vérifier en lançant une fenêtre de commande powershell depuis SQL Server management studio, lancer votre première ligne et voir si le cmdlet Get-SPDatabases fonctionne.

    ++

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 69
    Par défaut
    Le terme << Add-PSSnapin >> n'est pas reconnu.


    Je vais devoir passer par un curseur en SQL on dirait.

  6. #6
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Vous pouvez faire votre foreach sur le resultat d'une commande invoke-sqlcmd qui retourne le nom des bases a backuper.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WebPart pour SharePoint 2003
    Par Belfils dans le forum SharePoint
    Réponses: 0
    Dernier message: 20/02/2008, 11h43
  2. Création de webparts pour Sharepoint
    Par placebomuse dans le forum SharePoint
    Réponses: 10
    Dernier message: 15/06/2007, 16h04
  3. Réponses: 3
    Dernier message: 20/03/2007, 22h46

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