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 de commandes 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 pouvoir passer dans les noms de fichiers pour la base de données et le journal afin que je n'ai pas à coder "C:\dev\sample.mdf" et 'c:\dev\sample_log.ldf'.
Y a-t-il un moyen de faire cela? Je suis en cours d'exécution Microsoft SQL Server 2008 Express. Faites-moi savoir si vous avez besoin de plus d'informations.
Utilisez le commutateur -v pour passer dans des variables.
sqlcmd -v varMDF="C:\dev\SAMPLE.mdf" varLDF="C:\dev\SAMPLE_log.ldf"
Puis dans votre fichier de 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%)