2011-07-19 34 views
0

我正在我们的购物车上安装Service Pack。他们建议在安装之前备份SQL数据库。我知道我们有托管公司完成的磁带驱动器的备份,但是我希望我知道确切的时间戳,并且可以快速访问,如果我需要在升级过程中重新加载它,可以快速访问它。 (我不想让商店停留时间超过需要的时间。)如何备份SQL数据库(表格,映射,索引等)

如何建议备份SQL数据库以便轻松地重新加载某个习惯于编写查询和存储过程的用户?(我想获得的一切 - 映射&指数等 - 因为我不知道什么是所有的人都或如何重新制作图片)

我通过远程桌面访问数据库,并可以链接我的硬盘驱动器和DVD驱动器,如果有帮助。这是MSSQL 2008.

非常感谢。

最良好的祝愿, 安德烈

回答

0

BACKUP DATABASE databasename TO DISK='C:\somefile.bak' WITH COPY_ONLY, INIT, FORMAT, CHECKSUM

Obviosly更换databasename和目标C:\somefile.bak适当。请记住,文件和路径在服务器上;远程连接不会更改备份文件的存储位置 - 换句话说,它不会存在于本地计算机上。

如果需要,可以省略WITH选项。如果您不想覆盖目标.bak文件,请将INIT删除。对你来说COPY_ONLY不是什么大不了的事。 CHECKSUM仅用于在数据备份之前验证数据,如果您没有为数据库启用CHECKSUM,则可能无关紧要 - 尽管默认情况下从MS SQL 2005新数据库开始。

对于BACKUPRESTORE的MS文档在其基本形式中不太难理解。如果您有权访问它,也可以使用Management Studio任务 - >备份或任务 - >还原GUI。

+0

非常感谢你Mufasa。这有很大帮助。我检出了您提供的Transact-SQL链接。他们看起来像我可以弄明白的东西。感谢您的快速和明确的帮助。 – Andrea

+0

对于任何尝试这些步骤的用户,如果出现“操作系统错误5(访问被拒绝)”转到“控制面板”>“管理工具”>“服务”。在列表中找到MS SQL Server并查看它在哪个帐户下运行。对于路径C:\ somefolder \ somefile.bak,请确保右键单击某个文件夹,然后选择“属性”并为您在“服务”下找到的用户名添加“写入”权限。 – Andrea

+0

需要注意的是,如果您使用COPY_ONLY选项,则只能从命令行进行恢复。 – djangofan