講解無(wú)法打開(kāi)用戶(hù)默認(rèn)數(shù)據(jù)庫(kù)的解決方法

字號(hào):

無(wú)法打開(kāi)用戶(hù)默認(rèn)數(shù)據(jù)庫(kù),登錄失敗,這也是SQL Server使用者熟悉的問(wèn)題之一。在使用企業(yè)管理器、查詢(xún)分析器、各類(lèi)工具和應(yīng)用軟件的時(shí)候,只要關(guān)系到連接SQL Server數(shù)據(jù)庫(kù)的時(shí)候,都有可能會(huì)碰到此問(wèn)題,引起此錯(cuò)誤發(fā)生的原因比較多,下面我們就來(lái)詳細(xì)分析引起此問(wèn)題的原因以及解決辦法。
    一、原因
    登錄帳戶(hù)的默認(rèn)數(shù)據(jù)庫(kù)被刪除。
    二、解決方法:
    (一)、使用管理員帳戶(hù)修改此帳戶(hù)的默認(rèn)數(shù)據(jù)庫(kù)
    1、打開(kāi)企業(yè)管理器,展開(kāi)服務(wù)器組,然后展開(kāi)服務(wù)器
    2. 展開(kāi)"安全性",展開(kāi)登錄,右擊相應(yīng)的登錄帳戶(hù),從彈出的菜單中選擇,屬性
    3、重新選擇此登錄帳戶(hù)的默認(rèn)數(shù)據(jù)庫(kù)
    (二)、若沒(méi)有其他管理員登錄帳戶(hù),無(wú)法在企業(yè)管理器里修改,使用isql命令行工具
    isql /U"sa" /P"sa的密碼" /d"master" /Q"exec sp_defaultdb N’sa’, N’master’"
    如果使用Windows驗(yàn)證方式,使用如下命令行,將默認(rèn)數(shù)據(jù)庫(kù)改成非丟失的數(shù)據(jù)庫(kù):
    isql /E /d"master" /Q"exec sp_defaultdb N’BUILTIN\Administrators’, N’master’"
    (三)由于改變了系統(tǒng)密碼導(dǎo)致SQLSErver無(wú)法啟動(dòng)
    解決辦法是:
    點(diǎn)擊運(yùn)行,鍵入services.msc,打開(kāi)服務(wù)程序,找到SQLSERVER項(xiàng)目,選擇屬性項(xiàng)之二-‘登錄’,把登錄密碼改為操作系統(tǒng)Administrator帳戶(hù)登錄密碼,重新啟動(dòng)SQLSErver,即可正常啟動(dòng)。
    SQL Server 2005
    在 SQL Server 2005 中,可以使用 sqlcmd 實(shí)用程序更改默認(rèn)數(shù)據(jù)庫(kù)。為此,請(qǐng)按照下列步驟操作:
    ◆1. 單擊“開(kāi)始”,單擊“運(yùn)行”,鍵入 cmd,然后按 Enter。
    ◆2. 根據(jù) SQL Server 登錄使用的身份驗(yàn)證種類(lèi),請(qǐng)使用以下方法之一:• 如果 SQL Server 登錄使用 Microsoft Windows 身份驗(yàn)證連接到該實(shí)例,請(qǐng)?jiān)诿钐崾痉庢I入以下內(nèi)容,然后按 Enter:
    sqlcmd –E -S InstanceName –d master
    • 如果 SQL Server 登錄使用 SQL Server 身份驗(yàn)證連接到該實(shí)例,請(qǐng)?jiān)诿钐崾痉庢I入以下內(nèi)容,然后按 Enter:
    sqlcmd -S InstanceName -d master -U SQLLogin -P Password
    注意:InstanceName 是要連接到的 SQL Server 2005 實(shí)例的名稱(chēng)的占位符。SQLLogin 是已刪除其默認(rèn)數(shù)據(jù)庫(kù)的 SQL Server 登錄的占位符。Password 是 SQL Server 登錄密碼的占位符。
    ◆3. 在 sqlcmd 提示符處,鍵入以下內(nèi)容,然后按 Enter:
    Alter LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName
    注意:AvailDBName 是可由實(shí)例中 SQL Server 登錄訪問(wèn)的現(xiàn)有數(shù)據(jù)庫(kù)的名稱(chēng)的占位符。
    ◆4. 在 sqlcmd 提示符處,鍵入 GO,然后按 Enter。