相关疑难解决方法(0)

SQL Server:数据库陷入"恢复"状态

我备份了一个数据库:

BACKUP DATABASE MyDatabase
TO DISK = 'MyDatabase.bak'
WITH INIT --overwrite existing
Run Code Online (Sandbox Code Playgroud)

然后尝试恢复它:

RESTORE DATABASE MyDatabase
   FROM DISK = 'MyDatabase.bak'
   WITH REPLACE --force restore over specified database
Run Code Online (Sandbox Code Playgroud)

现在数据库仍处于恢复状态.

有些人认为这是因为备份中没有日志文件,需要使用以下方式前滚:

RESTORE DATABASE MyDatabase
WITH RECOVERY 
Run Code Online (Sandbox Code Playgroud)

当然,除此之外,失败:

Msg 4333, Level 16, State 1, Line 1
The database cannot be recovered because the log was not restored.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)

确切地说,在灾难性的情况下你想要的是一种无法恢复的恢复.


备份包含数据和日志文件:

RESTORE FILELISTONLY 
FROM DISK = 'MyDatabase.bak'

Logical Name    PhysicalName
=============   =============== …
Run Code Online (Sandbox Code Playgroud)

sql-server backup restore

549
推荐指数
15
解决办法
87万
查看次数

备份集包含除现有数据库之外的数据库的备份

我正在尝试为我的数据库恢复SQL Server备份文件,但它发出如下错误:

备份集包含除现有数据库之外的数据库的备份

我在SQL Server 2008中的数据库和备份文件是在2005年.

可能是什么问题?

sql-server

453
推荐指数
14
解决办法
38万
查看次数

如何在sql server中恢复到不同的数据库?

我从一周前开始备份Database1.备份在调度程序中每周完成,我得到一个.bak文件.现在我想摆弄一些数据,所以我需要将它恢复到另一个数据库 - Database2.

我已经看到了这个问题:在不同名称的同一台PC上恢复SQL Server数据库,建议的步骤是重命名原始数据库,但我没有那个选项,因为我在生产服务器中,我真的不能这样做.

有没有其他方法可以恢复它Database2,或者至少,我如何浏览该.bak文件的数据?

谢谢.

ps:来自上面链接的第二个答案看起来很有希望,但它一直以错误结束:

还原文件列表异常终止

backup restore sql-server-2008

214
推荐指数
5
解决办法
34万
查看次数

必须声明标量变量

@RowFrom int

@RowTo int

是存储过程的全局输入参数,因为我使用T-SQL编译存储过程内的SQL查询,然后Exec(@sqlstatement)在存储过程的末尾使用它来显示结果,当我尝试使用它时,它会给我这个错误在执行的变量中@RowFrom或者@RowTo内部@sqlstatement..否则工作正常..请帮助.

"Must declare the scalar variable "@RowFrom"."
Run Code Online (Sandbox Code Playgroud)

另外,我尝试在@sqlstatement变量中包含以下内容:

'Declare @Rt int'
'SET @Rt = ' + @RowTo
Run Code Online (Sandbox Code Playgroud)

@RowTo仍然没有将其值传递给@Rt 并生成错误.

sql sql-server stored-procedures

70
推荐指数
4
解决办法
48万
查看次数

在SQL Server Express中复制数据库?

我想制作一个我拥有的数据库的副本,但是将它与测试数据库保存在同一台服务器上.但是,我发现的一切都是使用复制数据库向导(我正在使用MS SQL Server Express).

说明始终说:在SQL Server Management Studio的"对象资源管理器"中,展开"数据库",右键单击数据库,指向"任务",然后单击"复制数据库".

我没有"复制数据库"选项.我作为管理员运行,所以不知道为什么它不适合我 - 这是我必须单独安装的东西吗?我无法执行Detach/Attach,因为它正在复制到同一台服务器.我尝试分离,复制MDF/LDF,重命名,附加但是你可以想象这已经搞砸了:)我不太喜欢用SQL来编写所有这些.我有可以使用的工具吗?

sql-server sql-server-express

49
推荐指数
6
解决办法
8万
查看次数

用于"复制"数据库的SQL脚本

我想编写一个SQL脚本,它将在同一台服务器上复制数据库.我可以进行备份/恢复,但我认为以某种方式"复制"可能会更快.有谁知道这是否可能?有没有办法编写一个只需要分离的脚本,将文件复制到HD上,然后重新附加两个副本?

sql-server

13
推荐指数
4
解决办法
3万
查看次数