首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

解決 aspnet_regsql 在 SQL Server 2005 無法選擇資料庫問題

     編輯:關於SqlServer

執行 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)導致失敗。

解決方法

  1. 啟動 aspnet_regsql.exe(通常在 C:\Windows\Microsoft.NET\Framework\v2.0.50727)。
  2. 第三步「伺服器名稱」欄位輸入:
    YOUR_SERVER_NAME\SQLEXPRESS
    (例如 PANJUN\SQLEXPRESS),伺服器名稱必須大寫。
  3. 下一步即可正常列出資料庫,選擇目標資料庫完成註冊。

補充說明

  • SQL 2000 連線字串習慣用 server=...;database=...,SQL 2005 建議改用 Data Source=...;Initial Catalog=... 格式,但 aspnet_regsql 圖形介面僅需正確填寫「伺服器名稱\實例名」即可。
  • 若使用完整版 SQL Server 2005(非 Express),實例名通常為 MSSQLSERVER(預設實例),此時直接填伺服器名稱即可,不需加實例名。
  • 確認 SQL Server 組態管理器中「TCP/IP」與「命名管道」協議已啟用,且防火牆開放 1433 埠。

快速驗證

命令列模式同理:

aspnet_regsql -S SERVER\SQLEXPRESS -E -A all -d YourDB

參數:-S 伺服器\實例、-E Windows 驗證、-A all 全部功能、-d 指定資料庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved