如何判斷一個表是否正在SQL中使用(在任何類型的數據庫上)?如果有人已經在使用它,或者讓它「打開」,然後使用它。表正在使用嗎?
Q
表正在使用嗎?
1
A
回答
0
其實這會給你一個更好的結果:
select spid
from master..sysprocesses
where dbid = db_id('Works') and spid <> @@spid
2
檢查桌子上的開鎖。
查看syslockinfo表。
+0
感謝,讓我找到正確的答案:http://msdn.microsoft.com/en-us/ library/ms190345.aspx 對於MS SQL Server – igorgue 2008-12-02 04:03:57
4
一般來說,找出其他人是否正在使用該表並阻止你做任何你想做的事的正確方法是嘗試做你想做的事,並檢查它是否失敗。如果失敗消息指示「非獨佔訪問」或「正在使用的表格」或等效的,那麼你猜對了。
如果您的DBMS支持表鎖定,您可以將鎖應用到表中,然後執行一系列操作 - 但是您會阻止其他人嘗試使用它。
請注意,檢查鎖定表(例如syslockinfo)既是DBMS特有的,也是不可靠的 - 它會導致TOCTOU(檢查時間和使用時間)問題。
相關問題
- 1. 我正在使用ThreadPool.QueueUserWorkItem嗎?
- 2. 我正在使用mysql_real_escape_string嗎?
- 3. 我正確使用列表嗎?
- 4. 我正在數據庫上正常使用正則表達式嗎?
- 5. 正確使用正則表達式時需要HTML轉義嗎?
- 6. 你可以在.babelrc中使用正則表達式嗎?
- 7. 我可以在DynamoDB查詢中使用正則表達式嗎?
- 8. 在HTML解析中可以使用正則表達式嗎?
- 9. 如何使用「。」在VBA中的SQL表達式中正確嗎?
- 10. 這是在網頁佈局中正確使用表格嗎?
- 11. 你可以在CSS img [alt = *]中使用正則表達式嗎?
- 12. 我們可以在web.xml中使用正則表達式嗎?
- 13. 在這個文件路徑上使用正則表達式嗎?
- 14. 我們應該在Java中使用正則表達式嗎?
- 15. 我可以在C#中使用String.Replace的正則表達式嗎?
- 16. 可以在Protege OWL查詢中使用正則表達式嗎?
- 17. 你可以在struts-config.xml中使用正則表達式嗎?
- 18. 我可以在正則表達式中使用求和嗎?
- 19. 我可以在datetime.strptime格式內使用正則表達式嗎?
- 20. 我在PHP中正確使用CRYPT_BLOWFISH嗎?
- 21. 正在模型中使用RequestHandlerComponent嗎?
- 22. 正在使用ProGuard值得嗎?
- 23. 正在使用,而這個好嗎?
- 24. 正在使用innerHTML + =明智嗎?
- 25. 正在使用列限制選項嗎?
- 26. ExecuteReader:正在使用語句嗎?
- 27. 正在使用UIKEYBOARD類合法嗎?
- 28. 正在使用parse.com框架安全嗎?
- 29. keySet()或propertyNames()。正在使用propertyName()好嗎?
- 30. 我在DFImageManager上正確使用requestImageForRequest嗎?
有很多各種各樣的「使用」的。你的意思是表格被程序訪問(DML =插入,更新,刪除,選擇)?你的意思是表格結構正在被修改(DDL)?你的意思是這個表是由一個「活動」應用程序中某個SQL語句引用的嗎? – 2008-12-02 00:27:18
是的,通過程序訪問,插入,更新,刪除,選擇或簡單的BEGIN TRANSACTION(在MS SQL Server中) – igorgue 2008-12-02 04:02:12