① sql Server 2000在还原数据库时,提示“超时已过期”
如果多次报超时错,而电脑运行其它程序并无明显缓慢迹象,应该查找其它方面原因。
1.首先观察系统分区和数据库所在分区的硬盘剩余空间,建议硬盘剩余空间在该分区空间的10%以上。如果数据库分区剩余空间过小,有可能无法还原数据库。
2.如果排除了硬盘空间问题,可先将使用数据库解挂或备份,然后删除SQL Server 2000,从系统的Program Files下删除Microsoft SQL Server文件夹,然后再重新安装Microsoft SQL Server,最后还原或附加数据库。
② SQL2000数据库恢复操作提示错误
把服务器重启一下,再回复,因为现在数据库正在使用中,所以没法回复,重启时你最好先把服务器的网线拔下来,因为别人有可能还会连这个数据库,这样的话你还是无法恢复数据库
③ sql server2000还原数据库 提示正在被使用
可能是你要还原的这个数据库正在使用,你必须脱机或者关闭连接才可以的
④ SQL SERVER 2000创建数据库提示文件正在使用如何处理
说明已存在一个名字为T 的数据库了哇。你再的创建那肯定会出错嘛。你应该是不止一次运行这条语句了。可以把T改个名字,或者把原来存在的数据库先删除掉。
⑤ 我要还原一数据库A 用的是SQL SERVER2000,还原中提示版本过低,要用2005,可我不想用2005,还有其他办法
地址已经更新,你重新打开看看吧!
sql2005中的备份要在sql2000中还原,首先在sql2005中还原,然后选择兼容sql2000(80),备份后再在sql2000种还原。
可以的,我试过一种方法你可以参考一下!
相信你能看懂的!
⑥ sql数据库恢复失败,正在使用 怎么回事
<a href=".windbi/showtopic-35.aspx" rel=nofollow>.windbi/showtopic-35.aspx</a>备份一个数据库,并恢复为其他名称的数据库--王成辉原创,转贴请注明出自微软BI开拓者<a href=".windbi" rel=nofollow>.windbi</a>--备份
BACKUP DATABASE OldDataBase
TO DISK = 'C:\OldDataBase.bak'--验证RESTORE FILELISTONLY
FROM DISK = 'C:\OldDataBase.bak'--恢复RESTORE DATABASE NewDataBase
FROM DISK = 'C:\OldDataBase.bak'
with replace,
MOVE 'OldDataBase_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDataBase_Data.MDF',
MOVE 'OldDataBase_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDataBase_Log.LDF'
--更改逻辑名
⑦ SQL SEVER 2000 备份还原问题
消息正文
因为数据库正在使用,所以未能获得对数据库的排它访问权。
解释
如果在用户正访问数据库时试图装载备份,则发生该错误。该错误会在使用 RESTORE DATABASE 或 RESTORE LOG 时发生。当包括您自己在内的任何用户正在使用数据库时,无法使用 RESTORE DATABASE 语句。
办法:
等待所有用户都已使用完毕数据库后,再使用 RESTORE DATABASE 语句。在发出 RESTORE DATABASE 语句时,确保未使用正在装载的数据库。
⑧ sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户。解决办法就是关闭与要还原数据库的所有连接。
脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务即可。
问题一描述:SQL
Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样
问题二描述:在对SQL
Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)。出现此问题的原因是在还原数据库时,有其他用户正在使用数据库。还原数据库要求数据库工作在单用户模式。通常就是DBA在操作时,不允许其他用户连接数据库。
问题一解决办法:
右键点击数据库
->
属性
->
选项
->
状态
->
限制访问
->
选择Multiple
->
确定。
问题二解决办法:
方法一(最方便):右键点击数据库
->
属性
->
选项
->
状态
->
限制访问
->
选择Single->
确定。然后还原。
方法二(最直接):断开数据库连接
方法三(最暴力):注销/重启数据库服务器
方法四(最麻烦):写代码修改数据库相关属性,虽然麻烦,有的时候还是要用到,那就用到的时候再研究。
①先切换数据库到master数据库。执行语句
select
*
from
master..sysprocesses
where
dbid=db_id(
'数据库名称')
②然后逐步运行语句
exec
kill
spid(上一步结果集中的数据),
问题就解决了。哈哈
今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题。现将引发该问题的原因与解决方案写出来,有不对的地方欢迎大家提出来。
引发原因:是因为我在还原数据库的时候,还有其他的用户正在使用数据库,所以就会出现以上提示。
解决方法:
1,设置数据库在单用户模式下工作。
设置方法:在需要还原的数据库上右击,在右键菜单命令上选择"属性"-
>"选项"-
>"状态"-
>"限制访问"-
>"Single"。这是SQLSERVER2005的菜单命令,其它版本请自己查找。
2,利用SQL语句,杀死正在使用该数据库的所有进程,自己以前在做一个SQL
SERVER操作小工具的时候有写过该功能的SQL,贴出来供大家参考:
复制代码
代码如下:
declare
@dbname
varchar(50)
set
@dbname='数据库名称'
declare
@sql
varchar(50)
declare
cs_result
cursor
local
for
select
'kill
'+cast(spid
as
varchar(50))
from
sys.sysprocesses
where
db_name(dbid)=@dbname
open
cs_result
fetch
next
from
cs_result
into
@sql
while
@@fetch_status=0
begin
execute(@sql)
fetch
next
from
cs_result
into
@sql
end
close
cs_result
deallocate
cs_result
该SQL语句利用游标循环所有正在使用该数据库的进程,并通过kill命令杀死进程。
3,利用SQL语句,断开所有用户链接,并回滚所有事务,具体SQL语句如下:
复制代码
代码如下:
ALTER
DATABASE
[数据库名称]
SET
OFFLINE
WITH
ROLLBACK
IMMEDIATE
注意:在使用方法2与3时,不要在需要的还原的数据库下执行,建议在master数据库下面执行。
⑨ 用SQL Server2000还原数据库,提示数据库正在使用,未能获得对数据库的排他访问权,数据库无法脱机
分离数据库后试试看。
⑩ sql2000关于数据库还原
前提必须你的数据是完整日志。这是必须的
然后按照下面的步骤来恢复数据库
从日志回复数据库 :
--创建测试数据库
CREATE DATABASE Db
GO
--对数据库进行备份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO
--创建测试表
CREATE TABLE Db.dbo.TB_test(ID int)
--延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)
WAITFOR DELAY '00:00:01'
GO
--假设我们现在误操作删除了 Db.dbo.TB_test 这个表
DROP TABLE Db.dbo.TB_test
--保存删除表的时间
SELECT dt=GETDATE() INTO #
GO
--在删除操作后,发现不应该删除表 Db.dbo.TB_test
--下面演示了如何恢复这个误删除的表 Db.dbo.TB_test
--首先,备份事务日志(使用事务日志才能还原到指定的时间点)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO
--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --获取比表被删除的时间略早的时间
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO
--查询一下,看表是否恢复
SELECT * FROM Db.dbo.TB_test
/*--结果:
ID
-----------
(所影响的行数为 0 行)
--*/
--测试成功
GO
--最后删除我们做的测试环境
DROP DATABASE Db
DROP TABLE #