無法打開用戶默認數據庫,登錄失敗,這也是SQL Server使用者熟悉的問題之一。在使用企業管理器、查詢分析器、各類工具和應用軟件的時候,只要關係到連接SQL Server數據庫的時候,都有可能會碰到此問題,引起此錯誤發生的原因比較多,下面我們就來詳細分析引起此問題的原因以及解決辦法。
一、原因
登錄帳戶的默認數據庫被刪除。
二、解決方法:
(一)、使用管理員帳戶修改此帳戶的默認數據庫
1、打開企業管理器,展開服務器組,然後展開服務器
2. 展開"安全性",展開登錄,右擊相應的登錄帳戶,從彈出的菜單中選擇,屬性
3、重新選擇此登錄帳戶的默認數據庫
(二)、若沒有其他管理員登錄帳戶,無法在企業管理器裡修改,使用isql命令行工具
isql /U"sa" /P"sa的密碼" /d"master" /Q"exec sp_defaultdb N'sa', N'master'"
如果使用Windows驗證方式,使用如下命令行,將默認數據庫改成非丟失的數據庫:
isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'"
(2)由於改變了系統密碼導致SQLSErver無法啟動
解決辦法是:
點擊運行,鍵入services.msc,打開服務程序,找到SQLSERVER項目,選擇屬性項之二-『登錄』,把登錄密碼改為操作系統Administrator帳戶登錄密碼,重新啟動SQLSErver,即可正常啟動。
SQL Server 2005
在 SQL Server 2005 中,可以使用 sqlcmd 實用程序更改默認數據庫。為此,請按照下列步驟操作:◆1. 單擊「開始」,單擊「運行」,鍵入 cmd,然後按 Enter。
◆2. 根據 SQL Server 登錄使用的身份驗證種類,請使用以下方法之一:‧ 如果 SQL Server 登錄使用 Microsoft Windows 身份驗證連接到該實例,請在命令提示符處鍵入以下內容,然後按 Enter:
sqlcmd –E -S InstanceName –d master
‧ 如果 SQL Server 登錄使用 SQL Server 身份驗證連接到該實例,請在命令提示符處鍵入以下內容,然後按 Enter:
sqlcmd -S InstanceName -d master -U SQLLogin -P Password
注意:InstanceName 是要連接到的 SQL Server 2005 實例的名稱的佔位符。SQLLogin 是已刪除其默認數據庫的 SQL Server 登錄的佔位符。Password 是 SQL Server 登錄密碼的佔位符。
◆3. 在 sqlcmd 提示符處,鍵入以下內容,然後按 Enter:
Alter LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName
注意:AvailDBName 是可由實例中 SQL Server 登錄訪問的現有數據庫的名稱的佔位符。
◆4. 在 sqlcmd 提示符處,鍵入 GO,然後按 Enter。
沒有留言:
張貼留言