執行 aspnet_regsql.exe 註冊 ASP.NET 2.0 應用服務(embership、Role、Profile 等)時,在 SQL Server 2005 環境下第三步「選擇伺服器與資料庫」無法列出資料庫,最後報錯:
無法連接到 SQL Server 資料庫。
在預設設置下 SQL Server 不允許進行遠程連接...
(provider: 命名管道提供程序, error: 40)
aspnet_regsql 內部連線字串預設使用「伺服器名稱」而非「伺服器名稱\實例名」。SQL Server 2005 Express 預設實例名為 SQLEXPRESS,若不指定實例名,工具嘗試連接預設實例(MSSQLSERVER)導致失敗。
aspnet_regsql.exe(通常在 C:\Windows\Microsoft.NET\Framework\v2.0.50727)。YOUR_SERVER_NAME\SQLEXPRESSPANJUN\SQLEXPRESS),伺服器名稱必須大寫。server=...;database=...,SQL 2005 建議改用 Data Source=...;Initial Catalog=... 格式,但 aspnet_regsql 圖形介面僅需正確填寫「伺服器名稱\實例名」即可。MSSQLSERVER(預設實例),此時直接填伺服器名稱即可,不需加實例名。命令列模式同理:
aspnet_regsql -S SERVER\SQLEXPRESS -E -A all -d YourDB
參數:-S 伺服器\實例、-E Windows 驗證、-A all 全部功能、-d 指定資料庫。