sqlserver数据库迁移,查看活跃链接、收缩日志、分离、迁移、附加、修复权限

sqlserver数据库迁移,查看活跃链接、收缩日志、分离、迁移、附加、修复权限

王忘杰
2026-01-10 / 0 评论 / 6 阅读 / 正在检测是否收录...

1、查看活跃链接
查看当前数据库的连接情况

USE master;
GO

SELECT 
    db_name(database_id) as database_name, 
    count(*) as number_of_connections,
    login_name 
FROM sys.dm_exec_sessions
WHERE database_id = db_id('90apt')   -- 这里替换成你的数据库名称,可能是'ecol.egy'
GROUP BY database_id, login_name;

查看所有活动连接

USE master;
GO

SELECT 
    session_id, 
    database_id, 
    login_name, 
    host_name, 
    program_name 
FROM sys.dm_exec_sessions
WHERE database_id = db_id('90apt');  -- 同样替换数据库名称

关闭业务查看活动连接,如果还存在,强制断开

USE master;
GO

DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + convert(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions
WHERE database_id = db_id('90apt');  -- 同样替换数据库名称

EXEC(@kill);

2、收缩日志
属性-选项-恢复模式-简单
mk7z4hpr.png
mk7z52sm.png
任务-收缩-文件
mk7z5dmw.png
日志-收缩到2MB
mk7z5jbe.png
收缩完成后改回完整
mk7z5zit.png

3、分离
确定数据库位置
mk7z6d1o.png
mk7z6kp3.png
数据库-任务-分离
mk7z6tfv.png
mk7z6z75.png
分离成功后,数据库管理器中数据库会消失,本地数据库文件可以复制

4、迁移
在两台数据库服务器之间,可以用共享文件夹形式快速复制文件

5、附加
数据库-附加-添加
mk7z92i7.png
数据库添加成功

6、修复权限
添加到新数据库后,数据库管理账号需要重新建立,如原有数据库管理账号90aptadmin,迁移后需要重新建立并和数据库用户关联

修复现有用户的SID映射

USE 90apt
GO

-- 直接修复用户与登录名的映射
ALTER USER [90aptadmin] WITH LOGIN = [90aptadmin]
GO
0

评论

博主关闭了所有页面的评论