internal static string CreateDatabaseScript(string databaseName, string dataFileName, string logFileName, SqlVersion sqlVersion) { var builder = new SqlDdlBuilder(); builder.AppendSql("create database "); builder.AppendIdentifier(databaseName); if (null != dataFileName) { Debug.Assert(logFileName != null, "must specify log file with data file"); builder.AppendSql(" on primary "); builder.AppendFileName(dataFileName); builder.AppendSql(" log on "); builder.AppendFileName(logFileName); } // Set READ_COMMITTED_SNAPSHOT ON, if SQL Server 2005 and up and not SQLAzure. if (sqlVersion >= SqlVersion.Sql9) { builder.AppendNewLine(); builder.AppendSql("if serverproperty('EngineEdition') <> 5 alter database "); builder.AppendIdentifier(databaseName); builder.AppendSql(" set read_committed_snapshot on"); } return(builder.unencodedStringBuilder.ToString()); }