37

SQL Serverスクリプトにパラメーターを渡すことは可能ですか?データベースを作成するスクリプトがあります。sqlcmdを使用してバッチファイルから呼び出されます。そのSQLスクリプトの一部は次のとおりです。

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%)

'C:\ dev \ SAMPLE.mdf'と'C:\ dev \ SAMPLE_log.ldf'をハードコーディングする必要がないように、データベースとログのファイル名を渡せるようにしたい。

これを行う方法はありますか?Microsoft SQL Server2008Expressを実行しています。さらに情報が必要な場合はお知らせください。

4

1 に答える 1

50

-vスイッチを使用して、変数を渡します。

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

次に、スクリプトファイルで

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%)
于 2010-09-28T15:28:45.590 に答える