ScriptDom に Azure SQL DB / (DW?) 用に使えそうなオプションが増えてました

久々に ScriptDom のバージョンを上げてみたら、SqlEngineType が追加されてました。
NuGet Gallery | Microsoft.SqlServer.TransactSql.ScriptDom 14.0.3660.1

TSql130Parser, TSql140Parser に SqlEnginType が渡せるようです。

namespace Microsoft.SqlServer.TransactSql.ScriptDom
{
    public enum SqlEngineType
    {
        All = 0,
        Standalone = 1,
        SqlAzure = 2
    }
}

未だちゃんと動かなそうでしたが。

var azure = new TSql140Parser(false, SqlEngineType.SqlAzure);
IList<ParseError> azureErrors;
using (var sr = new StringReader(@"CREATE DATABASE hito 
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS   
( MAXSIZE = 500 MB, EDITION = 'standard', SERVICE_OBJECTIVE = 'S1' );")) {
  azure.Parse(sr, out azureErrors);
}
Console.WriteLine(azureErrors.Count); // 1
Console.WriteLine(azureErrors[0].Message); // Incorrect syntax near MAXSIZE.

SQL DB では使える CREATE DATABASE のオプションがエラーになってしまいました。。