public static SqlPreCommand?SnapshotIsolation() { if (!Connector.Current.AllowsSetSnapshotIsolation) { return(null); } var list = Schema.Current.DatabaseNames().Select(a => a?.ToString()).ToList(); if (list.Contains(null)) { list.Remove(null); list.Add(Connector.Current.DatabaseName()); } var cmd = list.NotNull() .Where(db => !SnapshotIsolationEnabled(db)) .Select(db => SqlPreCommand.Combine(Spacing.Simple, SqlBuilder.SetSingleUser(db), SqlBuilder.SetSnapshotIsolation(db, true), SqlBuilder.MakeSnapshotIsolationDefault(db, true), SqlBuilder.SetMultiUser(db)) ).Combine(Spacing.Double); return(cmd); }
public static SqlPreCommand SnapshotIsolation() { if (!Connector.Current.AllowsSetSnapshotIsolation) { return(null); } var list = Schema.Current.DatabaseNames().Select(a => a?.ToString()).ToList(); if (list.Contains(null)) { list.Remove(null); list.Add(Connector.Current.DatabaseName()); } var cmd = list.Select(a => SqlPreCommand.Combine(Spacing.Simple, //DisconnectUsers(a.name, "SPID" + i) : null, SqlBuilder.SetSingleUser(a), SqlBuilder.SetSnapshotIsolation(a, true), SqlBuilder.MakeSnapshotIsolationDefault(a, true), SqlBuilder.SetMultiUser(a)) ).Combine(Spacing.Double); return(cmd); }