复制并重命名 db 以便我可以附加两个副本

13 sql-server-2008 sql-server

我在服务器上有一个名为“mysite_db”的数据库,我在我的本地机器上创建了一个副本,它也是“mysite_db”。我想将数据库(从我的本地机器)附加到已经有这个数据库名称的服务器上。这意味着我必须更改本地数据库的名称(我想我还需要更改物理文件)。我不知道该怎么做。你能指导我吗?

我的目标是在服务器上加载 2 个数据库,例如:'mysite_db' 和 'myNewSite_db'

Roi*_*ish 17

如果您想为您的 mdf\ldf 文件使用相同的目录,您将不得不(物理上)重命名它们。
1. 从本地 PC 分离文件
2. 重命名 mdf 和 ldf 文件
3. 复制\移动文件到存储原始数据库的服务器目录。
(在我的示例中,我使用 D:\Data 表示 mdf 和 E:\Logs 表示 ldf,在运行脚本之前更改路径)
4. 使用以下代码:

USE [master]
GO
CREATE DATABASE [myNewSite_db] ON 
( FILENAME = N'D:\Data\myNewSite_db.mdf' ),
( FILENAME = N'E:\Logs\myNewSite_db_log.ldf' )
FOR ATTACH
GO
Run Code Online (Sandbox Code Playgroud)

5.如果你想改变逻辑文件名和物理文件名一样使用:(
假设原来的逻辑文件名是“mysite_db”)

USE [myNewSite_db]
GO
ALTER DATABASE [myNewSite_db] 
    MODIFY FILE (NAME=N'mysite_db', NEWNAME=N'myNewSite_db')
GO
ALTER DATABASE [myNewSite_db] 
    MODIFY FILE (NAME=N'mysite_db_log', NEWNAME=N'myNewSite_db_log')
GO
Run Code Online (Sandbox Code Playgroud)

祝你好运,


Sco*_*ain 7

当您附加数据库时,将其命名为“myNewSite_db”

在此处输入图片说明

如果您将文件保存在不同的目录中,您甚至不需要更改文件名。