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 Server 2008 Expressを実行しています。さらに情報が必要な場合はお知らせください。
-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%)