首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何复制Server数据库并连接到它?

如何复制Server数据库并连接到它?
EN

Stack Overflow用户
提问于 2014-03-17 18:18:07
回答 1查看 2.6K关注 0票数 0

我正在开发vb.NET 2013和server 2008R2。

我要解决这个问题:

我有一个数据库"DB1“。我想用另一个名称"DB2“在同一个SQL server上创建这个数据库的副本,并在此数据库准备好连接之后。

我如何通过来自Vb.NET的代码来做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2014-03-17 18:37:17

请查看这个带有新文件名的还原技术网络链接。

http://technet.microsoft.com/en-us/library/ms190447(v=sql.105).aspx

  1. 备份数据库一号(DB1)。
  2. 验证备份是否有效。
  3. 获取正确的逻辑和物理文件名
  4. 使用move命令进行还原以创建数据库2 (DB2)。
  5. 将所有权改为SA。默认为创建数据库的SQL登录名。

这是我在笔记本电脑上测试的脚本。备份的好处是不需要停机。如果您决定删除行、复制数据文件和创建数据库以进行附加,则会创建停机时间。

代码语言:javascript
复制
-- Sample database
USE AdventureWorks2012;
GO

-- 1 - Make a backup
BACKUP DATABASE AdventureWorks2012
TO DISK = 'C:\mssql\backup\AdventureWorks2012.Bak'
   WITH FORMAT,
      MEDIANAME = 'SQLServerBackups',
      NAME = 'Full Backup of AdventureWorks2012';
GO


-- Use master
USE master
GO

-- 2 - Is the backup valid
RESTORE VERIFYONLY
FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak';
GO

-- 3 - Check the logical / physical file names
RESTORE FILELISTONLY
FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak';
GO

-- 4 - Restore the files change the location and name
RESTORE DATABASE Adv2012
   FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak'
   WITH RECOVERY,
   MOVE 'AdventureWorks2012_Data' TO 'c:\mssql\data\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks2012_Log' TO 'c:\mssql\log\MyAdvWorks_Data.ldf';
GO

-- 5 - Switch owner to system admin
ALTER AUTHORIZATION ON DATABASE::Adv2012 TO SA;
GO
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22462198

复制
相关文章

相似问题

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