2011-08-18 107 views
1

我沒有這quadrizillionth時間,我知道我永遠不會成爲dba。無法打開登錄請求的數據庫「測試」。登錄失敗

  • 我剛剛將運行SQL Express的數據庫恢復到「test」。
  • 我映射我的本地數據庫用戶「testuser的」到數據庫的db_owner
  • 的SQL Server Express運行混合模式身份驗證
  • 我試圖連接到使用下面的連接字符串的數據庫:

    「Data Source =(local)\ sqlexpress; User Id = testuser; Password = supersecret; Initial Catalog = test;」

有人可以告訴我我在這裏失蹤了嗎?

+0

您是否嘗試過與SQL Management Studio中的憑據? –

+0

是的,我可以使用這些憑據登錄 – Ropstah

+0

而且我認爲您可以訪問SQL MS中的數據庫中的表? –

回答

1

可能你有一個孤兒用戶。這會產生什麼?

SELECT 
    dp.name, 
    sp.name 
FROM 
    sys.database_principals AS dp 
FULL OUTER JOIN 
    sys.server_principals AS sp 
    ON dp.[sid] = sp.[sid] 
WHERE 
    dp.name = 'testuser'; 

基本上,如果你的數據庫用戶「testuser的」不正確地映射到同名的登錄,服務器將沒有辦法給你連接到正確的數據庫。你可以看到問題排查幫助下面的文章:

http://msdn.microsoft.com/en-us/library/ms175475%28SQL.100%29.aspx

+0

我只有一個登錄名,我映射到數據庫作爲db_owner – Ropstah

+0

什麼rsbarro說... – Ropstah

+0

查詢返回「testuser」「testuser」(列:名稱,名稱) – Ropstah

0

確保TCP/IP協議已啓用(在SQL Server配置管理器中)。還要確保SQL瀏覽器服務已啓用,已啓動和自動(在SSCM中也是如此)。默認情況下,SQL Server Express的這兩件事最初沒有配置/啓動。

+0

兩者都啓用... :( – Ropstah

+0

是爲您的查詢返回記錄用戶狀態列顯示爲: 9 – Ropstah

+0

如果這是問題,錯誤信息將會不同(無法連接到服務器)。在指定的數據庫上失敗表示與服務器的連接成功 –

相關問題