从脚本还原数据库

问题描述 投票:0回答:1

我创建了一个小脚本,以从备份中还原数据库。脚本运行后,将显示

RESTORE DATABASE在1.568秒内成功处理了28818页(143.584 MB /秒)。

我还有更多代码可以更改数据库,更改一些视图和sp,但是出现以下错误;用户无权更改数据库'GreyGoo',该数据库不存在,或者该数据库未处于允许访问检查的状态。

我也注意到我在对象资源管理器中看不到数据库

这是我用来从备份还原数据库的方法

  1. 如果数据库存在,则设置为单个用户
  2. 如果数据库存在,则删除数据库
  3. 运行以下脚本
RESTORE DATABASE GreyGoo FROM DISK = 'C:\Bkp\GreyGoo_backup_2020_03_02_180002_5403592.bak'
WITH 
MOVE 'GreyGoo' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\GreyGoo.mdf',
MOVE 'GreyGoo_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\GreyGoo.ldf', 
REPLACE;
  1. 将数据库设置为多用户和其他属性

那么问题是什么,如何解决,我目前正在SQL Server 2008上测试代码

谢谢

sql-server database-administration
1个回答
0
投票

在还原过程中,您需要确保您的

  1. 登录/权限正确。
  2. 如果不存在另一个以前的同名数据库,则删除它。也许是以前的尝试
  3. 您也可以关闭如下所示的恢复选项,恢复为默认设置

样本-MSDN

USE master;  
GO  
-- First determine the number and names of the files in the backup.  
-- AdventureWorks2012_Backup is the name of the backup device.  
RESTORE FILELISTONLY  
   FROM AdventureWorks2012_Backup;  
-- Restore the files for MyAdvWorks.  
RESTORE DATABASE MyAdvWorks  
   FROM AdventureWorks2012_Backup  
   WITH RECOVERY,  
   MOVE 'AdventureWorks2012_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',   
   MOVE 'AdventureWorks2012_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf';  
GO  
© www.soinside.com 2019 - 2024. All rights reserved.