我正在尝试修复可疑数据库。问题是当我运行时:
EXEC sp_resetstatus property;
Run Code Online (Sandbox Code Playgroud)
它给了我这个回应:
Warning: You must recover this database prior to access.
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时:
ALTER DATABASE property SET EMERGENCY;
Run Code Online (Sandbox Code Playgroud)
它也失败了:
Msg 5011, Level 14, State 7, Line 1
User does not have permission to alter database 'property', the database does not exist, or the database is not in a state that allows access checks.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Run Code Online (Sandbox Code Playgroud)
我下一步该怎么做?谢谢。
我还需要知道在视图定义更改期间 SQL Server 如何处理视图上长时间运行的 SELECT 语句。
例如,假设我在此视图上执行一条 select 语句:
Select * from View
执行时,View 设置为:
Select * from TableA
由于维护窗口、数据更新和其他 ETL 运行时,视图更改为:
Select * from TableB
当视图中的 Select 语句仍在运行时。
SQL Server 如何看待这一点?SQL Server 是否会继续从原始定义中长时间运行 Select?或者它停止了吗?它会以新定义重新启动吗?
谢谢!
sql-server ×2