如果数据库不存在,则尝试从命令行启动数据库

Trying to spin up a database from the command line if it doesn't exist

我正在尝试从命令行输入变量名并创建一个数据库(如果它不存在)。我的命令行如下:

sqlcmd -S localhost -i 00_SpinUp.sql -v DBName = TEST -o Script00.txt -b

其中00_SpinUp.sql如下:

DECLARE @DBNAME VARCHAR(MAX);
SET NOCOUNT ON
GO
IF DB_ID('$(DBNAME)') IS NULL
BEGIN
    CREATE DATABASE @DBNAME
END

但我遇到语法错误。我做错了什么?

使用 SQLCMD 变量,在脚本中使用 $(VariableName) 引用变量而不是 T-SQL 变量。脚本中不需要声明。

SET NOCOUNT ON;
GO
IF DB_ID('$(DBNAME)') IS NULL
BEGIN
    CREATE DATABASE [$(DBNAME)];
END;