1. sql server 2000 中的一個資料庫不知道什麼原因自動變為「單用戶模式」
******************************
暈,有上面這么麻煩嗎?
1\打開企業管理器
2\展開左邊的樹結構,直到看到database
3\右擊database,在彈出菜單中找一個項回,最後是(K)的,後面還答有個三角形的.
4\滑鼠指向這一項,又出現一個菜單,其中有一個項,最後是(A)的,點擊它,就打開附加資料庫的窗口了.
5\在這個窗口內附加資料庫,就OK了
另外,團IDC網上有許多產品團購,便宜有口碑
2. 登錄sqlserver時出現伺服器處於單用戶模式。目前只有一位管理員能夠連接,怎麼辦啊
樓主,這個問題其實和你安裝報的錯誤是沒任何關系的。首先我說下ReportingServices是做什麼的。這個也通常被大家簡稱為SSRS,是微軟推出的商務智能報表開發軟體,是一種可視化的數據報表開發軟體。如果是你這個地方安裝報錯了,事實上是不關繫到你登錄資料庫引擎的,最多是SSRS用不了。那麼在說說你單用戶模式的問題。資料庫在設定建立之初,管理員可以設定一個模式,即單用戶模式還是多用戶模式。所謂單用戶模式,即資料庫當前只能有一個賬戶登錄,多用戶模式,即不限制用戶個數。此選項設置菜單在資料庫的屬性菜單-選項-狀態-訪問限制裡面。同樣也可以使用SQL語句來更改對應的資料庫訪問用戶模式,SQL為:
USE [master]
GO
ALTER DATABASE [dbname] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE [dbname] SET MULTI_USER
GO
其中MULTI_USER代表的是多用戶模式,如果寫SINGLE USER即代表單用戶模式。若需要從單用戶恢復到多用戶,使用windows驗證登錄後,在屬性裡面修改或者通過SQL修改即可。
3. SQL資料庫msdb置疑(急)
5.把資料庫設成緊急狀態:
在SQL查詢分析器中逐條執行以下語句
sp_configure 'allow',1
reconfigure with override
update sysdatabases set status=32768 where name='kmjxc'
6.重建日誌文件(請將路徑換成你的數據文件路徑)
其中「D:\MSSQL$PROD\Data\」為存放資料庫文件的路徑
「KMJXC_log.ldf」為一個新的不存在的文件,在執行以下語句時將自動建立
dbcc rebuild_log('kmjxc','D:\MSSQL$PROD\Data\KMJXC_log.ldf')
7.逐條執行以下語句,取消緊急模式
update sysdatabases set status=0 where name='kmjxc'
restore database kmjxc with recovery
sp_configure 'allow',0
reconfigure with override
8.重起sql server
先做上面的步驟了,不行再執行下面的步驟,
1、在SQL查詢分析器中執行以下語句:(注以下所用的dbname為資料庫名稱,請客戶手工改為自己的資料庫名)
use dbname
dbcc checkdb
2、查看查詢結果,有很多紅色字體顯示,最後結果有這樣的提示:
CHECKDB 發現了x個分配錯誤和 x 個一致性錯誤(在資料庫 'dbname' 中)。
一般情況下,引起分配錯誤的原因是磁碟損壞或突然停電;一致性錯誤可能是資料庫中的表或索引壞,一般都可修復。
3、查看紅色字體,並把有錯誤的資料庫表名記錄下來,或把索引損壞的表名記錄下來。
4、把資料庫設置為單用戶模式,直接在查詢分析器中執行以下語句即可:
EXEC sp_dboption 'dbname', 'single user', 'TRUE'.
5、進入查詢分析器執行如下語句:
use kmjxcv3
dbcc checkdb(』dbname』,repair_allow_data_loss)-------修復資料庫
dbcc checkdb ('dbname',REPAIR_REBUILD)----------------修復資料庫索引
6、再執行:dbcc checkdb,檢測資料庫,出現結果為:
CHECKDB 發現了0個分配錯誤和 0個一致性錯誤(在資料庫 'dbname' 中)。
資料庫已經修復完畢。
7、取消單用戶模式,即直接在查詢分析器中執行以下語句即可:
EXEC sp_dboption 'dbname', 'single user','FALSE'
4. sqlserver2000還原資料庫出現單用戶模式問題
資料庫"置疑"了應該是文件損壞了,例如你把資料庫分離後,用記事本打開他會看到很多內亂碼,強行改動里容邊的那些亂碼,保存後附加資料庫,由於里邊格式亂了,資料庫就"置疑"了。你首先要進入「單用戶模式」,讓你可以重新操作資料庫,然後用SELECT 命令可以看出什麼表出錯了(上帝保佑你只是某個表出錯了),如果只是某個表出錯,而又只是數據錯誤,不是結構錯誤,還可以通過運行帶WHERE子句的SQL看看數據是到哪裡出錯,把,錯誤點以後的數據都刪除掉,那至少資料庫還可以用。如果你的數據不是真的都那麼要緊的話,用還原功能是最方便可行的辦法。當然備份檔之後的數據是沒有了。
5. 雙機熱備,資料庫置疑
雙機熱備模式下,SQL2000資料庫分離,附加,置疑,單用戶解除的方法
首先,在任何操作之前,必須要備份資料庫(重要)
一、分離資料庫
1、點擊「程序》MicrosoftSQLServer》企業管理》」,打開企業管理器
2、展開伺服器組,然後展開伺服器,選中要分離的資料庫
3、點擊滑鼠右鍵「所有任務》分離資料庫」,出現如下窗口
4、點擊確定,該選定的資料庫就被分離。
5.分離後,把原資料庫裡面.MDF(主數據文件).LDF(事務日誌文件)這兩個文件復制到目標盤下,例:D盤下
注意事項,只有「使用本資料庫的連接」數為0時,該資料庫才能分離。所以分離資料庫時盡量斷開所有對要分離資料庫操作的連接,如果還有連接資料庫的程序,會出現資料庫的連接狀態窗口,顯示正在連接此資料庫的機器以及名稱,點擊清除按鈕將從伺服器強制斷開現有的連接。
二、附加資料庫
1、在附加資料庫之前,首先要移動資料庫文件
在附加資料庫之前,您必須將與資料庫關聯的.MDF(主數據文件).LDF(事務日誌文件)這兩個文件復制到目標硬碟下,或是同一伺服器的不同硬碟目錄下。這兩個文件一般位於C:目錄下。
2、點擊「程序》MicrosoftSQLServer》企業管理》」,打開企業管理器
3、展開伺服器組,然後展開伺服器
4、右擊"資料庫",然後選擇「所有任務》附加資料庫」,彈出窗口
5、輸入要附加的資料庫的MDF名稱。如果不確定文件位於何處,單擊瀏覽("...")搜索。若要確保指定的MDF文件正確,請單擊"驗證"。在"附加為"框內,輸入資料庫的名稱。資料庫名稱不能與任何現有資料庫名稱相同。指定資料庫的所有者
6、單擊"確定"按鈕。新附加的資料庫的資料庫節點即創建在"資料庫"文件夾中
重啟雙機
1.此時資料庫分離,附加完成,必須重啟一次雙機
修復置疑
1,雙機重啟後,資料庫置疑
下面所有修復置疑的語法,在沒有特別提到時,默認資料庫都請選擇(Master)資料庫)
2,修復置疑(必須在SQL的查詢分析器中才能進行數據修復置疑工作)
A、 打開查詢分析器,當數據置疑之後在查詢分析器中是看不到置疑的資料庫名稱的,所以進入查詢分析器之後,所選資料庫默認(Master)資料庫即可。(復制下面置疑語法到查詢分析器中執行。
--修復資料庫置疑的語法
SP_configure'allowupdate',1
go
RECONFIGUREWITHOVERRIDE
go
updatesysdatabases
setstatus=-32768
wherename='zmsoftpos_cs'--資料庫名稱
go
dbccrebuild_log('zmsoftpos_cs','D:zmsoftpos_cs_log')--重新建立日誌
Go
updatesysdatabases
setstatus=26
wherename='zmsoftpos_cs'
Go
Sp_configure'allowupdate',0
Go
Reconfigurewithoverride
GO
備註:其中所有的「zmsoftpos_cs」是置疑的資料庫名稱,請根據客戶實際的置疑資料庫進行更改名稱,其他的內容不變
B、 拷入置疑語法之後,請按F5執行,如果顯示框內顯示的內容如下表示置疑修復成功
C、 置疑修復成功之後,再到如上圖的master下拉框架內就可以選擇所修復的置疑資料庫了,此時置疑是修復成功了,但是並不代表此資料庫就沒有問題了,請暫時不要進軟體,我們還需要檢查資料庫有沒有問題。
3,檢查修復置疑好的資料庫是否正常
D、 打開查詢分析器選中修復好的資料庫名稱,輸入「dbcccheckdb」語法,再按F5執行,根據資料庫的大小執行需要的時間不確定,請耐心等待,執行完之後在顯示框內就會顯示一些相關內容如下圖:
A:如上圖所示,把顯示框拖到最下面,如果「CHECKDB發現了0個分配錯誤和0個一致性錯誤」即表示此資料庫已經好了,不用再修復了,客戶即可進入軟體進行操作了。
備註:(以下的語法就不用再執行了)
修復資料庫只限於DBO使用,執行以下命令(解除單用戶模式)
Sp_dboption'zmsoftpos_cs','singleUser','False'
B:如果執行「dbcccheckdb」後顯示框內顯示了很多紅色的記錄,那麼表示這個資料庫的有些表還有錯誤需要修復
2, 修復過程如下:(修復過程中語法內的資料庫名稱都根據客戶使用的資料庫進行更改)
A、 首先退出所有的客戶端軟體與企業管理器,只打開查詢分析器,默認資料庫「Master」,拷入如下語法執行:
sp_dboption'zmsoftpos_cs','singleuser','true'
備註:其中的資料庫名稱根據客戶使用的資料庫進行更改。此語法是把資料庫設置為「單用戶模式」
B、 設置為單用戶模式之後,拷入如下語法進行多次執行
dbcccheckdb(zmsoftpos_cs,REPAIR_REBUILD)
備註:資料庫名稱根據客戶使用的資料庫進行更改。此語法可以多次執行,也需要多次執行,每執行完一次拖到顯示框內的最後面如果「發現的是0個分配錯誤與O個一致性錯誤」就不用再修復了,只需執行下面語法即可
Sp_dboption'zmsoftpos_cs','singleUser','False',
備註:下面的語法也不需執行了。
如果執行多次之後:「CHECKDB發現了N個分配錯誤和N個一致性錯誤」不會再次減少時,表示此語法修復不成功,需要進行下面的修復過程。
C、 再把下面語法拷進入,進行多次執行:
dbcccheckdb('zmsoftpos_cs',REPAIR_allow_data_loss)
備註:此語法的執行與上面「B」點中執行的語法過程一樣,執行到此步驟百分之九十以上的資料庫都是可以修復的。如果執行到最後分配錯誤與一致性錯誤還不減少,那麼執行下面的」D」操作
D、 拷入如下語法執行:
execsp_MSforeachtable'dbccdbreindex(''?'')'
備註:執行此語法時,此時的「Master」資料庫名稱一定要選擇修復的資料庫名稱,執行才會生效。執行完成之後,再使用「dbcccheckdb」語法再檢查一次,如果是「發現的是0個分配錯誤與O個一致性錯誤」表示修復成功,如果是:「CHECKDB發現了N個分配錯誤和N個一致性錯誤」
表示此資料庫壞得很歷害,使用此方法已不能修復成功了。必面使用其他方法了。最後不管修復成不成功都要使用下面的語法結尾:
Sp_dboption'zmsoftpos_cs','singleUser','False'
備註:把之前的單用戶模塊解除掉
3, 在上面的修復過程中不能解決的問題,再使用BCP命令語法進行修復
例:以超市版本為例,超市版本的資料庫名稱為:zmsoftpos_cs
A、打開帳套管理新建一個相同的帳套,資料庫名稱就會是zmsoftpos_cs_01的帳套名稱,新建好之後,一定要使用後台登錄進去一次,再退出後台。
B、打開查詢分析器,選擇好帳套資料庫「zmsoftpos_cs」把下面的語法拷進入按F5執行:
select'ifEXISTS(SELECT*FROMzmsoftpos_cs_01..sysobjectsWHEREname='+char(39)+name+char(39)+')'+char(13)+'deletefromzmsoftpos_cs_01..'+namefromzmsoftpos_cs..sysobjectswheretype='U'andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname
執行完成之後在下面的顯示框架內就會出現如下語法:
使用滑鼠左擊一下圖片中紅色圓圈內的按鈕,就會選中下面的語法,然後再到紅色圓圈內的按鈕上點滑鼠右鍵,點擊另存為,就會出現如下對話:
其中的保存類型一定要先選擇所有文件,然後再到文件名處,填寫好如圖片中輸入的名稱,然後點保存!
C、以上的語法另存為之後,再拷入以下的語法執行:
select'bcpzmsoftpos_cs..'+name+'outf:data'+name+'.txt-c-S127.0.0.1-Usa_-P422426362227001'fromzmsoftpos_cs..sysobjectswherextype='U'
andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname
備註:以上的語法中有一個文件存放路徑,「f:data」此路徑根據實際的情況創建,然後更改過來,再執行。執行之後,按照上面的方法,點擊另存為如下圖:
其中的保存類型也要先選擇所有文件,然後再到文件名中填入如圖上的名稱:導出數據.bat文件名,然後再點保存,保存的路徑一定要是上面語法中設置中文件夾的路徑。
D、此時再選擇超市版本的zmsoftpos_cs_01的帳套名稱,然後在左上角的文件中打開找到之前保存的「刪除數據.sql」的文件,把其中的
」deletefrom」全部替換成「truncatetable」,然後再按F5執行。
E、把D點的語法執行完成之後,還是選擇zmsoftpos_cs.01帳套再執行以下的語法:
select'bcpzmsoftpos_cs_01..'+name+'inf:data'+name+'.txt-c-S127.0.0.1-Usa_-P422426362227001'
fromzmsoftpos_cs..sysobjectswherextype='U'andnamenotin('system_sheet_setup','system_mode_file','system_image')orderbyname
其中的路徑f:data一定要與「C」點中的路徑一致。按F5執行之後,按照C點的步驟,把顯示框內的語法另存為「導入數據.bat」的文件名,保存到語法的路徑文件夾內。
F、以上的步驟操作完成之後,打開以上語法存放的徑路,先雙擊導出數據文件,雙擊之後就會出現如下對話框架:
此界面表示,正在從原帳套裡面把數據導出來,請您靜心等待,導出完成之後此界面會自動關閉的。
等待完成之後,再雙擊」導入數據.bat」文件,也會出現如上的界面。也請您靜心等待,導出完成之後界面也會自動關閉。
G、以上的步驟都完成之後,請把zmsoftpos_cs_01的帳套,備份一次,然後把zmsoftpos_cs與zmsoftpos_cs_01兩個帳套都刪掉,然後新建超市版本的帳套,把恢復備份的zmsoftpos_cs_01文件,此時您的資料庫修復的工作就大功告成了。。
6. sql2008資料庫單用戶模式怎麼改回來
1、打開SQL Server Management Studio。如下圖所示。
7. sql2005設置為單用戶模式,怎麼操作
請參考:http://blog.csdn.net/yubofighting/article/details/6640739
兩種方法:
一、sqlservr.exe -m -c
1、 如圖所示,關閉sqlserver(實例)服務
2、 運行---->cmd--->cd C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe –m
註:C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe -m這個路徑按照自己的sql server安裝路徑自行調整
3、 經過上面兩步就設置好的單用戶登陸,你既可以使用企業管理器登陸,又可以通過在運行框中執行sqlcmd.exe運行doc下的命令
二、在sql server2005的配置管理工具中設置
1、如圖打開配置管理工具,在sql server(實例名稱)上右鍵打開屬性,在高級的啟動參數前加上-m; 別忘了『;『因為參數是通過』;『來分隔的
2、設置完成後重啟sql server 服務即可
8. SQL Server 資料庫變成單個用戶怎麼辦
1、首先我們打開SQL SERVER的管理控制台,找到一個要設置角色的用戶。
9. sql server資料庫從單用戶模式改為多用戶模式
今天想在sql
server2005下復制一個資料庫,結果最後一步出錯,復制沒成版功反而導致資料庫打不開了權,
名稱後出現"單個用戶",估計是進行復制的時候自動將其改為了單用戶模式,可通過執行如下語句恢復多用戶模式。
原理是先kill佔用了資料庫的那個進程,然後設置資料庫為多用戶模式。
USE
master;
GO
DECLARE
@SQL
VARCHAR(MAX);
SET
@SQL=''
SELECT
@SQL=@SQL+';
KILL
'+RTRIM(SPID)
FROM
mastersysprocesses
WHERE
dbid=DB_ID('資料庫名');
EXEC(@SQL);
GO
ALTER
DATABASE
資料庫名
SET
MULTI_USER;
10. sql server單用戶模式下怎麼修改為多用戶模式
原理是先kill佔用了資料庫的那個進程,然後設置資料庫為多用戶模式。
USE master;
Go
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('資料庫名');
EXEC(@SQL);
GO
ALTER DATABASE 資料庫名 SET MULTI_USER;
(10)sql資料庫解除單用戶模式方法擴展閱讀:
機制結構
SQL Server 是一種客戶機/伺服器系統
多年來,SQL Server 一直被認為是一種客戶機/伺服器系統。事實上,Sybase DataServer(以此為基礎開發了原始的 SQL Server)正是第一個作為客戶機/伺服器系統開發的商用關系資料庫系統。那這又說明了什麼呢?這不只意味著 SQL Server 是一個雙層系統。
從傳統上看,雙層系統意味著客戶機應用程序運行在一台機器上,向另一台計算機上的伺服器發送請求。而對於 SQL Server,客戶機/伺服器意味著 SQL Server 的組成部分,即客戶機 API 部分,駐留在處理結構中的遠端,與伺服器組件本身是分開的。
在典型的雙層模型中,客戶機程序部分駐留在台式機上,具有大量客戶機應用程序邏輯和業務邏輯,並且會直接向資料庫系統發出請求。然後,客戶機得到伺服器響應這些請求所返回的數據。
三層系統也採用了同樣的模型。多年以來,SQL Server 一直用在事務處理監視系統中,例如 BEA 的 Tuxedo 以及 Compaq 的 ACMSxp,這些系統早在二、三十年前就採用了典型的三層模型。
三層模型在今天基於 Web 的應用系統中占據了支配地位,這類系統以 Microsoft 的 MTS 以及新的 COM+ 1.0 為代表。從 SQL Server 的角度看,三層解決方案中的客戶機程序是放在中間層的。
中間層直接與資料庫交互。實際的桌面,或瘦客戶機(Thin Client),使用其他機制並通常直接與中間層交互,而不是直接與資料庫系統交互。