我有一个数据库 XYZ,它有一个损坏的日志文件,现在由于日志文件完全无法使用,这导致这个特定的数据库无法使用,我需要能够重建它。
我已经对这个过程进行了大量研究,但我陷入了 dbcc checkdb 的困境。
我运行了命令
alter database xyz SET single_user with immediate rollback
Run Code Online (Sandbox Code Playgroud)
随后
use master
dbcc checkdb('xyz',REPAIR_ALLOW_DATA_LOSS)
Run Code Online (Sandbox Code Playgroud)
但我一直遇到这个错误:
Msg 924, Level 14, State 1, Line 2
Database 'XYZ' is already open and can only have one user at a time.
Run Code Online (Sandbox Code Playgroud)
我研究的所有内容都表明数据库需要处于紧急模式,然后该数据库需要处于单用户模式。如果我将数据库恢复为多用户模式,则表明数据库需要处于单用户模式。好吧,我这样做,然后得到这个问题。
我跑了
select spid from master..sysprocesses where dbid = DB_ID('XYZ') and spid <> @@spid
Run Code Online (Sandbox Code Playgroud)
检查使用数据库的任何进程,但没有返回任何行,并且日志不显示有关正在恢复的数据库或任何此类性质的任何信息。DB 确实显示为“紧急情况”。
有任何想法吗?
假设我在 Windows Server 任务计划程序中安排了任务 A,并将其设置为每天运行 6 次。
我在下一次运行前 20 分钟手动运行它,但我忘记运行它大约需要 20 分钟,所以我不希望它同时运行它的多个实例。
如果我禁用该任务,它会立即停止正在运行该任务的当前进程还是会继续直到它完成?
我的远程桌面功能目前由 Server 2012 中的远程桌面许可功能随机持有。
在我的服务器上,我安装了“远程桌面许可服务”功能/角色以及它下面的所有内容,目的是有一天配置它,以便我可以说“我做到了”。但是,配置它的时间已过,我完全忘记了它会禁用对服务器的远程桌面访问,现在我不知道该怎么办。我没有在服务器上配置许可证服务器,我认为这是我需要做的,但是有没有更简单或更简单的方法来避免我完全不必弄乱远程桌面许可,这样我就可以开始远程返回从家里的其他机器进入我的服务器?
请告知阻力最小的路径。