You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无SQL Server Management Studio时迁移数据库至另一电脑的方法

嘿,这种糟心情况我碰到过好几次——原机器崩到连SSMS都打不开,要迁SQL Server数据库确实有点棘手,但不用慌,给你两个最靠谱的简单方法,全程不用SSMS就能搞定:

方法一:如果SQL Server服务还能正常启动(最稳妥)

如果原机器虽然跑不了程序,但SQL Server的服务还能正常运行,这个方法是首选,能最大程度保证数据完整:

  • 先在原机打开命令提示符(CMD),用sqlcmd工具连接本地实例:
    • 如果是默认实例,输入:sqlcmd -S . -E
    • 如果是命名实例,输入:sqlcmd -S .\你的实例名 -E
      (-E表示用Windows身份验证登录,要是用SQL账号的话换成-U 用户名 -P 密码)
  • 进入sqlcmd交互模式后,执行备份命令(替换成你的数据库名和备份路径):
    BACKUP DATABASE 你的数据库名 TO DISK = 'D:\DB_Backup\你的数据库备份.bak' WITH INIT;
    
    注意:备份路径要选原机能读写的位置,完成后会提示备份成功。
  • 把生成的.bak备份文件拷贝到新电脑的某个目录,比如E:\DB_Backup\
  • 新电脑上同样打开CMD,用sqlcmd连接本地实例,先执行下面的命令查看备份里的文件逻辑名(避免还原时路径错误):
    RESTORE FILELISTONLY FROM DISK = 'E:\DB_Backup\你的数据库备份.bak';
    
  • 然后执行还原命令(替换逻辑名、新路径和数据库名):
    RESTORE DATABASE 你的数据库名 FROM DISK = 'E:\DB_Backup\你的数据库备份.bak'
    WITH MOVE '数据库逻辑名' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\你的数据库名.mdf',
    MOVE '数据库逻辑名_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\你的数据库名_log.ldf';
    
    (MSSQL16.MSSQLSERVER要换成你新电脑上的SQL Server实例对应的文件夹,比如2017版本是MSSQL14.MSSQLSERVER)
方法二:如果SQL Server服务都启动不了(冷拷贝数据文件)

要是原机彻底崩了,连SQL Server服务都启动不了,那就只能直接拷贝核心数据文件:

  • 先在原机找到SQL Server的数据文件,默认路径一般是:
    C:\Program Files\Microsoft SQL Server\MSSQLXX.实例名\MSSQL\DATA\
    里面的.mdf(主数据文件)和.ldf(日志文件)就是你要的,一定要确保SQL Server服务已经完全停止(能操作的话用CMD执行net stop MSSQLSERVER,命名实例是net stop MSSQL$实例名),不然文件会被占用拷贝失败。
  • 把这两个文件完整拷贝到新电脑的对应数据目录,比如同样放到C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\
  • 新电脑打开CMD,用sqlcmd连接实例,执行附加命令:
    CREATE DATABASE 你的数据库名 ON
    (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\你的数据库名.mdf'),
    (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\你的数据库名_log.ldf')
    FOR ATTACH;
    
    要是日志文件损坏或找不到,可以换成FOR ATTACH_REBUILD_LOG重建日志,但可能会丢失少量未提交的事务,所以尽量找到完整的日志文件。

关键注意事项

  • 新电脑的SQL Server版本不能低于原机的版本,比如原机是SQL Server 2019,新机至少要2019或更高版本,不然还原/附加会失败。
  • 拷贝文件时一定要保证文件完整,最好对比一下原文件和拷贝后的文件大小,避免损坏。
  • 如果原机用的是SQL Server的命名实例,新机要么同样创建同名实例,要么在sqlcmd命令里指定正确的实例名。

内容的提问来源于stack exchange,提问作者cargt3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:23:52