如下,在附加數據的時候出現如下的報錯。排除分離和附加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目錄下,然後附加這個資料庫,然後看能不能成功,