Hi all
How to write script for backup database same as structure
I have a web app provide to multi customers. In database every customer has one id (id_customer).
example:
table1(colum1, colum2, clomum3.....,id_customer )
table2(colum1, colum2, clomum3.....,id_customer )
...
tableN(colum1, colum2, clomum3.....,id_customer )
Now, I want: when customer login to system (with His id_customer), he can only backup his database.
In win form I success done by using SMO, code:
public void BackuptDataBase(string login_user, string fileSQL)
{
con = new SqlConnection(constr);
string dataBaseName = con.Database.ToString();
Microsoft.SqlServer.Management.Common.ServerConnection serverConnection = new Microsoft.SqlServer.Management.Common.ServerConnection(con);
Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(serverConnection);
Microsoft.SqlServer.Management.Smo.Database database = server.Databases["" + dataBaseName + ""];
if (database != null)
{
Microsoft.SqlServer.Management.Smo.Scripter scripter = new Microsoft.SqlServer.Management.Smo.Scripter(server);
scripter.Options.ScriptData = true;
string Drop_OR_DeleteTable, filename;
string folder = System.Web.HttpContext.Current.Server.MapPath("~/");
if (login_user == "admin")
{
scripter.Options.ScriptSchema = true;
Drop_OR_DeleteTable = "DROP TABLE ";
}
else
{
scripter.Options.ScriptSchema = false;
Drop_OR_DeleteTable = "Delete From ";
}
filename = folder + fileSQL;
scripter.Options.ScriptDrops = false;
var sb = new System.Text.StringBuilder();
foreach (Microsoft.SqlServer.Management.Smo.Table table in database.Tables)
{
sb.Append(Drop_OR_DeleteTable + table.Name);
sb.Append(Environment.NewLine);
foreach (string s in scripter.EnumScript(new Microsoft.SqlServer.Management.Sdk.Sfc.Urn[] { table.Urn }))
{
sb.Append(s);
sb.Append(Environment.NewLine);
}
System.IO.StreamWriter fs = System.IO.File.CreateText(filename);
fs.Write(sb);
fs.Close();
}
}
}
please help me script by ASP.net C#.