我跑到下面的脚本消息5011,级别14,状态5,第11行ALTER DATABASE语句失败
DECLARE @name VARCHAR(50)
DECLARE @Statment VARCHAR(500)
DECLARE DB_cursor CURSOR
FOR
SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb',
'ReportServer$SQLEXPRESS',
'ReportServer$SQLEXPRESSTempDB')
OPEN DB_cursor
FETCH NEXT FROM DB_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @name
ALTER DATABASE [@name] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
SET @Statment = 'Backup database ' + @name + ' To disk =N' + ''''
+ 'C:\Mas\' + @name + '.bak' + ''''
PRINT @Statment
EXEC(@Statment)
-- ALTER DATABASE [@name] SET MULTI_USER WITH ROLLBACK IMMEDIATE
-- EXEC sp_dboption @name, N'offline', N'false'
FETCH NEXT FROM DB_cursor INTO @name
END
CLOSE DB_cursor
DEALLOCATE DB_cursor
我下面
消息5011,级别14,状态5错误,第11行
用户没有权限更改数据库'@name',数据库不存在或数据库未处于允许访问检查的状态。Msg 5069,Level 16,State 1,Line 11
ALTER DATABASE语句失败。
请让我知道我被困在如何解决这个问题。
注意: - 我运行这个脚本在登录。
路径,为什么你需要使数据库单个用户运行备份? ?? –