SQL Server 連線字串和身份驗證

2021-09-01 15:54:07 字數 1754 閱讀 7907

用本地的sql server(localhost),如果想要使用遠端伺服器執行,應該在示例物件中把正確的伺服器賦給data source 屬性。此外,還必須指定所支援的兩種身份驗證方法(即windows身份驗證和sql server身份驗證)中的其中一種。windows身份驗證使用windows登入使用者身份連線資料庫,而sql身份驗證要求顯式地指定sql server使用者id和密碼。要想使用windows身份驗證,必須在連線字串中包括 integrated security 屬性:

data source=servername;integrated security=true;

預設情況下,integrated security 屬性為 false ,這意味著將禁用windows身份驗證。如果沒有顯式地把這個屬性的值設定為true,連線將使用sql server身份驗證,因此,必須提供sql server使用者id和密碼。integrated security屬性還能識別的其他值只有sspi(security support provider inte***ce,安全性支援提供者介面).在所有的windows nt作業系統上,其中包括windows nt 4.0、2000、xp,都支援值sspi。它是使用windows身份驗證時可以使用的惟一介面,相當於把integrated security 屬性值設定為true。

在windows身份驗證模式中,sql server使用windows的安全子系統對使用者連線進行有效性驗證。即使顯示地指定使用者id和密碼,sql server也不檢查連線字串中的使用者id和密碼。因為只有windows nt、2000、xp支援sspi,因此如果正使用的是這些作業系統,則只能使用windows整合的安全策略去連線sql server。不論使用哪乙個作業系統,當使用sql server身份驗證時,必須在連線字串中指定使用者id和密碼:

data source=servername;user id=donaldx;password=unbreakable

預設情況下,sql server .net data provider連線指定使用者的預設資料庫,當在資料庫中建立使用者時,可以設定使用者的預設資料庫。此外,也可以在任意時間更改使用者的預設資料庫。例如,系統管理員的預設資料庫是master。如果想要連線不同的資料庫,應該指定資料庫的名稱:

data source=servername;integrated security=sspi;initial catalog=northwind

每一種身份驗證都有它的優點和缺點。windows身份驗證使用單一的使用者資訊庫源,因此,不需要為資料庫訪問去分別配置使用者。連線字串不包含使用者id和密碼,因此消除了把使用者id和密碼暴露給未授權的使用者的危險。可以在active directory中管理使用者和他們的角色,而不必在sql server中顯式地配置他們的屬性。

windows身份驗證的缺點是,它要求客戶通過windows的安全子系統支援的安全通道去連線sql server。如果應用種序需要通過不安全的網路(例如internet)連線sql server,windows身份驗證將不工作。此外,這種身份驗證方法也部分地把管理資料庫訪問控制的責任從dba身上轉移到了系統管理員身上,這在確定的環境中也許是乙個問題。

一般而言,在設計通用的應用程式時,為了使用windows身份驗證,將會對一些方面進行加強。大多數公司的資料庫都駐留在比較健壯的windows伺服器作業系統上,那些作業系統都支援windows身份驗證。資料訪問層和資料表示層的分離也促進了把資料訪問**封裝在中間層元件思想的應用,中間層元件通常執行在具有資料庫伺服器的內部網路中。當這樣設計時,就不需要通過不安全通道建立資料庫連線。除此之外,web服務也使直接連線不同域中資料庫的需要大減少。

sqlserver連線字串

string strconnection data source localhost database dbname uid sa pwd 111 provider sqloledb string strconnection provider sqloledb data source 2009020...

sql server 連線字串

sqlserver 資料庫常用連線字串 使用者名稱和密碼驗證的方式去連線到資料庫伺服器 windows驗證的方式去連線到資料庫伺服器 integrated security true 的意思是整合驗證,也就是說使用windows驗證的方式去連線到資料庫伺服器。這樣方式的好處是不需要在連線字串中編寫使...

SQL Server連線字串

通常,連線sql server有兩種方式 使用oledb或者sqlclient進行連線。標準連線方式 connectionstr provider sqloledb data source local initial catalog databasename user id password 信任連...