mssql备份数据库问题
string cmdtxt2 = @"backup database l-xian to disk='" + path + ".bak'";
SqlConnection Con = new SqlConnection(@"Server='WIN-A3CE67RFII8\SQLEXPRESS';database=longteng;Uid=sa;Pwd=111111");
Con.Open();
try
{
SqlCommand Com = new SqlCommand(cmdtxt2, Con);
Com.ExecuteNonQuery();
Response.Write("<scriptlanguage=javascript>alert('备份数据成功!');</script>");
}
catch (Exception ms)
{
Response.Write(ms.Message);
Response.Write("<scriptlanguage=javascript>alert('备份数据失败!')</script>");
}
finally
{
Con.Close();
}
[解决办法]
backup database [l-xian]
[解决办法]
你的数据库名称是: l-xian
你直接在ssms中直接执行会报错吗:
backup database l-xian to disk='path.bak'
[解决办法]
做了一个实验,发现,
在数据库名称中,不能包含-,要包含必须用方括号,括起来:
create database l-xian
go
/*
消息 102,级别 15,状态 1,第 3 行
'-' 附近有语法错误。
*/
--改成这样,就不报错了,因为在数据库名称中,不能包含-,要包含必须用方括号,括起来
create database [l-xian]
go
/*
命令已成功完成。
*/
backup database [l-xian]
to disk = 'c:\l-xian.bak'
/*
已为数据库 'l-xian',文件 'l-xian' (位于文件 1 上)处理了 176 页。
已为数据库 'l-xian',文件 'l-xian_log' (位于文件 1 上)处理了 2 页。
BACKUP DATABASE 成功处理了 178 页,花费 0.497 秒(2.794 MB/秒)。
*/