【问题标题】:Backup MS SQL Server 2005?备份 MS SQL Server 2005?
【发布时间】:2009-04-01 20:13:33
【问题描述】:

我有一个 MS SQL Server 2005。备份单个数据库非常容易,只需右键单击数据库,然后单击任务->备份。我的问题是如何备份数据库之外的 SQL Server 数据库对象?

例如,在Security->Logins下,有登录用户列表;在 SQL Server Agent->Jobs 下,有作业列表,在 Server Objects->Linked Servers 下;等等。

有没有办法对 SQL Server 进行完整备份?在 TSQL 中?我试图从 SQL Server Management Studio 中查找,但找不到。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    这些项目存储在系统数据库中——主要是 master 和 msdb(在数据库 | 系统数据库下)。您可以单独备份它们(就像您备份其他数据库一样),或者更好的是,创建一个维护计划(管理 | 维护计划)以定期执行此操作。

    【讨论】:

    • 如果我恢复master和msdb,那些服务器级别的项目(正如我提到的)会回来吗?
    • 是的,但是正如“Sam”和“Nick”在其他答案中提到的那样,恢复这些数据库会带来各种“陷阱”,所以你必须非常小心。
    【解决方案2】:

    我推荐使用这个脚本。我花了很多时间来处理之前的维护计划失败。

    http://blog.ola.hallengren.com/

    http://msdn.microsoft.com/en-us/library/ms187048.aspx 有更多关于标准程序的信息。

    如果您负责这些数据库,我建议您练习在新服务器上恢复系统数据库,这样到时候您就有信心了。还原不是右键还原那么简单。

    【讨论】:

    • 尝试访问您的博客链接,但出现超时错误。不确定它是否仍然可用?
    【解决方案3】:

    数据库登录存储在用户数据库中,服务器登录存储在主数据库中。 msdb 存储 sql 作业和历史记录。您可以在 T-SQL 中执行的最简单的完整备份是:

    BACKUP DATABASE dbname 
    TO DISK='C:\backupfile.bak' WITH INIT
    

    WITH INIT 表示它将覆盖文件。

    恢复master数据库需要在单用户模式下重启sql server。您可以从 sql server 目录中的命令行执行此操作:sqlservr.exe -c - m

    然后使用 SSMS 或 sqlcmd 连接并运行还原。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多