今天试验的一个问题和大家共享一下
分就不给很多了,因为主要是和大家分享这个问题的结论。
去年的时候做过一个局域网备份工具,我当时就是在本地备份之后压缩然后上传到服务器的,今天我有个想法,直接用C#连接目标机器,然后直接backup会不会把数据库直接备份到本机呢?
刚才写了个程序试验了一下,是行不通的。代码如下:
- C# code
SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=10.68.69.203,81;database=cpudata;user id =sa;password=19790601"; try { //------------------结论这种方法是不合适的--------------------- conn.Open(); Console.WriteLine(conn.State.ToString()); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "backup database cpudata to disk='d:\a.bak'"; int i = cmd.ExecuteNonQuery(); Console.WriteLine(i.ToString()); } catch (Exception ex) { throw ex; } finally { conn.Close(); } Console.ReadLine();
会提示:
无法打开备份设备 'd:\a.bak'。出现操作系统错误 123(文件名、目录名或卷标语法不正确。)。
BACKUP DATABASE 正在异常终止。
[解决办法]
如果10.68.69.203有d盘,好像能同运行,不过备份到10.68.69.203的d盘
[解决办法]
应该需要映射这些吧。