使用Sql Server 2005/2008可以使用存储过程对数据库进行备份吗? 什么是它的存储过程...以及我的项目在我的项目中创建此类过程所需的场景是什么? 前端语言将C#.Net和后端是SQL服务器。 任何人都可以在这里指导我...在此先感谢...为什么我们需要创建存储过程进行备份?
回答
您可以创建自己的存储过程:
CREATE PROCEDURE sp_MyBackup
AS BEGIN
BACKUP DATABASE myDatabase to disk='c:\BACKUP\myDatabase.bak'
END
,然后你可以从你的T-SQL代码执行此过程:
exec sp_MyBackup
编辑: 在C#中执行你的存储proceure ,你需要做类似的事情:
SqlConnection c= new SqlConection (connectionstring);
c.Open();
SqlCommand cmd = new SqlCommand ("sp_MyBackup", c);
cmd.CommadType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
c.Close();
编辑再次:我认为, end应用程序可以使用SP创建备份来实现下一个场景:在批量更新操作(数据导入,批量清理等)之前,用户可以从应用程序开始备份。在这种情况下,用户不需要适当的sql服务器和数据库权限,他不能拥有任何数据库工具和sql知识,但可以完成备份。
您可以通过使用“MDF和LDF”文件或采用特定数据库的“.bak”文件取回数据库,这将覆盖所有表,存储过程和函数。
前端:C#
后端:SQL服务器
Ado.Net充当前端和后端之间的桥梁。
在数据库管理系统(DBMS)中,存储过程是一组结构化查询语言(SQL)语句,其中指定名称以编译形式存储在数据库中,以便可以由多个程序共享。存储过程的使用可以有助于控制对数据的访问(最终用户可以输入或更改数据但不写入过程),保持数据完整性(信息以一致的方式输入),以及提高生产力(存储中的语句程序只需要写一次)。
这将通过C#中使用SqlCommand对象
的情况是,如果你想揭开序幕每小时/夜间/每周/ someothertime-LY备份数据库服务器上调用。
然后,您可以编写脚本(例如powershell)来执行启动备份的存储过程。
这与您的实际应用无关。您的应用程序不应该关心或关心备份。这是一项维护/管理任务,应该在数据库服务器上处理。
我可以想出几个理由来做到这一点,除非你正在为DBA和支持人员创建一个实用程序来使用它。允许非专家用户启动备份在多用户环境中几乎肯定不是一个好主意。
如果您只是想允许用户创建一个恢复点或保存版本的数据库的话,我建议你创建一个transaction log mark。假设您在完全恢复模式下运行,日志标记将比允许用户自行备份更快,更容易支持。
- 1. 为什么我们需要使用存储过程?
- 2. 为什么我们在创建存储库时需要创建xxxCustom和xxxImpl类?
- 3. 需要创建一个存储过程
- 4. 什么是线程本地存储?我们为什么需要它?
- 5. Subversion - 我需要备份什么?
- 6. 为什么我们需要建议一个变量存储在寄存器中?
- 7. 为什么我们需要为openstack创建localrc文件
- 8. 什么是SQL存储过程,为什么我要使用它们?
- 9. 为什么我们需要瞬态故障处理存储?
- 10. 存储库模式 - 为什么我们需要接口?
- 11. 备份存储过程
- 12. 为什么我们需要创建模拟对象?
- 13. 为什么我们需要SvcUtil.exe来创建/生成代理类
- 14. 为什么我们需要创建一个中断向量表?
- 15. 为什么我们需要创建原生查询?
- 16. 为什么我们需要GPU进行深度学习?
- 17. mysql服务器:存储过程 - 我什么时候创建存储过程?
- 18. 需要帮助:为批量插入创建存储过程
- 19. 我使用Amazon S3进行存储。我如何创建该数据的备份?
- 20. 通过UTF等对Unicode字符进行ENCODE需要什么?为什么我们不能简单地将它们存储为代码点的二进制文件?
- 21. Windows Azure - 什么是自动备份的?我需要手动备份什么?
- 22. db2存储过程创建行为
- 23. 为什么在此存储过程中需要输出参数?
- 24. 为什么NHibernate需要Oracle存储过程返回结果集?
- 25. 为什么我们需要通过TCP进行SIP“100 Trying”响应?
- 26. 为什么存储过程不运行?
- 27. 我们什么时候需要设备驱动程序
- 28. DavLockDB:我们需要什么?
- 29. Subversion:转储备份,我需要增量备份吗?
- 30. 为什么我们需要simple_one_for_one?
这是不好的做法,建立与以sp_前缀的用户存储过程。以sp_开头的名称是为系统存储过程保留的,可能无法按预期工作。 – sqlvogel
@ Alex_L-谢谢但为什么应用程序需要备份? – Aishna
@Alex_L - 什么是我的项目来创建这样的程序在需要我的项目的情况? – Aishna