首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tsql DB Backup C#

Tsql DB Backup C#
EN

Stack Overflow用户
提问于 2011-06-17 12:37:52
回答 1查看 278关注 0票数 0

我使用以下查询获取备份,备份文件名为当前时间戳,路径为用户选择的路径(存储在labelbackupPath中)。

代码语言:javascript
复制
    UtilityClass.ExecuteQuery(@"Declare @file_name varchar(500);
                                set @file_name = CURRENT_TIMESTAMP;
                                BACKUP DATABASE VegiManager to DISK CONCAT(@pathname,@file_name);", true, new SqlParameter("@pathname", labelbackupPath.Text + @"\"));

下面是ExecuteQuery的签名:

代码语言:javascript
复制
  public static int ExecuteQuery(String query, bool showMsgBox, params SqlParameter[] parameters)

它只是执行指定的查询,将指定的参数添加到SqlCommand。如果showMsgBox为true,则请求确认并给出查询执行的结果。

TSql部分有一些错误,请指出我哪里错了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-17 12:56:58

CONCAT不是有效的TSQL语句。

您只需在字符串后面附加@路径名+ @file_name

我个人会把这个备份信息放到一个存储的proc中,然后用传入的参数来执行它。

如果在代码中使用SQL SMO也是最好的选择,例如http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/95750bdf-fcb1-45bf-9247-d7c0e1b9c8d2/

注意:执行的用户还需要备份权限,并且路径需要对服务器可用,即,如果您备份到C:\temp,这是在服务器上,而不是在运行备份的机器上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6381392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档