我在winforms c#中创建了SQL服务器和前端用户应用程序的数据库.它已启动并运行良好,但我现在已被要求设置客户端的测试版本以培训新员工,这样他们就可以在培训时输入虚拟数据,而不会影响"真实"的实时数据库.
当我安装数据库时,我已将其全部编写为脚本,但事情已经发生了变化,我并不特别希望再次编写所有表的脚本.
是否有一种快速,方便的方法可以在同一台服务器上复制数据库(及其数据),但名称不同?
编辑(托尼霍普金森后发布)
我已经达到了这个目标
exec sp_addumpdevice 'Disk','MyDatabaseBackup',N'D:\MyDatabaseBackup'
Restore Database MyDatabase From MyDatabaseBackup With File = 1,
Move 'MyDatabase' To N'C:\Program Files\Microsoft SQL
Server\MSSQL11.SQLE\MSSQL\DATA\MyDatabaseTEST.mdf',
Move 'MyDatabase_Log' To N'C:\Program Files\Microsoft SQL
Server\MSSQL11.SQLE\MSSQL\DATA\MyDatabaseTEST_log.ldf',
NORECOVERY, NOUNLOAD, STATS = 10
RESTORE LOG [MyDatabaseTEST] FROM [MyDatabaseBackup] WITH FILE = 2, NOUNLOAD, STATS = 10
exec sp_dropdevice MyDatabaseBackup
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误消息
消息3234,级别16,状态2,行2逻辑文件"MyDatabase"不是数据库"MyDatabase"的一部分.使用RESTORE FILELISTONLY列出逻辑文件名.消息3013,级别16,状态1,行2 RESTORE DATABASE异常终止.消息3154,级别16,状态4,行6备份集保存除现有"MyDatabaseTEST"数据库之外的数据库的备份.消息3013,级别16,状态1,行6 RESTORE LOG异常终止.设备掉线了.
Joe*_*eph 33
在SQL Server管理工作室中使用copy database选项

我发现这种方法在SQL Server 2005和2008 Express Edition上最有效:
| 归档时间: |
|
| 查看次数: |
76282 次 |
| 最近记录: |