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

如何在SSMS中用DB_TEST完整覆盖DB_DEVELOP并保留原有名称与权限

同一服务器DB_TEST全量迁移至DB_DEVELOP的解决方案

一、先解决DB_DEVELOP无法删除(3702错误)的问题

如果确认无应用连接但删库报错,直接用SQL命令强制断开连接并删除:

USE master;
GO
-- 强制断开DB_DEVELOP的所有连接并回滚未提交事务
ALTER DATABASE DB_DEVELOP SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- 删除数据库
DROP DATABASE DB_DEVELOP;
GO

二、全量复制DB_TEST到DB_DEVELOP的可靠方案

方案1:备份-恢复(大数据量首选)

这是最稳定的迁移方式,能完整保留所有结构、数据和配置:

  1. 备份DB_TEST:
    在SSMS里右键DB_TEST → 任务 → 备份,选择「完整」备份类型,指定备份文件路径(比如D:\SQLBackups\DB_TEST_FULL.bak),完成备份。
  2. 恢复为DB_DEVELOP:
    • 右键「数据库」→ 还原数据库
    • 源设备:选择刚才生成的备份文件
    • 目标数据库:输入DB_DEVELOP
    • 切换到「选项」页签,勾选「覆盖现有数据库(WITH REPLACE)」,同时确认数据文件和日志文件的路径与DB_TEST不重复(比如把文件名改成DB_DEVELOP.mdf和DB_DEVELOP.ldf)
    • 执行还原即可。

方案2:生成完整架构+数据脚本(小数据量适用)

之前脚本没导全数据是因为选项配置不到位,按以下步骤操作:

  1. 右键DB_TEST → 任务 → 生成脚本
  2. 选择「整个数据库及所有对象」
  3. 进入「设置脚本选项」:
    • 找到「类型的数据脚本」,选择「架构和数据」
    • 把「编写USE DATABASE脚本」设为False
    • 「编写CREATE DATABASE脚本」:如果已经删除旧的DB_DEVELOP,设为True并修改数据库名称为DB_DEVELOP;如果没删,设为False
    • 把「脚本统计信息」「脚本权限」「脚本触发器」「脚本存储过程」等所有相关选项设为True
  4. 生成脚本后,打开脚本将开头的USE [DB_TEST]替换为USE [DB_DEVELOP](未删旧库时),然后执行脚本。

方案3:复制数据库向导(操作简单)

之前提示目标名称已存在,是因为没勾选删除旧库选项:

  1. 右键DB_TEST → 任务 → 复制数据库
  2. 源、目标服务器都选当前服务器
  3. 选择「使用SQL Server管理对象(SMO)」方法
  4. 目标数据库名称填DB_DEVELOP,勾选「如果目标数据库存在,则删除它」
  5. 后续步骤保持默认,完成复制即可。

三、恢复原DB_DEVELOP的权限

迁移完成后,需要重新配置原DB_DEVELOP的权限:

  • 如果之前有旧库的备份,可以从中导出权限脚本;如果没有,手动添加登录名、用户和角色权限。
  • 可执行以下脚本导出旧DB_DEVELOP的用户权限(旧库未删除时可用):
    USE DB_DEVELOP;
    GO
    SELECT 
        'CREATE USER [' + dp.name + '] FOR LOGIN [' + sp.name + '];' AS 创建用户脚本,
        'EXEC sp_addrolemember ''' + dr.name + ''', ''' + dp.name + ''';' AS 添加角色脚本
    FROM sys.database_principals dp
    JOIN sys.server_principals sp ON dp.sid = sp.sid
    LEFT JOIN sys.database_role_members drm ON dp.principal_id = drm.member_principal_id
    LEFT JOIN sys.database_principals dr ON drm.role_principal_id = dr.principal_id
    WHERE dp.type = 'S' AND dp.name NOT IN ('dbo', 'guest', 'INFORMATION_SCHEMA', 'sys');
    GO
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:31:07