sql-server - 如何将数据库永久设置为 SINGLE_USER 模式?
问题描述
我使用 dbatools 命令实现了日志传送,今天正在对其进行测试。我注意到的是,当我查询已恢复/备用数据库时,例如在表上进行选择,事务日志的恢复失败,直到我与实例断开连接。
Message
2021-09-24 23:00:23.60 *** Error: Could not apply log backup file '\\devops\c$\Users\devops_user\Documents\DBLogShipping\Backups\LogShippingFiles\test12345\test12345_20210924225000.trn' to secondary database 'test12345'.(Microsoft.SqlServer.Management.LogShipping) ***
2021-09-24 23:00:23.60 *** Error: Exclusive access could not be obtained because the database is in use.
RESTORE LOG is terminating abnormally.(.Net SqlClient Data Provider) ***
我发现通过将数据库设置为 SINGLE_USER 模式:
USE master
GO
ALTER DATABASE test12345
SET SINGLE_USER
--This rolls back all uncommitted transactions in the db.
WITH ROLLBACK IMMEDIATE
GO
在查询数据库时,还原作业实际上可以正常工作,因此无需断开与服务器的连接。我的意思是那太好了!但是,当我断开连接并稍后重新连接到实例时,我看到 SINGLE_USER 模式消失了……看起来它恢复到了默认的 multi_user 模式?
有没有办法将数据库永久设置为单用户模式?
解决方案
推荐阅读
- arduino - 当我创建一个功能,一旦激活,就会回复短信
- python - Python中的变换矩阵
- git - Git - 如何从远程重新设置的分支中提取最新更改
- typescript - 为什么 TypeScript 接口不支持索引签名而类型别名支持?
- javascript - 如何更改环回 4 中有关密码长度的 HTTP 错误?
- ffmpeg - 如何在 1920x1080 视频中使用“标准 PAL”标志
- python - 将 .split 与 tkinter 一起使用
- javascript - 如何在
使用 javascript 的元素 - php - Laravel PostgreSQL 分组错误:7 错误:列“table.column”必须出现在 GROUP BY
- cloudkit - iOS:Cloudkit 链接在 iOS13 中不起作用