I have created a database maintenance plan using wizard though that link for SQL Server 2005.
I have created a Maintenance Plan for SQL Server 2008 and it works fine.
Now I required to complete the same task using a stored procedure for my desktop application.
I have tried this stored procedure for that but it doesn't works for me.
Stored Procedure Execute Successfully and also i can see the entered values in the table sysdbmaintplans
of msdb
the system database but created maintenance plan doesn't shows Under tree(MANAGEMENT=>MAINTENANCE PLAN) of Object Explorer(SQL Server Management Studio).
Please Help...
Below is the code snippet I have tried.
// sp_add_maintenance_plan [ @plan_name = ] 'plan_name' ,
//@plan_id = 'plan_id' OUTPUT
String planid = "";
string maintenancePlan = "MyMaintenance";
string SQLstr = "DECLARE @plan_id as Varchar(50)";
SQLstr += " EXEC sp_add_maintenance_plan ";
SQLstr += " @plan_name='" + maintenancePlan + "',";
SQLstr += " @plan_id= @plan_id OUTPUT";
SQLstr += " SELECT @plan_id";
SqlConnection cnn = new SqlConnection(MSDBconnStr);
SqlCommand cmd = new SqlCommand(SQLstr, cnn);
cnn.Open();
planid = (string)cmd.ExecuteScalar();
cnn.Close();
// sp_add_maintenance_plan_db [ @plan_id = ] 'plan_id' ,
//[ @db_name = ] 'database_name'
string maintenancePlanDataBase = "MyDataBase";
string SQLstr1 = " EXEC sp_add_maintenance_plan_db ";
SQLstr1 += " @plan_id='" + planid + "',";
SQLstr1 += " @db_name='" + maintenancePlanDataBase + "'";
SqlConnection cnn1 = new SqlConnection(MSDBconnStr);
SqlCommand cmd1 = new SqlCommand(SQLstr1, cnn1);
cnn1.Open();
cmd1.ExecuteNonQuery();
cnn1.Close();