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 :

T-SQL : Activé TCP/IP et désactivé les autres protocoles


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    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
    Par défaut T-SQL : Activé TCP/IP et désactivé les autres protocoles
    Bonjour,
    L'idée c'est d'écrire un script T-SQL pour configurer le protocole de connexion à SQL server 2005 ou 2008 (côté serveur).
    les différentes étapes que j'envisage :
    1 ) Désactiver les protocoles :
    - Mémoire partagée
    - Canaux nommés
    - VIA

    2) Activer le protocole TCP/IP

    3) Redémarrer le services SQL SERVER (le moteur)

    Voici ce que j'ai commencé par glané comme infos.
    Evidemment la fonction xp_regwrite n'est pas documenté ...!
    Quelqu'un s'est-il déjà penché sur la question ?
    Pour ne pas réinventer la roue
    Merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- 1. Désactivé Shared Memeroy (Memoire partagée)
     EXEC master..xp_regwrite
         @racine='HKEY_LOCAL_MACHINE',
         @EmplacementCle='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQL2K8INSTANCE2\MSSQLServer\SuperSocketNetLib\Sm\',
         @NomCle='Enabled',
         @Type='REG_DWORD',
         @Valeur= 0
    -- 2. Désactivé Name pipe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    EXEC master..xp_regwrite
         @racine='HKEY_LOCAL_MACHINE',
         @EmplacementCle='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQL2K8INSTANCE2\MSSQLServer\SuperSocketNetLib\Np\',
         @NomCle='Enabled',
         @Type='REG_DWORD',
         @Valeur= 0
    -- 3. Désactivé VIA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    EXEC master..xp_regwrite
         @racine='HKEY_LOCAL_MACHINE',
         @EmplacementCle='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQL2K8INSTANCE2\MSSQLServer\SuperSocketNetLib\Via\',
         @NomCle='Enabled',
         @Type='REG_DWORD',
         @Valeur= 0
    -- 4. Activé TCP/IP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    EXEC master..xp_regwrite
         @racine='HKEY_LOCAL_MACHINE',
         @EmplacementCle='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQL2K8INSTANCE2\MSSQLServer\SuperSocketNetLib\Tcp\',
         @NomCle='Enabled',
         @Type='REG_DWORD',
         @Valeur= 1
    -- 5. Redémarrage du service SQL
    -- je pense à un truc du genre mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    EXEC xp_cmdshell 'net stop "mssqlserver.exe"';
    GO
    EXEC xp_cmdshell 'net start "mssqlserver.exe"';
    Etienne ZINZINDOHOUE
    Billets-Articles

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Citation Envoyé par zinzineti Voir le message
    EXEC xp_cmdshell 'net stop "mssqlserver.exe"';
    GO
    EXEC xp_cmdshell 'net start "mssqlserver.exe"';
    C'est le nom du service qu'il faut passer à net start/stop, pas le nom du binaire.

    David B.

  3. #3
    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
    Bonjour,

    Pour ce genre de choses j'aime beaucoup utiliser les scripts powershell.
    J'utilise celui-ci lors d'une installation automatique de SQL Server (Je le mets au cas où mais je ferais un billet la dessus) :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #################################
    # @author = Mikedavem           #
    # @Description =                #
    # Activation du protocole TCPIP #
    # et désactiviation des canaux  #
    # nommés.                       #
    #################################
     
    $computername = "computer";
    $login = "login";
    $pwd = convertto-securestring "motdepasse" -asplaintext -force;
     
    try
    {
        # Définition du crédential
        $credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $login,$pwd -ErrorAction "silentlycontinue";
     
        # Protocol Canaux nommés à désactiver
        $protocol = Get-WmiObject -computername $computername -credential $credential -namespace "root\Microsoft\SqlServer\ComputerManagement" `
                                  -class ClientNetworkProtocol `
                                  -filter "ProtocolName='np'" `
                                  -ErrorAction "silentlycontinue";
        $protocol.SetDisable();
     
        # Protocol TCP à activer
        $protocol = Get-WmiObject -computername $computername -credential $credential -namespace "root\Microsoft\SqlServer\ComputerManagement" `
                                  -class ClientNetworkProtocol `
                                  -filter "ProtocolName='tcp'";
        $protocol.SetEnable();
     
        # Redémarrage service SQL
        $sqlservice = Get-WmiObject -computername $computername -credential $credential -namespace root\Microsoft\SqlServer\ComputerManagement `
                                    -class SqlService `
                                    -filter "ServiceName='MSSQLSERVER'" `
                                    -ErrorAction "silentlycontinue";
        $sqlservice.StopService();
        $sqlservice.StartService();
    }
    catch
    {
        "Une erreur est survenue lors de la mise à jour des protocoles :"; 
        "Détail de l'erreur :"
        $err = $Error[0];
        $err | Format-List *;
    }
    ++

  4. #4
    Membre Expert

    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
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Bonjour,
    Pour ce genre de choses j'aime beaucoup utiliser les scripts powershell.
    J'utilise celui-ci lors d'une installation automatique de SQL Server (Je le mets au cas où mais je ferais un billet la dessus) :
    Je vais tester le script powershell.
    Merci
    Etienne ZINZINDOHOUE
    Billets-Articles

  5. #5
    Membre Expert

    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
    Par défaut
    Citation Envoyé par dbaffaleuf Voir le message
    C'est le nom du service qu'il faut passer à net start/stop, pas le nom du binaire.

    David B.
    -- Pour Arrêter une instance par défaut ce code T-SQL marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC xp_cmdshell 'net stop mssqlserver /y';
    -- Et après il n'est plus possible via T-SQL de Starté le moteur !
    je pense que pour la partie STOP/START je vais demander à SQL d'exécuter
    un fichier .cmd qui contiendra les commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    --STOP
    net stop mssqlserver /y
    --START 
    net start mssqlserver /y
    Etienne ZINZINDOHOUE
    Billets-Articles

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Citation Envoyé par zinzineti Voir le message
    -- Pour Arrêter une instance par défaut ce code T-SQL marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC xp_cmdshell 'net stop mssqlserver /y';
    Dans le premier exemple je vois mssqlserver.exe, qui ne correspond à rien.

    David B.

  7. #7
    Membre Expert

    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
    Par défaut
    Citation Envoyé par dbaffaleuf Voir le message
    Dans le premier exemple je vois mssqlserver.exe, qui ne correspond à rien.
    David B.
    Oui tu as raison David, c'est une erreur de ma part.
    Je l'ai corrigé comme tu l'as suggéré
    J'ai remplacé mssqlserver.exe par mssqlserver
    Merci.
    Etienne ZINZINDOHOUE
    Billets-Articles

  8. #8
    Membre Expert

    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
    Par défaut
    Oups 2fois le même msg
    Etienne ZINZINDOHOUE
    Billets-Articles

Discussions similaires

  1. [MySQL] Données SQL dans un tableau pas comme les autres
    Par Jeoffrey54 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/06/2008, 11h32
  2. Désactiver les autres boutons radio
    Par miss_angel dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 21/02/2008, 06h48
  3. Comment activer/désactiver les effets de flou de DWM? (FAQ)
    Par zubrow dans le forum Windows Vista
    Réponses: 3
    Dernier message: 01/12/2007, 22h15
  4. Réponses: 16
    Dernier message: 04/02/2007, 20h54
  5. Réponses: 6
    Dernier message: 11/01/2005, 12h49

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