簡體   English   中英

無法通過Windows身份驗證使用連接字符串連接到SQL Server

[英]Unable to connect to SQL Server using a connection string with Windows authentication

在遵循此特定教程( 教程 )之后,我嘗試使用Windows身份驗證連接到單個SQL Server Express實例。

這是連接字符串:

<connectionStrings>
    <add name="EmployeeContext" 
         connectionString="Server=.\SQLEXPRESSDAZ; database=Employee; Integrated Security = SSPI"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

我去過SSMS,並確保將用戶映射設置為db_owner ,並且Employee表是用戶的默認表: domain\\name

但是,在看到許多示例之后嘗試了許多鍵/值對組合之后,出現了錯誤:

該系統找不到指定的文件

SqlException(0x80131904):建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。

我什至嘗試用用戶映射到Employee DB來創建新用戶,並將Integrated Security = SSPI更改為user idpassword ,但仍然無法在本地連接到該實例。

這是SSMS的屏幕截圖:

在此處輸入圖片說明

更新

我已將服務器屬性更改為: Server=localhost\\SQLEXPRESS並添加: Initial Catalog=dbo ,現在出現此錯誤:

Cannot open database "Employee" requested by the login. The login failed. Login failed for user 'xxxxx\\DESKTOP-AIE9SAE$'.

就我的代碼而言(可以在Tutorial鏈接中看到),如果有幫助,似乎總是在引用line 15

Employee employee = employeeContext.Employees.Single(emp => emp.EmployeeId == id);

更新2

SSMS安全性登錄名和用戶

安全 用戶數

更新之后,您是否創建了映射到您的用戶/角色的登錄名? 我總是傾向於忽略這一點。

  • 轉到安全>登錄>(右鍵單擊)新登錄
  • 選擇“ Windows身份驗證”,然后在目錄中找到您的用戶名
  • 轉到“用戶映射”頁面以將其與所需的用戶/角色/數據庫進行映射

https://docs.microsoft.com/zh-cn/sql/relational-databases/lesson-1-connecting-to-the-database-engine?view=sql-server-2017#create-a-windows-authentication-登錄

要創建此登錄將引用的用戶:

  • 轉到安全性>用戶>(右鍵單擊)新用戶
  • 選擇“ Windows用戶”,然后填寫用戶名,登錄名(先前創建)和默認架構
  • 轉到角色頁面,並確保用戶使用正確的角色(db_owner?)

您也可以嘗試使用UDL文件進行連接:只需創建一個空白文檔並將擴展名重命名為.udl ,然后執行它即可。 這是診斷應用程序外部的SQL連接的非常簡單的方法。

編輯:T-SQL腳本添加登錄然后用戶:

創建登錄名:

CREATE LOGIN [domain\DarrylGriffith] FROM WINDOWS
GO

創建用戶:

Use [Employee];
GO

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'[darrylgriffith]')
BEGIN
    CREATE USER [darrylgriffith] FOR LOGIN [domain\DarrylGriffith] WITH DEFAULT_SCHEMA=[dbo]
    EXEC sp_addrolemember N'db_owner', N'[darrylgriffith]'
END;
GO

最后,將您想要的角色更改為用戶想要的角色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM