我有一个测试数据库,我需要将其导出到我们客户的测试环境中。
这将是一次性的工作。
我正在使用 SQL Server 2005(我的测试数据库是 SQL Server 2005 Express)
执行此操作的最佳方法是什么?
最佳答案
最简单的方法
在SSMS中备份数据库,然后在目标机器上恢复数据库。
要在 SSMS (SQL Server Management Studio) 中执行此操作,请右键单击要备份的数据库,选择 Tasks->Backup
,记下备份类型和 .备份文件。然后获取该文件(.bak)并转到目标数据库服务器/机器。右键单击数据库并执行 “恢复”
。
在这里您可以告诉它 .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;
关于sql-server - 将数据库从一个 SQL Server 导出到另一个 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159522/