将数据库从一个SQL Server导出到另一个SQL Server

时间:2011-03-01 19:47:54

标签: sql-server database sql-server-2005

我有一个测试数据库,我需要将其导出到客户的测试环境中。

这将是一次性工作。

我正在使用SQL Server 2005(我的测试数据库是SQL Server 2005 Express)

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:9)

最简单的方法

在SSMS中备份数据库,然后在目标计算机上恢复数据库。

要在SSMS(SQL Server Management Studio)中执行此操作,请右键单击要备份的数据库,然后选择Tasks->Backup注意备份类型和.bak文件的路径 。然后获取该文件(.bak)并转到目标数据库服务器/机器。右键单击数据库并执行"Restore"

在这里,您可以告诉它.bak文件的路径,并使用您指定的名称在客户端计算机上创建数据库。

更难但可重用的方式

如果你真的觉得很讨厌,你也可以写一些T-SQL来备份和恢复数据库。让我知道,如果你觉得真的很怪异,我们也可以走这条路......但是看起来你只是这样做了一次,所以脚本可能有点矫枉过正。但是,如果有人需要备份数据库,您可以根据需要将其放入过程中:

DECLARE @strRootPath varchar(50)
DECLARE @BackupFile varchar(100)
DECLARE @strDB varchar(25)

SELECT @strRootPath = 'C:\SQL_BACKUPS\MyDBFolder\'
SELECT @strDB = db_name()

SELECT @BackupFile = 
      @strRootPath
    + db_name()
    + '_'
    + CONVERT(varchar(8), GetDate(), 112)               -- yyyymmdd
    + '_'
    + REPLACE(LEFT(CONVERT(varchar(8), GetDate(), 108), 5), ':', '')    -- hh:mm:ss
    + '.BAK'

BACKUP DATABASE @strDB TO  DISK =@BackupFile WITH RETAINDAYS = 10, NAME = N'MyDB_DATA-Full Database Backup', STATS = 10

BACKUP LOG MyDB
   TO MyDB_Log;

答案 1 :(得分:5)

或者您可以使用SQL Server Management Studio(SSMS),然后右键单击要导出的数据库,这样您将获得export-import数据库的新窗口。填写数据库连接的任何信息,并按照步骤直到您成功导出它:)