public static void CreateAdminUser(this IDatabase database, IQuery context, string adminName, string adminPassword) { try { var user = context.CreateUser(adminName, adminPassword); // This is the admin user so add to the 'secure access' table. context.AddUserToGroup(adminName, SystemGroups.SecureGroup); context.GrantToUserOnSchema(database.Context.DefaultSchema(), user.Name, Privileges.SchemaAll, true); context.GrantToUserOnSchema(SystemSchema.Name, user.Name, Privileges.SchemaRead); context.GrantToUserOnSchema(InformationSchema.SchemaName, user.Name, Privileges.SchemaRead); SystemSchema.GrantToPublic(context); } catch (DatabaseSystemException) { throw; } catch (Exception ex) { throw new DatabaseSystemException("Could not create the database administrator.", ex); } }