首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在复制本地SQL Server数据库(不在Azure上)

正在复制本地SQL Server数据库(不在Azure上)
EN

Stack Overflow用户
提问于 2012-12-10 16:45:58
回答 1查看 1.5K关注 0票数 1

为了定期备份我的SQL Azure数据库,我一直使用简单的tSQL语句

代码语言:javascript
运行
复制
CREATE DATABASE FiveModes10_12_12 AS COPY OF FiveModes

但是对于这个项目(分析一些实验结果),我的数据库是一个本地SQL Server2012数据库,并且我不能运行该语句(我得到错误Incorrect syntax near 'COPY')。看一下the documentation for the CREATE DATABASE command for SQL Server 2012,没有AS COPY OF选项。最简单的替代方案是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-10 17:07:14

对于寿命较长的副本,请使用数据库备份:

代码语言:javascript
运行
复制
backup database FiveModes to disk = 'path to .bak file' with init, copy_only;

您可以在需要时恢复此文件:

代码语言:javascript
运行
复制
restore database FiveMode from disk = 'path to .bak file';

您甚至可以将备份还原为新数据库,但在还原过程中需要移动MDF/LDF文件的位置:

代码语言:javascript
运行
复制
restore database FiveMode_12_12 from disk = 'path to .bak file'
   with move 'FiveMode' to '<path to place the new copy of MDF>',
   move 'FiveMode_log' to '<path to place the new copy of LDF>'

如果您只需要短暂的副本(例如,创建一个拷贝,做一些实验,恢复到拷贝)你可以使用数据库快照,但它需要企业许可证。请参阅Database Snapshots

代码语言:javascript
运行
复制
create database FiveModes10_12_12  on
  (Name = 'FiveMode', FileName = '<path to MDF snapshot file>')
as snapshot of FiveModes;

但请注意,快照与Azure副本完全不同,长时间保存快照是非常有害的。很长一段时间内,副本使用备份。

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

https://stackoverflow.com/questions/13797556

复制
相关文章

相似问题

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