1.離線不了或要等很久
select * from master.sys.sysprocesses where dbid=db_id('資料名')
然後會查詢到具體有哪個在連線到此資料庫
直接kill spid的具體數值就可以了
kill 51
有些使用者連線可以在kill掉後自動重建,但期間有一段時間,如果碰到這種情況,需要在執行完kill命令後立即執行離線操作
2.處理資料庫存在的孤立帳戶,通常由其它資料庫導進來的
檢視當前資料庫中是否存在孤立使用者,經過很多次的實驗後,我發現有那麼一條語句可以發揮作用,就是sp_change_users_login語句。
具體用法:
exec sp_change_users_login 'update_one', '使用者名稱', '登入名';
孤立帳戶,就是某個資料庫的帳戶只有使用者名稱而沒有登入名,這樣的使用者在使用者庫的sysusers系統表中存在,而在master資料庫的syslogins中卻沒有對應的記錄。
孤立帳戶的產生一般是一下兩種:
1.將備份的資料庫在其它機器上還原;
2.重灌系統或sql server之後只還原了使用者庫
解決方法是使用sp_change_users_login來修復。
sp_change_users_login的用法有三種
用法1:
exec sp_change_users_login 'report'
列出當前資料庫的孤立使用者
用法2:
exec sp_change_users_login 'auto_fix','使用者名稱'
可以自動將使用者名稱所對應的同名登入新增到syslogins中
用法3:
exec sp_change_users_login 'update_one','使用者名稱','登入名'
將使用者名稱對映為指定的登入名。
3.還原資料庫時,因有其它人在使用,無法還原,顯示sql server資料庫備份還原後,在資料庫名稱後會出現「受限制訪問」字樣
關鍵sql語句:
alter database [datebase] set offline with rollback immediate
用完之後再
alter database [ datebase] set online
將當前需要還原的資料進行offline,還原後,再將該資料庫online。
指令碼如下,先執行第一指令碼,還原成功後,執行第二指令碼。
1)alter database [datebase] set offline with rollback immediate
2)alter database [datebase] set online with rollback immediate
如果此時還原還是不行。可能是刪完程序馬上有新的程序連進來,
導致一直失敗。應用程式一直不停的進行資料庫鏈結。
這時,可以在單使用者下還原。
資料庫sqlserver的使用
一 使用模組介紹及安裝 1 python操作sqlserver所使用的模組是pymssql。2 pymssql安裝,直接使用pip install pymssql進行安裝。二 python操作sqlserver介紹 1 資料庫連線類及引數介紹 pymssql.connect sqlserver連線的...
IIS中SQL Server資料庫的安全問題
從codered到nimda等,一大堆蠕蟲把原來需要人工利用的漏洞都變成了程式自動利用了,大家還想去手工操作這些iis漏洞麼?讓我們調整重心,去看看伺服器常用的資料庫吧。一般 都是基於資料庫的,特別是asp php jsp這樣的用資料庫來動態顯示的 很多 可能多注意的是作業系統的漏洞,但是對資料庫和...
使用QT連線SqlServer資料庫
最近在專案中需要使用qt來對sqlserver進行操作,特此記錄,以便回憶。1.確保qt的安裝包裡已經載入sqlserver的驅動。以qt5.3為例,在目錄d qt 5.3 mingw482 32 plugins sqldrivers下,有相應的動態庫。2.在工程檔案 pro 裡加一行 qt sql...