本文目錄一覽:
- 1、數據庫中講的“插入異常”“刪除異常”“修改異常”是什麼意思啊?
- 2、達夢數據庫沒有刪除模式的權限
- 3、sqlserver 怎麼清理 dm
- 4、網站後台數據庫但是無法刪除或修改怎麼辦呢?
- 5、dameng數據庫麒麟系統下如何卸載
- 6、SQL中數據庫中KDacctDB怎麼刪除不了,右擊就會出現這樣的對話框
數據庫中講的“插入異常”“刪除異常”“修改異常”是什麼意思啊?
“插入異常”是指當要往數據庫中插入新的數據的時候,插入不成功導致異常;
“刪除異常”是指當要刪除數據庫中數據的時候,不能刪除,刪除不成功;
”修改異常”是指當要修改數據庫中數據的時候,修改不成功;
數據庫中的“插入異常”、“刪除異常”、“修改異常”是數據庫模式中存在依賴關係導致的。
達夢數據庫沒有刪除模式的權限
只有DBA權限用戶或者屬於自己的模式才可以刪除。達夢數據庫刪除模式只有DBA權限用戶或者屬於自己的模式才可以刪除。夢數據庫管理系統是達夢公司推出的具有完全自主知識產權的高性能數據庫管理系統,簡稱DM。達夢數據庫管理系統的最新版本是7.0版本,簡稱DM7。DM7採用全新的體系架構,在保證大型通用的基礎上,針對可靠性、高性能、海量數據處理和安全性做了大量的研發和改進工作,極大提升了達夢數據庫產品的性能、可靠性、可擴展性,能同時兼顧OLTP和OLAP請求,從根本上提升了DM7產品的品質。
sqlserver 怎麼清理 dm
SQL Server常見的問題主要是SQL問題造成,常見的主要是CPU過高和阻塞。
一、CPU過高的問題
1、查詢系統動態視圖查詢執行時間長的sql語句
WITH ProcessCTE(blocked) AS ( SELECT spid FROM sys.sysprocesses WHERE cpu500 ) SELECT distinct a.* FROM ( SELECT TEXT,AA.* FROM sys.sysprocesses AA CROSS APPLY sys.dm_exec_sql_text(AA.sql_handle) ) a JOIN ProcessCTE bucte WITH(NOLOCK) ON bucte.blocked=a.spid –where loginame = ‘TCScenery’ ORDER BY a.CPU
二、阻塞問題
1、查詢系統動態視圖查詢阻塞的sql語句
WITH ProcessCTE(blocked) AS ( SELECT blocked FROM sys.sysprocesses WHERE blocked0 union SELECT blocked FROM sys.sysprocesses WHERE blocked0 ) SELECT distinct a.* FROM ( SELECT TEXT,AA.* FROM sys.sysprocesses AA CROSS APPLY sys.dm_exec_sql_text(AA.sql_handle) ) a JOIN ProcessCTE bucte WITH(NOLOCK) ON bucte.blocked=a.spid ORDER BY a.blocked
2、使用系統自帶的存儲過程
Sp_who2和sp_lock以及使用dbcc inputbuffer(spid) 也可以用來分析阻塞
sp_who可以返回如下信息: (可選參數LoginName, 或active代表活動會話數)
Spid (系統進程ID)
status (進程狀態)
loginame (用戶登錄名)
hostname(用戶主機名)
blk (阻塞進程的SPID)
dbname (進程正在使用的數據庫名)
Cmd (當前正在執行的命令類型)
sp_who2除了顯示上面sp_who的輸出信息外,還顯示下面的信息: (可選參數LoginName, 或active代表活動會話數)
CPUTime (進程佔用的總CPU時間)
DiskIO (進程對磁盤讀的總次數)
LastBatch (客戶最後一次調用存儲過程或者執行查詢的時間)
ProgramName (用來初始化連接的應用程序名稱,或者主機名)
下面是sp_who的用法,sp_who2與此類似
A.列出全部當前進程
以下示例使用沒有參數的 sp_who 來報告所有當前用戶。
USE master; GO EXEC sp_who; GO
B.列出特定用戶的進程
以下示例顯示如何通過登錄名查看有關單個當前用戶的信息。
USE master; GO EXEC sp_who ‘janetl’; GO
C.顯示所有活動進程
USE master; GO EXEC sp_who ‘active’; GO
D.顯示會話 ID 標識的特定進程
USE master; GO EXEC sp_who ’10’ –specifies the process_id; GO
sp_lock用法說明
sp_lock [ [ @spid1 = ] ‘session ID1’ ] [ , [@spid2 = ] ‘session ID2’ ][ ; ]
[ @spid1 = ] ‘session ID1’
來自用戶想要鎖定其信息的 sys.dm_exec_sessions 的數據庫引擎會話 ID 號。 session ID1 的數據類型為 int,默認值為 NULL。 執行 sp_who 可獲取有關該會話的進程信息。 如果未指定會話 ID1,則顯示有關所有鎖的信息。
[ @spid2 = ] ‘session ID2’
來自 sys.dm_exec_sessions 的另一個數據庫引擎會話 ID 號,該會話 ID 號可能與 session ID1 同時具有鎖,並且用戶也需要其有關信息。 session ID2 的數據類型為 int,默認值為 NULL。
在 sp_lock 結果集中,由 @spid1 和 @spid2 參數指定的會話所持有的每個鎖都對應一行。 如果既未指定 @spid1 又未指定 @spid2,則結果集將報告當前在數據庫引擎實例中處於活動狀態的所有會話的鎖。
列名
數據類型
說明
spid
smallint
請求鎖的進程的數據庫引擎會話 ID 號。
dbid
smallint
保留鎖的數據庫的標識號。 可以使用 DB_NAME() 函數來標識數據庫。
ObjId
int
持有鎖的對象的標識號。 可以在相關數據庫中使用 OBJECT_NAME() 函數來標識對象。 值為 99 時是一種特殊情況,表示用於記錄數據庫中頁分配的其中一個系統頁的鎖。
IndId
smallint
持有鎖的索引的標識號。
類型
nchar(4)
鎖的類型:
RID = 表中單個行的鎖,由行標識符 (RID) 標識。
KEY = 索引內保護可串行事務中一系列鍵的鎖。
PAG = 數據頁或索引頁的鎖。
EXT = 對某區的鎖。
TAB = 整個表(包括所有數據和索引)的鎖。
DB = 數據庫的鎖。
FIL = 數據庫文件的鎖。
APP = 指定的應用程序資源的鎖。
MD = 元數據或目錄信息的鎖。
HBT = 堆或 B 樹索引的鎖。 在 SQL Server 中此信息不完整。
AU = 分配單元的鎖。 在 SQL Server 中此信息不完整。
Resource
nchar(32)
標識被鎖定資源的值。 值的格式取決於 Type 列標識的資源類型:
Type 值:Resource 值
RID:格式為 fileid:pagenumber:rid 的標識符,其中 fileid 標識包含頁的文件,pagenumber 標識包含行的頁,rid 標識頁上的特定行。 fileid 與sys.database_files 目錄視圖中的 file_id 列相匹配。
KEY:數據庫引擎內部使用的十六進制數。
PAG:格式為 fileid:pagenumber 的數字,其中 fileid 標識包含頁的文件,pagenumber 標識頁。
EXT:標識區中的第一頁的數字。 該數字的格式為 fileid:pagenumber。
TAB:沒有提供信息,因為已在 ObjId 列中標識了表。
DB:沒有提供信息,因為已在 dbid 列中標識了數據庫。
FIL:文件的標識符,與 sys.database_files 目錄視圖中的 file_id 列相匹配。
APP:被鎖定的應用程序資源的唯一標識符。 格式為 DbPrincipleId:資源字符串的前 2 個到 16 個字符哈希運算值。
MD:隨資源類型而變化。 有關詳細信息,請參閱 sys.dm_tran_locks (Transact-SQL) 中 resource_description 列的說明。
HBT:沒有提供任何信息。 請改用 sys.dm_tran_locks 動態管理視圖。
AU:沒有提供任何信息。 請改用 sys.dm_tran_locks 動態管理視圖。
模式
nvarchar(8)
所請求的鎖模式。 可以是:
NULL = 不授予對資源的訪問權限。 用作佔位符。
Sch-S = 架構穩定性。 確保在任何會話持有對架構元素(例如表或索引)的架構穩定性鎖時,不刪除該架構元素。
Sch-M = 架構修改。 必須由要更改指定資源架構的任何會話持有。 確保沒有其他會話正在引用所指示的對象。
S = 共享。 授予持有鎖的會話對資源的共享訪問權限。
U = 更新。 指示對最終可能更新的資源獲取的更新鎖。 用於防止一種常見的死鎖,這種死鎖在多個會話鎖定資源以便稍後對資源進行更新時發生。
X = 排他。 授予持有鎖的會話對資源的獨佔訪問權限。
IS = 意向共享。 指示有意將 S 鎖放置在鎖層次結構中的某個從屬資源上。
IU = 意向更新。 指示有意將 U 鎖放置在鎖層次結構中的某個從屬資源上。
IX = 意向排他。 指示有意將 X 鎖放置在鎖層次結構中的某個從屬資源上。
SIU = 共享意向更新。 指示對有意在鎖層次結構中的從屬資源上獲取更新鎖的資源進行共享訪問。
SIX = 共享意向排他。 指示對有意在鎖層次結構中的從屬資源上獲取排他鎖的資源進行共享訪問。
UIX = 更新意向排他。 指示對有意在鎖層次結構中的從屬資源上獲取排他鎖的資源持有的更新鎖。
BU = 大容量更新。 用於大容量操作。
RangeS_S = 共享鍵範圍和共享資源鎖。 指示可串行範圍掃描。
RangeS_U = 共享鍵範圍和更新資源鎖。 指示可串行更新掃描。
RangeI_N = 插入鍵範圍和 Null 資源鎖。 用於在將新鍵插入索引前測試範圍。
RangeI_S = 鍵範圍轉換鎖。 由 RangeI_N 和 S 鎖的重疊創建。
RangeI_U = 由 RangeI_N 和 U 鎖的重疊創建的鍵範圍轉換鎖。
RangeI_X = 由 RangeI_N 和 X 鎖的重疊創建的鍵範圍轉換鎖。
RangeX_S = 由 RangeI_N 和 RangeS_S 鎖的重疊創建的鍵範圍轉換鎖 。
RangeX_U = 由 RangeI_N 和 RangeS_U 鎖的重疊創建的鍵範圍轉換鎖。
RangeX_X = 排他鍵範圍和排他資源鎖。 這是在更新範圍中的鍵時使用的轉換鎖。
狀態
nvarchar(5)
鎖的請求狀態:
CNVRT:鎖正在從另一種模式進行轉換,但是轉換被另一個持有鎖(模式相衝突)的進程阻塞。
GRANT:已獲取鎖。
WAIT:鎖被另一個持有鎖(模式相衝突)的進程阻塞。
DBCC INPUTBUFFER
顯示從客戶端發送到 Microsoft® SQL Server™ 的最後一個語句。
語法
DBCC INPUTBUFFER (spid)
參數
spid
是 sp_who 系統存儲過程的輸出中所顯示的用戶連接系統進程 ID (SPID)。
結果集
DBCC INPUTBUFFER 返回包含如下列的行集。
列名
數據類型
描述
EventType
nvarchar(30)
事件類型,例如:RPC、語言或無事件。
Parameters
Int
0 = 文本
1- n = 參數
EventInfo
nvarchar(255)
對於 RPC 的 EventType,EventInfo 僅包含過程名。對於語言或無事件的 EventType,僅顯示事件的頭 255 個字符。
例如,當緩衝區中的最後事件是 DBCC INPUTBUFFER(11) 時,DBCC INPUTBUFFER 將返回以下結果集。
EventType Parameters EventInfo
————– ———- ———————
Language Event 0 DBCC INPUTBUFFER (11)
(1 row(s) affected)
網站後台數據庫但是無法刪除或修改怎麼辦呢?
一、常規解決辦法:
1.注消或重啟電腦,然後再試着刪除。
2.進入“安全模式刪除”。
3.在純DOS命令行下使用DEL,DELTREE和RD命令將其刪除。
4.如果是文件夾中有比較多的子目錄或文件而導致無法刪除,可先刪除該文件夾中的子目錄和文件,再刪除文件夾。
5.在任務管理器中結束Explorer.exe進程,然後在命令提示符窗口刪除文件。
6.如果你有安裝ACDSee,FlashFXP,Nero,Total這幾個軟件,可以嘗試在這幾個軟件中刪除文件夾。
二、高級解決方案:
1.磁盤錯誤
運行磁盤掃描,並掃描文件所在分區,掃描前確定已選上修復文件和壞扇區,全面掃描所有選項,掃描後再刪除文件。
2.預讀機制:
某些媒體播放中斷或正在預覽時會造成無法刪除。在“運行”框中輸入:REGSVR32 /U SHMEDIA.DLL,註銷掉預讀功能。或刪除註冊表中下面這個鍵值:[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}\InProcServer32]。
3.防火牆:
由於反病毒軟件在查毒時會佔用正在檢查的文件,從而導致執行刪除時提示文件正在使用,這時可試着暫時關閉它的即時監控程序,或許可以解決。
4.OFFice、WPS系列軟件:
OFFice的非法關閉也會造成文件無法刪除或改名。重新運行該程序,然後正常關閉,再刪除文件。
5.藉助WinRAR:
右擊要刪除的文件夾,選擇“添加到壓縮文件”。在彈出的對話框中選中“壓縮後刪除源文件,”隨便寫個壓縮包名,點確定。
6.權限問題:
如果是2000和xp系統,請先確定是否有權限刪除這個文件或文件夾。
7.可執行文件的刪除:
如果可執行文件的映像或程序所調用的DLL動態鏈接庫文件還在內存中未釋放,刪除時就會提示文件正在使用,解決方法是刪除系統的頁面文件,Win98中是Win386.SWP,Win2000/XP是pagefile.sys。注意要在DOS下刪除。
8.文件粉碎法:
使用文件粉碎機,如File Pulverizer,可以徹底刪除一些頑固文件。
三、製作一個無法刪除的“文件保險箱”
文件夾無法刪除,未必就是不好的事情,如果把一些重要的文件放在這個目錄中,不就可以避免誤刪了嗎?一個文件名只包含空格的文件夾在Windows中是不允許創建和刪除的,但在DOS下卻可以創建文件名包含\的文件夾。
在我們使用Windows的過程中,會遇到各種各樣的問題。即使是最簡單的刪除文件也可能遇到麻煩,要麼系統提示“文件正在被另一個人或程序使用”,要麼就是報告“訪問被拒絕”……如果你也遇到過這種情況,不妨看看本文。
原因一:文件正在使用中
在刪除文件時,經常會遇到的一個問題是,文件正在使用,無法刪除。如果試圖刪除以獨佔訪問而不是以共享訪問方式打開,並且正在使用中的文件時,系統就會出現錯誤提示:“無法刪除xxx:文件正在被另一個人或程序使用”。而另一種情況則是,能夠使用刪除命令刪除文件,但在打開文件的進程釋放該文件之前,文件實際上並未刪除。
要解決上述問題,需要確定擁有文件打開句柄的進程,然後關閉此進程。在以前的Windows中,我們可以使用資源工具包的Oh.exe。但在XP中,安裝好的Support
Tools卻不帶Oh.exe。不過,XP提供了一個新的Openfiles.exe命令行工具,它能夠報告進程打開的各個文件。與Oh.exe相似,Openfiles.exe也要求打開系統內核監視,這會消耗一些內存,並降低系統操作的性能。打開系統監視的命令是“Openfiles
/local
on”,它會啟用系統全局標誌“維護對象列表”,需重新啟動系統才能生效。重新啟動系統後,在命令提示符下執行不帶參數的“Openfiles”,即可看到各個進程打開文件的清單。
原因二:文件系統損壞
磁盤上的壞區、其他硬件故障或者軟件錯誤都可能會損壞文件系統,使文件出現問題而無法刪除。典型操作失敗的方式可能各不相同,當檢測到文件系統損壞時,通常會收到一條提示運行Chkdsk的信息。
如果遇到這種情況,可以在磁盤卷上運行Chkdsk實用工具以糾正任何存在的錯誤。根據損壞的性質,Chkdsk也許能夠恢復文件數據,也許無法恢復,但Chkdsk可以使文件系統返回到一種在內部一致的狀態。有關Chkdsk實用工具的命令及參數,可以在命令提示符下執行“Chkdsk
/?”查閱。
原因三:文件使用了存取控制列表
如果某個文件使用了存取控制列表(Access Control
List,簡稱ACL),而操作者又沒有相應的權限,那麼刪除文件時就可能出現“訪問被拒絕”的提示。
通常情況下,管理員具有取得任何文件所有權的隱含能力,文件所有者也具有修改文件權限的隱含能力。不過,這些默認的權限是可以被修改的。
要解決因ACL導致文件無法刪除的問題,就必須以具有相應權限的用戶身份登錄,或者是賦予自己刪除文件的權限,然後才能刪除文件。要注意的是,操作者必須擁有這些文件的所有權才能更改權限。如果是因為文件使用了不規範的ACL而不能使用某些安全工具顯示或修改其權限時,可以嘗試使用命令行工具Cacls.exe進行修改。
原因四:文件名使用了一個保留名稱
眾所周知,像AUX、LPT1這樣的名稱是為舊式DOS設備保留的。為了向後兼容,在Windows中不允許使用這些文件名,也不能使用典型的Win32文件調用來創建它們。反之,如果文件名是Win32命名空間中的一個保留名稱,則同樣可能無法刪除此文件。
要解決此類問題,可以在Linux或其他非Windows的操作系統下重命名或刪除該文件。另外,如果能夠使用特定的語法指定到該文件的路徑,也可以使用一些內置的命令繞過典型的Win32保留名稱檢查。例如,在Windows
XP中使用以下命令,可以刪除名為“lpt1”的文件(Del命令後面加上“?”來避免Windows檢查文件名的合法性):
Del [URL=:]?c:[/URL]文件路徑lpt1
原因五:無效的文件名稱
如果文件名中包括一個無效名稱,例如文件名有一個尾隨空格,或一個尾隨句點,或者文件名僅由一個空格組成,同樣可能無法刪除該文件。值得一提的是,如果使用典型的Win32語法打開名稱中有尾隨空格或尾隨句點的文件,則尾隨空格或句點在打開實際文件之前會被去掉。因此,如果在同一個文件夾中有兩個分別名為“File.txt”和“File.txt
”的文件(注意第二個文件名後面的空格),當使用標準Win32調用打開第二個文件時,實際上會打開第一個文件。同樣,如果文件的名稱僅是“
”(一個空格字符),當嘗試使用標準Win32調用打開它時,實際上會打開該文件的父文件夾。在此情況下,如果嘗試更改這些文件上的安全設置,就有可能會意外更改其他文件上的設置。
與解決文件名使用保留名稱的方法類似,可以使用一種適當的內部語法刪除此文件。例如要刪除包含尾隨空格的文件,可以使用如下命令:
Del [URL=?]?[/URL] c:文件路徑(尾隨空格的文件名)
原因六:文件路徑太深無法訪問
文件位於比最大路徑字符數(MAX_PATH)更深的路徑中,可能導致文件無法訪問,當然,這種情況較為少見。如果路徑深的原因是文件夾名稱太長,最簡便的解決方案是使用自動生成的8.3名稱訪問該文件。如果8.3路徑也太長,可以從根文件夾開始重命名文件夾,縮短它們的名稱,以使目標文件的路徑深度不超過MAX_PATH。若是文件的深度超過128個文件夾,可以通過創建一個網絡共享,使其位於文件夾樹中儘可能深的位置,然後通過訪問此共享來訪問文件。
一般情況下,如果遇到因文件路徑太深無法訪問的情況,可以通過使用創建文件的軟件來管理這些文件。也就是說,如果有一個程序,它可以創建超過MAX_PATH的文件,則我們也可以使用該程序來管理這些文件。此外,對於通過網絡共享創建的深層次結構的文件也可以通過使用同一共享來進行刪除。
前面介紹了Windows系統中文件或文件夾無法刪除的幾種原因以及解決的方法。在某些情況下,可能還會遇到上述各種原因的不同組合,使得刪除文件的過程更加複雜。這就需要讀者能夠舉一反三,靈活應用微軟提供的各種實用工具進行解決了。
Windows XP中刪除AVI文件的問題
很多朋友可能會遇到Windows XP中無法刪除AVI文件的問題,這主要是由於Windows
XP視頻預覽功能的Bug所導致的。你可以嘗試用以下方法進行刪除。
方法一 在運行命令框中輸入“Regs-vr32/u
Shmedia.dll”並回車,卸去Windows
XP的視頻文件預覽功能。當以後想要恢復視頻預覽功能時,再使用“Regsvr32Shmedia.dll”命令重新註冊即可。
方法二
先打開命令提示符窗口,然後在任務管理器中結束Explorer進程,再從命令提示符窗口中切換到保存視頻文件的文件夾下,用Del命令刪除文件。
方法三
如果安裝了雙系統,可以從另一個系統,如Win98下進行刪除。
dameng數據庫麒麟系統下如何卸載
切換到dmdba用戶,cd到數據安裝目錄,
然後執行,/uninstall.sh命令。
彈出卸載彈窗,點擊確定按鈕。
然後點擊卸載按鈕。
最後按要求執行命令。
點擊完成按鈕,數據庫成功卸載!
SQL中數據庫中KDacctDB怎麼刪除不了,右擊就會出現這樣的對話框
請描述清楚,你的數據庫版本,你要刪除的數據庫的狀態,是否為灰色質疑狀態。
參考答案:
日常對Sql Server 2005關係數據庫進行操作時,有時對數據庫(如:Sharepoint網站配置數據庫名Sharepoint_Config)進行些不正常操作如數據庫在讀寫時而無故停止數據庫,從而導致Sql Server 2005數據庫不正常中斷,當再次打開數據庫時會發現某些數據庫會被標記為“可疑”(suspect),即在數據庫名旁加上了黃色的驚嘆號,這時數據庫就不能再被打開了,但數據庫的結構及數據內容都還是存在的。
解決方法:
當數據庫發生這種操作故障時,可以按如下操作步驟可解決此方法,打開數據庫里的Sql 查詢編輯器窗口,運行以下的命令。
1、修改數據庫為緊急模式
ALTER DATABASE Sharepoint_Config SET EMERGENCY
2、使數據庫變為單用戶模式
ALTER DATABASE Sharepoint_Config SET SINGLE_USER
3、修複數據庫日誌重新生成,此命令檢查的分配,結構,邏輯完整性和所有數據庫中的對象錯誤。當您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令參數,該程序將檢查和修復報告的錯誤。但是,這些修復可能會導致一些數據丟失。
DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)
4、使數據庫變回為多用戶模式
ALTER DATABASE Sharepoint_Config SET MULTI_USER
5、開始-運行-輸入cmd-打開DOS命令窗口,輸入以下命令重啟數據庫服務
Net stop mssqlserver –停止服務
Net start mssqlserver –啟動服務
再次,打開Sql Server 2005時被標記為“可疑”的數據庫已恢復正常狀態。
原創文章,作者:CDXNH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331298.html