這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 编程语言 » 复制sql数据库显示正在运行
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

复制sql数据库显示正在运行

发布时间: 2022-04-13 01:54:00

‘壹’ sql附加数据库出错一直正在执行

  • 如下,在附加数据的时候出现如下的报错。排除分离和附加SQL SERVER数据库软件的版本问题外。造成这个问题的原因为存放数据库文件夹的权限问题造成的。

‘贰’ 为什么关闭了SQL文件但是建立的数据库还是没有办法复制,说该文件正在运行

需要在运行服务器上停止服务,才可以复制数据库文件

‘叁’ 为什么数据库文件复制不倒U盘的总是在说原文件正在使用或在共享中

如果你的数据文件正在使用,这样是不能被复制的.
如果你用的是sql server或orca数据库,必须停止数据库服务器程序才能被复制,否则就会出现上面你说的情况.

‘肆’ SQL SERVER 2008 中输入SQL语句,执行后会一直显示正在执行语句,不显示结果也不报错,怎么解决

最好把你的语句发来看看。
字段太多,记录太多,都会使查询变慢。
但更重要的是如果你加了Where条件,而且条件字段又不在索引内,对数据量大的查询来说,
简直是灾难!!
10年前我在小型机上做过几千万记录中查某些记录,由于没在索引中,结果快1天都没结果。
后来改为有索引的条件,不到一秒就OK了。
后来就牢牢记得在Where中强制引入索引内的条件,将大大提升查询效率。

‘伍’ SQL一直正在执行查询出不了结果

--方法一
declare@yint,@totalint,@zint
declare@startTimedatetime=getdate()
set@y=1
set@total=0
while@y<=10000
begin
if(@y%10=0)
begin
set@y=@y+1
continue
end
else
set@total=@total+@y
set@y=@y+1--没有这句的话,你的@y永远等1啊
if(@total>10000000)
begin
break;
end
end
selectdatediff(ms,@startTime,getdate())
select@total

--方法二
declare@startTimedatetime=getdate();
withT
As
(
select1AsA,1AsRst
unionall
SelectA+1,Rst+casewhen(A+1)%10=0then0elseA+1EndFromTwhereRst<10000000
)
selectMAX(Rst)fromT
option(MAXRECURSION10000)
selectdatediff(ms,@startTime,getdate())

‘陆’ 怎么拷贝速达3000数据库拷贝的时候显示有个文件正在运行拷贝失败

速达最好的办法是做备份和恢复
数据库备份:是在SQL里面进行的备份,在我的电脑--右健--管理---服务和应用里找到SQL的数据库,备份就可以了
拷贝速达的数据库整个文件包,先退出SQL服务器,在我的电脑--右健--管理---服务和应用里--服务--找到SQL服务器,停止,再拷贝就行了

‘柒’ 当sql server服务器正在运行时用户需将自己创建好的数据库复制带走,应该如何操作

你是想直接靠周mdf文件还是?
如果只是想拷走mdf文件的话最简单的方法就是先找到mdf文件所在的路径,然后停止sqlserver服务,然后直接复制mdf以及对应的ldf文件就可以了。

‘捌’ 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数据库下面执行。

‘玖’ oracle用sql语句插入数据,为什么老是显示正在运行

可能是表被锁了,可以杀死其它Session,也可以简单的重启数据库。

‘拾’ 为何sql附加数据库出现错误32 另一程序正在使用

这个问题我也遇到过,
是相同目录下的程序正在运行,里面引用了这个mdf文件,或者是嵌套了这个数据库,所以会那样,
关闭同目录下的应用程序,
然后将\Management.mdf和日志文件拷贝到sql2000的安装目录下
比如C:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA目录下,然后附加这个数据库,然后看能不能成功,