Question

Est-il possible de passer des paramètres à un script SQL Server? J'ai un script qui crée une base de données. Il est appelé à partir d'un fichier batch en utilisant sqlcmd. Une partie de ce script SQL est la suivante:

CREATE DATABASE [SAMPLE] ON  PRIMARY 
( NAME = N'SAMPLE', FILENAME = N'c:\dev\SAMPLE.mdf' , SIZE = 23552KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'SAMPLE_log', FILENAME = N'c:\dev\SAMPLE_log.ldf' , SIZE = 29504KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

Je veux être en mesure de passer dans les noms de fichiers pour la base de données et le journal pour que je n'ai pas hardcode « C: \ dev \ SAMPLE.mdf » et « C: \ dev \ SAMPLE_log.ldf ».

Est-il possible de le faire? J'exécute Microsoft SQL Server 2008 Express. Faites-moi savoir si vous avez besoin de plus d'informations.

Était-ce utile?

La solution

Utilisez le commutateur -v pour passer dans les variables.

sqlcmd -v varMDF="C:\dev\SAMPLE.mdf" varLDF="C:\dev\SAMPLE_log.ldf"

Ensuite, dans votre fichier script

CREATE DATABASE [SAMPLE] ON  PRIMARY 
( NAME = N'SAMPLE', FILENAME = N'$(varMDF)' , SIZE = 23552KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'SAMPLE_log', FILENAME = N'$(varLDF)' , SIZE = 29504KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top