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

标签 sql-server database sql-server-2005

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

这将是一次性的工作。

我正在使用 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/

相关文章:

php - 如何控制两个表之间的mysql查询执行时间

mysql - 为mysql数据库表设置日期

sql-server - CTE - 递归更新数量直到消耗总量

sql-server - 查询一个链接的sql server

SQL : how to find leaf rows?

sql-server - sqlalchemy 使用的是哪个驱动程序?

sql-server-2005 - 由于不存在重复项而无法创建索引?

c# - SqlDataSourceEnumerator.Instance.GetDataSources() 没有找到本地 SQL server 2008 实例

python - 在 Python 中保存队列数据

sql-server-2005 - 有没有办法在 SQL Server Management Studio Express 2005 的查询编辑器中查看空格?