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 :

[MS SQLS2005] [script]


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de vincent magnin
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 209
    Par défaut [MS SQLS2005] [script]
    Bonjour, je vous fait part d'un problème que je rencontre actuellement sur mon serveur SQL 2005.
    Je dois en effet mettre en place une architecture réseau fonctionnant sur le logiciel d'infogérance/télédistribution Vision64.

    Ce logiciel demande donc l'accès à une base de données, et au préalable cette base doit être créée sur notre SGBD favori, pour ce faire un script est donné.

    Or, le problème est que Vision64 n'est pas des plus contemporains et que le script fourni par l'éditeur est fait pour SQL Server 2000. Donc lorque je lance le batch il me dit "isql" n'est pas reconnu en tant que commande interne. Après m'être quelque peu renseigné (je n'y connait absolument rien en scripting SQL Server :s) j'ai appris que "sqlcmd" était devenu norme.

    J'aimerais donc savoir s'il était possible de traduire ce script pour SQL server 2000, afin qu'il soit utilisable sur SQL server 2005

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    @echo off
    echo Installation of VISION64 tables
    echo.
     
    if (%5)==() goto Param_Error
     
    set HOST=%1
    set SYST_PASSWD=%2
    set DB_NAME=%3
    set DB_USER=vision64
    set DB_PASSWD=vision64
    set DB_COLLATE=%4
    set DB_PATH=%5
     
    if not "%6" == "" set DB_USER=%6
    if not "%7" == "" set DB_PASSWD=%7
     
    set SQLQUERY="IF EXISTS(SELECT name FROM sysdatabases WHERE name = '%DB_NAME%')
    set SQLQUERY=%SQLQUERY% BEGIN
    set SQLQUERY=%SQLQUERY%   RAISERROR ('%DB_NAME% data base already exists.', 16, 1)
    set SQLQUERY=%SQLQUERY% END
    set SQLQUERY=%SQLQUERY% ELSE IF EXISTS(SELECT name FROM syslogins WHERE name = '%DB_USER%')
    set SQLQUERY=%SQLQUERY% BEGIN
    set SQLQUERY=%SQLQUERY%   RAISERROR ('%DB_USER% login already exists.', 16, 1)
    set SQLQUERY=%SQLQUERY% END"
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n -b -Q %SQLQUERY% -o db_or_user_presence.log
    if ERRORLEVEL 1 goto Creation_Error
     
    :Step1
    echo.
    echo Creation of '%DB_NAME%' database. Please wait...
     
     
     
     
    set SQLQUERY="CREATE DATABASE %DB_NAME% ON PRIMARY
    set SQLQUERY=%SQLQUERY% ( NAME = V64_DB, FILENAME = '%DB_PATH%\V64_db.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 16 ),
    set SQLQUERY=%SQLQUERY% FILEGROUP V64_DATA ( NAME = V64_data1, FILENAME = '%DB_PATH%\V64_data1.mdf', SIZE = 128, MAXSIZE = UNLIMITED, FILEGROWTH = 32 ), ( NAME = V64_data2, FILENAME = '%DB_PATH%\V64_data2.mdf', SIZE = 128, MAXSIZE = UNLIMITED, FILEGROWTH = 32 ), 
    set SQLQUERY=%SQLQUERY% FILEGROUP V64_INDEX ( NAME = V64_index1, FILENAME = '%DB_PATH%\V64_index1.mdf', SIZE = 64, MAXSIZE = UNLIMITED, FILEGROWTH = 32 ), ( NAME = V64_index2, FILENAME = '%DB_PATH%\V64_index2.mdf', SIZE = 64, MAXSIZE = UNLIMITED, FILEGROWTH = 32 ),
    set SQLQUERY=%SQLQUERY% FILEGROUP V64_IMAGE_TREE ( NAME = V64_image_tree1, FILENAME = '%DB_PATH%\V64_image_tree1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 64 )
    set SQLQUERY=%SQLQUERY% COLLATE %DB_COLLATE%"
     
     
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n  -Q %SQLQUERY%  -o create_db_part1.log
     
     
    set SQLQUERY="ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_ATTR 
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_attr1, FILENAME = '%DB_PATH%\V64_image_attr1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 32) TO FILEGROUP V64_IMAGE_ATTR
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_DMI
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_dmi1, FILENAME = '%DB_PATH%\V64_image_dmi1.mdf', SIZE = 64, MAXSIZE = UNLIMITED, FILEGROWTH = 16 ) TO FILEGROUP V64_IMAGE_DMI
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_DIAG
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_diag1, FILENAME = '%DB_PATH%\V64_image_diag1.mdf', SIZE = 32, MAXSIZE = UNLIMITED, FILEGROWTH = 8 ) TO FILEGROUP V64_IMAGE_DIAG"
     
     
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n  -Q %SQLQUERY%  -o create_db_part2.log
     
     
    set SQLQUERY="ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_SOFT
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_soft1, FILENAME = '%DB_PATH%\V64_image_soft1.mdf', SIZE = 2, MAXSIZE = UNLIMITED, FILEGROWTH = 1 ) TO FILEGROUP V64_IMAGE_SOFT
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_SNMP
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_snmp1, FILENAME = '%DB_PATH%\V64_image_snmp1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 32 ) TO FILEGROUP V64_IMAGE_SNMP
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_CONF
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_conf1, FILENAME = '%DB_PATH%\V64_image_conf1.mdf', SIZE = 2, MAXSIZE = UNLIMITED, FILEGROWTH = 1 ) TO FILEGROUP V64_IMAGE_CONF"
     
     
     
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n  -Q %SQLQUERY%  -o create_db_part3.log
     
     
    set SQLQUERY="ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_LDAP
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_ldap1, FILENAME = '%DB_PATH%\V64_image_ldap1.mdf', SIZE = 2, MAXSIZE = UNLIMITED, FILEGROWTH = 1 ) TO FILEGROUP V64_IMAGE_LDAP
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_LOG
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_log1, FILENAME = '%DB_PATH%\V64_image_log1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 4 ) TO FILEGROUP V64_IMAGE_LOG
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_SCRIPT
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_script1, FILENAME = '%DB_PATH%\V64_image_script1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 4 ) TO FILEGROUP V64_IMAGE_SCRIPT"
     
     
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n  -Q %SQLQUERY%  -o create_db_part4.log
     
     
    set SQLQUERY="ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_TALLY
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_tally1, FILENAME = '%DB_PATH%\V64_image_tally1.mdf', SIZE = 16, MAXSIZE = UNLIMITED, FILEGROWTH = 4 ) TO FILEGROUP V64_IMAGE_TALLY
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE_SYSF
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image_sysf1, FILENAME = '%DB_PATH%\V64_image_sysf1.mdf', SIZE = 2, MAXSIZE = UNLIMITED, FILEGROWTH = 1 ) TO FILEGROUP V64_IMAGE_SYSF
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILEGROUP V64_IMAGE
    set SQLQUERY=%SQLQUERY% ALTER DATABASE %DB_NAME% ADD FILE ( NAME = V64_image1, FILENAME = '%DB_PATH%\V64_image1.mdf', SIZE = 64, MAXSIZE = UNLIMITED, FILEGROWTH = 8 ) TO FILEGROUP V64_IMAGE"
     
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d master -n  -Q %SQLQUERY%  -o create_db_part5.log
     
     
    :Step2
    echo.
    echo Creation of '%DB_USER%' login. Please wait...
     
    set SQLQUERY="EXECUTE sp_addlogin '%DB_USER%','%DB_PASSWD%', @defdb = %DB_NAME%
    set SQLQUERY=%SQLQUERY% EXECUTE sp_grantdbaccess '%DB_USER%'
    set SQLQUERY=%SQLQUERY% EXECUTE sp_addrolemember 'db_owner','%DB_USER%'"
    isql -U sa -P %SYST_PASSWD% -S %HOST% -d %DB_NAME% -n -Q %SQLQUERY% -o user_creation.log
     
     
    :Step3
    echo.
    echo Creation of '%DB_NAME%' database tables. Please wait...
     
    isql -U %DB_USER% -P %DB_PASSWD% -S %HOST% -n -i schema_sqlserver.sql -o schema_sqlserver.log
    goto Done
     
    :Creation_Error
    echo '%DB_NAME%' database creation failed. See occured errors in the db_or_user_presence.log file...
    echo.
    goto Done
     
    :Param_Error
    echo Error, the following parameters are missing:
    if "%1" == "" @echo [PARAMETER 1]=[Sql Server Hostname (or IP address)]
    if "%2" == "" @echo [PARAMETER 2]=[System Password]
    if "%3" == "" @echo [PARAMETER 3]=[Data Base Name]
    if "%6" == "" @echo [PARAMETER 6]=[Data Base Collation Type]
    if "%6" == "" @echo [PARAMETER 6]=[Groupfile path]
    if "%4" == "" @echo [PARAMETER 4]=[Connection name]
    if "%5" == "" @echo [PARAMETER 5]=[Connection Password]
    echo.
     
    set USER_ARGS=
    :Loop
    if (%1)==() goto Parsed
    set USER_ARGS=%USER_ARGS% %1
    shift
    goto Loop
    :Parsed
    echo Read parameters : %USER_ARGS%
    echo.
    goto Done
     
    :Done
    pause
    exit

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    En remplaçant isql par sqlcmd, cela devrait passer, les paramètres sont très semblables.

  3. #3
    Membre expérimenté
    Avatar de vincent magnin
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 209
    Par défaut
    Merci bien, ça a parfaitement fonctionné

    Un peu déçu de ne pas en avoir eu l'idée tout seul, m'enfin merci encore
    Note : Le paramètre "-n" ne fonctionne plus avec sqlcmd

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

Discussions similaires

  1. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  2. Script et XMLmodule
    Par Ph. B. dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/01/2003, 16h10
  3. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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