예제 #1
0
        /// <summary>
        ///     Create a database on sql server
        /// </summary>
        /// <param name="databaseName"></param>
        /// <param name="serverName"></param>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="maxSize"></param>
        /// <returns></returns>
        public SqlAzureDatabase CreateSqlDatabase(
            string databaseName,
            string serverName = "",
            string user       = AzureServiceConstants.SqlServerAdminLogin,
            string password   = AzureServiceConstants.SqlServerAdminPassword,
            SqlAzureDatabaseMaxSize maxSize = SqlAzureDatabaseMaxSize.Gb1)
        {
            var server = string.IsNullOrEmpty(serverName) ? CreateSqlServer(user, password) : GetSqlServer(serverName, user, password);

            return(CreateSqlDatabase(databaseName, server, maxSize));
        }
예제 #2
0
        /// <summary>
        ///     Create a database on sql server
        /// </summary>
        /// <param name="databaseName"></param>
        /// <param name="server"></param>
        /// <param name="maxSize"></param>
        /// <returns></returns>
        public SqlAzureDatabase CreateSqlDatabase(
            string databaseName,
            SqlAzureServer server,
            SqlAzureDatabaseMaxSize maxSize = SqlAzureDatabaseMaxSize.Gb1)
        {
            var existingDatabasesOnServer = SqlManagementClient.Databases.ListAsync(server.Name, new CancellationToken()).Result.Databases;

            if (existingDatabasesOnServer.Any(d => d.Name == databaseName))
            {
                SqlManagementClient.Databases.DeleteAsync(server.Name, databaseName, new CancellationToken()).Wait();
            }

            return(server.CreateDatabase(databaseName, maxSize));
        }
예제 #3
0
        public void AlterDatabase(SqlAzureDatabase database, SqlAzureDatabaseMaxSize newSize)
        {
            if (database == null)
            {
                throw new ArgumentNullException("database");
            }

            if (!DatabaseExists(database.Name))
            {
                throw new Exception(string.Format("Database '{0}' does not exist on Sql Azure Server '{1}'.", database.Name, Name));
            }

            SqlHelper.ExecuteQuery(MasterDatabase.ConnectionString, database.GetAlterSqlStatement());
        }
예제 #4
0
        public SqlAzureDatabase CreateDatabase(string databaseName, SqlAzureDatabaseMaxSize size = SqlAzureDatabaseMaxSize.Gb1)
        {
            if (DatabaseExists(databaseName))
            {
                throw new Exception(string.Format("Database '{0}' already exists on Sql Azure Server '{1}'.", databaseName, Name));
            }

            var database = new SqlAzureDatabase(this, databaseName, size);

            SqlHelper.ExecuteQuery(MasterDatabase.ConnectionString, database.GetCreateSqlStatement());

            Dependencies.TestResourcesCollector.Remember(AzureResourceType.SqlDatabase, database.Name, database);

            return(database);
        }
예제 #5
0
        internal SqlAzureDatabase(
            SqlAzureServer server,
            string databaseName,
            SqlAzureDatabaseMaxSize maxSize)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            if (string.IsNullOrEmpty(databaseName))
            {
                throw new ArgumentNullException("databaseName");
            }

            Name    = databaseName;
            Server  = server;
            MaxSize = maxSize;
        }
예제 #6
0
        internal SqlAzureDatabase(
            SqlAzureServer server,
            string databaseName, 
            SqlAzureDatabaseMaxSize maxSize)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            if (string.IsNullOrEmpty(databaseName))
            {
                throw new ArgumentNullException("databaseName");
            }

            Name = databaseName;
            Server = server;
            MaxSize = maxSize;
        }
예제 #7
0
 public void AlterDatabase(string databaseName, SqlAzureDatabaseMaxSize newSize)
 {
     AlterDatabase(new SqlAzureDatabase(this, databaseName), newSize);
 }
예제 #8
0
        public SqlAzureDatabase CreateDatabase(string databaseName, SqlAzureDatabaseMaxSize size = SqlAzureDatabaseMaxSize.Gb1)
        {
            if (DatabaseExists(databaseName))
            {
                throw new Exception(string.Format("Database '{0}' already exists on Sql Azure Server '{1}'.", databaseName, Name));
            }

            var database = new SqlAzureDatabase(this, databaseName, size);
            SqlHelper.ExecuteQuery(MasterDatabase.ConnectionString, database.GetCreateSqlStatement());

            Dependencies.TestResourcesCollector.Remember(AzureResourceType.SqlDatabase, database.Name, database);

            return database;
        }
예제 #9
0
        public void AlterDatabase(SqlAzureDatabase database, SqlAzureDatabaseMaxSize newSize)
        {
            if (database == null)
            {
                throw new ArgumentNullException("database");    
            }

            if (!DatabaseExists(database.Name))
            {
                throw new Exception(string.Format("Database '{0}' does not exist on Sql Azure Server '{1}'.", database.Name, Name));
            }

            SqlHelper.ExecuteQuery(MasterDatabase.ConnectionString, database.GetAlterSqlStatement());
        }
예제 #10
0
 public void AlterDatabase(string databaseName, SqlAzureDatabaseMaxSize newSize)
 {
     AlterDatabase(new SqlAzureDatabase(this, databaseName), newSize);
 }
예제 #11
0
        /// <summary>
        ///     Create a database on sql server
        /// </summary>
        /// <param name="databaseName"></param>
        /// <param name="server"></param>
        /// <param name="maxSize"></param>
        /// <returns></returns>
        public SqlAzureDatabase CreateSqlDatabase(
            string databaseName,
            SqlAzureServer server,
            SqlAzureDatabaseMaxSize maxSize = SqlAzureDatabaseMaxSize.Gb1)
        {

            var existingDatabasesOnServer = SqlManagementClient.Databases.ListAsync(server.Name, new CancellationToken()).Result.Databases;
            
            if(existingDatabasesOnServer.Any(d => d.Name == databaseName))
            {
                SqlManagementClient.Databases.DeleteAsync(server.Name, databaseName, new CancellationToken()).Wait();
            }

            return server.CreateDatabase(databaseName, maxSize);
        }
예제 #12
0
        /// <summary>
        ///     Create a database on sql server
        /// </summary>
        /// <param name="databaseName"></param>
        /// <param name="serverName"></param>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="maxSize"></param>
        /// <returns></returns>
        public SqlAzureDatabase CreateSqlDatabase(
            string databaseName,
            string serverName = "", 
            string user = AzureServiceConstants.SqlServerAdminLogin,
            string password = AzureServiceConstants.SqlServerAdminPassword,
            SqlAzureDatabaseMaxSize maxSize = SqlAzureDatabaseMaxSize.Gb1)
        {
            var server = string.IsNullOrEmpty(serverName) ? CreateSqlServer(user, password) : GetSqlServer(serverName, user, password);

            return CreateSqlDatabase(databaseName, server, maxSize);
        }