除了大家都會知道的把遠端連線開啟之外,我卡在別的地方。
就是帳號密碼的設定。
SQL Server 可以採用純 windows 認證及 SQL Server 混合式認證。
而我,自己搞不清楚之間的不同,卡住一個星期。
在我的組態如下:
WEB Server 在電腦A,SQL Server 在電腦B,兩台都沒有加入網域。
SQL Serser 的管理只設定了 電腦B\administrator。
使用混合式認證。
當我在電腦A要連線 SQL Server 時,以下指令都失敗
(1)sqlcmd –S 電腦B
(2)sqlcmd –S 電腦B –U administrator
(3)sqlcmd –S 電腦B –U 電腦B\administrator
原因是
(1)的方式,是採用 windows 認證,user是電腦A當時的登入的帳號。電腦B裡沒有這個帳號,所以失敗。
(2)的方式,當有加入 –U 時,就是使用 SQL Server 認證,而 administrator 不在 SQL Server 使用者內。所以失敗。
(3)的方式,使用 SQL Server 認證,帳號是 windows 的帳號,這個樣子也是失敗。
遇到事情卡很久,果然休息是有用的,晚上睡覺的時候,突然靈感一來,
隔天先在電腦B的SQL Server新增一個 user,並增加他的權限到可以登入。然後再試一次
(4)sqlcmd –S 電腦B –U user
就解決了 connect string 的問題了。這是採用 SQL Server 認證的問題。
但是!
如果要使用 windows 認證呢?
現在還不知道,但是我想應該就要加入網域,使得 SQL Server 可以加入 電腦A\user 到 SQL Server 使用者裡。
這一段還需要時間來實作了。
有人知道的話,可以教我嗎?