[MS SQL] SQL Server 2008新增允許遠端登入帳號

[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防火牆>右方「新增規則」

image

選「連接埠」

image

輸入「1433」

image

「允許連線」

image

image

規則名稱請自行命名

image

如此Windows防火牆的設定完畢。

4. 接著要再設定SQL Server組態,讓它可以允許網站程式連接SQL Server

(實務上,這裡是DB Server的操作)

image

確保以下SQL Server和SQL Server Browser都有執行

image

Shared memory、TCP/IP、具名管道都有啟用

image

image

SQL Server網路組態的TCP/IP>內容

image

IP位址>TCP動態通訊埠清空>TCP通設埠設1433後按「確定」

image

復習完畢

 

接下來資料庫使用SQL Server 2008 Express當示範

首先用SQL Server Management Studio(SSMS)此圖形管理介面用Windows驗證在本機電腦登入

image

(若連接的執行個體是Express的話,伺服器名稱應該是.\sqlexpress)

展開登入>新增登入

image

image

image

image

image

接下來要授與執行預存程序的權限,詳細可參考MSDN文件步驟:如何:授與預存程序的權限 (SQL Server Management Studio)

這裡提供圖片示意圖

image

image

※如果一個一個預存程序指定太麻煩的話,我有寫一個懶人Code可以一口氣新增權限:[MSSQL] 給予User預存程序的Execute權限 (腳本方式)

再來要設定SQL Server可以允許敲帳密的方式登入

到伺服器右鍵>屬性

image

image

image

如果出現此視窗的話就再到組態管理員重新啟動SQL Server服務就行了

image

 

最後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的例外