So I\'m not able to user enterprise manager to do this... If I was I wouldn\'t even be asking this question. So I\'m wondering if there is a way through TSQL to execute a co
My complete solution for SQL. You can customize it according your needs:
#region SQL-SERVER-FUNCTION
///
/// Assign User in to specific role for SQL server database
///
/// Server address - example: yourServer.cloudapp.net,1433
/// User name with sysadmin role
/// User database
/// New role for this user
/// User assigned to new role
public static void AddUserToRoles(string Server, string UserID, string Password, string Database, string Role, string UserToRole)
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "SERVER = " + Server + "; DATABASE = " + Database + " ; User ID = " + UserID + "; Pwd = " + Password;
string sqlCreateDBQuery = " EXEC sp_addrolemember '" + Role + "', " + UserToRole;
SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, connection);
try
{
connection.Open();
myCommand.ExecuteNonQuery();
}
catch{}//(System.Exception ex)
finally
{
connection.Close();
}
return;
}
///
/// Create new User in specified database base on Login in SQL server
///
/// Server address - example: yourServer.cloudapp.net,1433
/// User name with sysadmin role
/// Database for created user
/// New user Name
/// Create user base on this SQL server login
public static void CreateUserInDatabase(string Server, string UserID, string Password, string Database, string NewUser, string FromLogin)
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "SERVER = " + Server + "; DATABASE = "+ Database + " ; User ID = " + UserID + "; Pwd = " + Password;
string sqlCreateDBQuery = "CREATE USER " + NewUser + " FROM LOGIN " + FromLogin;
SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, connection);
try
{
connection.Open();
myCommand.ExecuteNonQuery();
}
catch { }//(System.Exception ex)
finally
{
connection.Close();
}
return;
}
///
/// Create new Login in SQL server
///
/// Server address - example: yourServer.cloudapp.net,1433
/// User name with sysadmin role
/// Sysadmin user password
/// New Login Name
/// Password for new Login
public static void CreateLoginInSqlServer(string Server, string UserID, string Password, string NewLoginName, string NewLoginPassword)
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "SERVER = " + Server + "; DATABASE = master; User ID = " + UserID + "; Pwd = " + Password;
string sqlCreateDBQuery = "CREATE LOGIN [" + NewLoginName + "] WITH PASSWORD='"+ NewLoginPassword +"' " +
", CHECK_POLICY=OFF, DEFAULT_DATABASE=db_crs_0002, DEFAULT_LANGUAGE=[English];";
SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, connection);
try
{
connection.Open();
myCommand.ExecuteNonQuery();
}
catch { }//(System.Exception ex)
finally
{
connection.Close();
}
return;
}
///
/// Create new empty database on SQL server base on model database stored in SQL server
///
/// Server address - example: yourServer.cloudapp.net,1433
/// Name for new database
/// User name with sysadmin role
/// Sysadmin user password
public static void CreateNewDatabaseSqlserver(string Server, string NewDatabaseName, string UserID, string Password)
{
string sqlCreateDBQuery = " CREATE DATABASE " + NewDatabaseName;
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "SERVER = " + Server + "; DATABASE = master; User ID = " + UserID + "; Pwd = " + Password;
SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, connection);
try
{
connection.Open();
myCommand.ExecuteNonQuery();
}
catch { }//(System.Exception ex)
finally
{
connection.Close();
}
return;
}
#endregion
using: Create on SQL server Login with sysadmin permissions: AdminAPI
SQLserverAPI.CreateNewDatabaseSqlserver("yourServer.cloudapp.net,1433", "databaseName", "AdminAPI", "password*");
SQLserverAPI.CreateLoginInSqlServer("yourServer.cloudapp.net,1433", "AdminAPI", "password*", "My_Login", "password*");
SQLserverAPI.CreateUserInDatabase("yourServer.cloudapp.net,1433", "AdminAPI", "password*", "databaseName", "User1", "My_Login");
SQLserverAPI.AddUserToRoles("yourServer.cloudapp.net,1433", "AdminAPI", "password*", "databaseName", "db_datareader", "User1");
SQLserverAPI.AddUserToRoles("yourServer.cloudapp.net,1433", "AdminAPI", "password*", "databaseName", "db_datawriter", "User1");
SQLserverAPI.AddUserToRoles("yourServer.cloudapp.net,1433", "AdminAPI", "password*", "databaseName", "db_owner", "User1");