none
Powershell créer une base de donnée et selectionner le LUN RRS feed

  • Question

  • Bonjour,

    j'ai un cluster SQL  avec pluseurs LUNS et 2 instances, et j'aimerai pouvoir automatiser la création de bases de données.

    Je me suis orienté vers un script powershell mais je ne trouve pas comment créer une base de donnée en pouvent selectionner le LUN sur lequel la base sera placée. Pour l'instance aucun soucis.

    Auriez vous des informations ou un tutoriel?

    (ps : l'objectif final est de créer une base de donnée pour une site collection SharePoint 2010)

    Cordialement

    than

    • Déplacé Ciprian Duduiala jeudi 16 février 2012 10:13 (Origine :SQL Server pour les développeurs)
    jeudi 16 février 2012 09:29

Réponses

Toutes les réponses

  • Bonjour,

    J'utilise ceci :

    function Check-CreateDatabase ($ServerName, $db)
    	{
    		Write-Host "INFO: Creating table Name:" $db
    	
    		&{#Try
    			$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
    			$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
    			$SqlConnection.ConnectionString = "Server=$ServerName;Database=master;Integrated Security=True;"
    			$SqlConnection.Open()
    			Write-Host "INFO: Connection successfully established :"  $SqlConnection.State
    			$SqlCmd.CommandText = "CREATE DATABASE [$db];"
    			$SqlCmd.Connection = $SqlConnection
    			$result = $SqlCmd.Executenonquery()
    			$SqlConnection.Close()
    			#throw (New-Object System.Data.SqlClient.SqlException)
    			
    			Write-Host -ForegroundColor green "SUCCESS: The database $db has been created successfully." # you can return if you don't have a "finally"
    		}
    		
    		### CATCH NullReference and IndexOutOfRange, etc
    		trap [System.Data.SqlClient.SqlException] 
    		{
    			Write-Host -ForegroundColor yellow "WARNING: Data access failed because $_"
    			Write-Host -ForegroundColor yellow "WARNING: Connection with the SQL server has not be established, state:" $SqlConnection.State
    			continue # So that the "Finally" stuff gets executed
    		}
    	}
    
    Check-CreateDatabase "Server\instance" "testdb"

    cordialement,


    ++ T

    vendredi 17 février 2012 14:24
  • Bonjour,

    je ne vois pas dans votre code ou sélectionner le LUN.

    lundi 20 février 2012 10:16
  • Bonjour,

    dans le code précédent, Il y a en effet uniquement la connection vers l'instance.

    Votre besoin ce trouve probablement dans la création ou modification des Filegroups, pour la manière de faire je vous invite à lire ce blog http://sqlblog.com/blogs/ben_miller/archive/2011/02/14/powershell-smo-and-database-files.aspx ; Il décrit comment changer le chemin des fichiers, vous n'avez plus qu'à spécifié le chemin vers la LUN désirée.

    En espérant vous avoir éclairé.

    cordialement,

    T


    ++ T

    lundi 20 février 2012 12:48
  • Merci beaucoup pour votre réponse,

    j'étudie les possibilités de coupler ça à mon script de création de sites et je vous tiens au courant.

    Cordialement

    than

    lundi 20 février 2012 13:43