Check with below code.
protected void Page_Load(object sender, EventArgs e)
{
CreateScriptTable("master", "Water", ConfigurationManager.ConnectionStrings[1].ConnectionString);
CreateScriptDataBase("Water", ConfigurationManager.ConnectionStrings[1].ConnectionString);
}
public void CreateScriptTable(string dataBaseName, string tableName, string connectionString)
{
try
{
if (!Directory.Exists(Server.MapPath("~/backup/")))
{
Directory.CreateDirectory(Server.MapPath("~/backup/"));
}
SqlConnection con = new SqlConnection(connectionString);
ServerConnection serverConnection = new ServerConnection(con);
Server server = new Server(serverConnection);
Database database = server.Databases["" + dataBaseName + ""];
if (database != null)
{
Scripter scripter = new Scripter(server);
scripter.Options.ScriptData = true;
scripter.Options.ScriptSchema = true;
scripter.Options.ScriptDrops = false;
var sb = new System.Text.StringBuilder();
foreach (Microsoft.SqlServer.Management.Smo.Table table in database.Tables)
{
if (table.Name.ToLower() == tableName.ToLower())
{
sb.Append("DROP TABLE " + table.Name);
sb.Append(Environment.NewLine);
foreach (string s in scripter.EnumScript(new Urn[] { table.Urn }))
{
sb.Append(s);
sb.Append(Environment.NewLine);
}
string folder = Server.MapPath("~/backup/");
string filename = folder + tableName + ".sql";
System.IO.StreamWriter fs = System.IO.File.CreateText(filename);
fs.Write(sb);
fs.Close();
}
}
}
}
catch (Exception ex)
{
string message = string.Format("Message: {0}\\n\\n", ex.Message);
message += string.Format("StackTrace: {0}\\n\\n", ex.StackTrace.Replace(Environment.NewLine, string.Empty));
message += string.Format("Source: {0}\\n\\n", ex.Source.Replace(Environment.NewLine, string.Empty));
message += string.Format("TargetSite: {0}", ex.TargetSite.ToString().Replace(Environment.NewLine, string.Empty));
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true);
}
}
public void CreateScriptDataBase(string dataBaseName, string connectionString)
{
try
{
if (!Directory.Exists(Server.MapPath("~/backup/")))
{
Directory.CreateDirectory(Server.MapPath("~/backup/"));
}
SqlConnection con = new SqlConnection(connectionString);
ServerConnection serverConnection = new ServerConnection(con);
Server server = new Server(serverConnection);
Database database = server.Databases["" + dataBaseName + ""];
if (database != null)
{
Scripter scripter = new Scripter(server);
scripter.Options.ScriptData = true;
scripter.Options.ScriptSchema = true;
scripter.Options.ScriptDrops = false;
var sb = new System.Text.StringBuilder();
foreach (Microsoft.SqlServer.Management.Smo.Table table in database.Tables)
{
sb.Append("DROP TABLE " + table.Name);
sb.Append(Environment.NewLine);
foreach (string s in scripter.EnumScript(new Urn[] { table.Urn }))
{
sb.Append(s);
sb.Append(Environment.NewLine);
}
string folder = Server.MapPath("~/backup/");
string filename = folder + dataBaseName + ".sql";
System.IO.StreamWriter fs = System.IO.File.CreateText(filename);
fs.Write(sb);
fs.Close();
}
}
}
catch (Exception ex)
{
string message = string.Format("Message: {0}\\n\\n", ex.Message);
message += string.Format("StackTrace: {0}\\n\\n", ex.StackTrace.Replace(Environment.NewLine, string.Empty));
message += string.Format("Source: {0}\\n\\n", ex.Source.Replace(Environment.NewLine, string.Empty));
message += string.Format("TargetSite: {0}", ex.TargetSite.ToString().Replace(Environment.NewLine, string.Empty));
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true);
}
}