[MS SQL] SQL Server 2008新增允許遠端登入帳號
[ASP.net WebForm] 在Windows7上架ASP.net網站(適用WinServer2008)
[IIS/ASP.net MVC2] 手動架ASP.net MVC2網站
因為發現架ASP.net網站的文章少了這個步驟
所以獨立出來寫在這
本文以SQL Server 2008 Express當Demo
先復習一下SQL Server 的1433 Port要在Windows的防火牆新增例外並從組態管理員設定可以允許遠端連線
在DB Server的電腦進到Windows防火牆>右方「新增規則」
選「連接埠」
輸入「1433」
「允許連線」
規則名稱請自行命名
如此Windows防火牆的設定完畢。
4. 接著要再設定SQL Server組態,讓它可以允許網站程式連接SQL Server
(實務上,這裡是DB Server的操作)
確保以下SQL Server和SQL Server Browser都有執行
Shared memory、TCP/IP、具名管道都有啟用
SQL Server網路組態的TCP/IP>內容
IP位址>TCP動態通訊埠清空>TCP通設埠設1433後按「確定」
復習完畢
接下來資料庫使用SQL Server 2008 Express當示範
首先用SQL Server Management Studio(SSMS)此圖形管理介面用Windows驗證在本機電腦登入
(若連接的執行個體是Express的話,伺服器名稱應該是.\sqlexpress)
展開登入>新增登入
接下來要授與執行預存程序的權限,詳細可參考MSDN文件步驟:如何:授與預存程序的權限 (SQL Server Management Studio)
這裡提供圖片示意圖
※如果一個一個預存程序指定太麻煩的話,我有寫一個懶人Code可以一口氣新增權限:[MSSQL] 給予User預存程序的Execute權限 (腳本方式)
再來要設定SQL Server可以允許敲帳密的方式登入
到伺服器右鍵>屬性
如果出現此視窗的話就再到組態管理員重新啟動SQL Server服務就行了
最後ASP.net網站的Web.config更改一下連線字串
<connectionStrings>
<add name="MyConn_E" connectionString="Data Source=192.168.1.110\sqlexpress;Initial Catalog=GoogleMapDB;Uid=shadow;Pwd=shadow;Max pool size=1000" providerName="System.Data.SqlClient"/>
</connectionStrings>
※因為本文以Express版資料庫做Demo,所以Data Source有個\sqlexpress的具名執行個體名稱,正式上線應該只會有IP位址
Initial Catalog為網站程式預設登入的資料庫,Uid和Pwd即為登入帳號和密碼
以上資料庫的基本設定完成
其他文章參考:vb2008連接sql2008跟連sql2000不一樣嗎??
衍伸閱讀:小技巧:刪除登入帳戶(Logins,伺服器層級),也一併刪除資料庫使用者(DB Users,資料庫層級)
德瑞克:SQL Server 學習筆記 啟用 SQL Server 2008 遠端連線
2012.8.9 追記
如果要讓命令提示字元的sqlcmd可以登入的話
要再Windows防火牆追加UDP 1434 Port的例外