2011年1月14日 星期五

講解無法打開用戶默認數據庫的解決方法

無法打開用戶默認數據庫,登錄失敗,這也是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。

沒有留言:

張貼留言