2009-02-02 52 views
5

我正嘗試使用aspnet___regsql實用程序在本地SQL Express 2008實例上的數據庫中安裝所有成員表。我可以連接,而不在Management Studio中的問題,但是當我嘗試列出數據庫中aspnet_regsql界面我得到一個錯誤信息說:來自aspnet_regsql的意外的錯誤消息

Failed to query a list of database names from the SQL Server. 
Invalid object name 'sysdatabases'

我在做什麼錯?我該如何解決?

(請告訴我有比重新安裝一個東西平滑的方式...:P)

回答

9

我已經繞過了圖形界面,直接在命令提示符下執行同樣的動作,用標誌指定的問題解決了所有選項。他們應該是這樣的:

連接使用SQL身份驗證

C:\>Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -S myHostingServer -A all -d myDatabase -U myUserID -P myPassword

連接使用Windows身份驗證

C:\>Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -S myHostingServer -A all -d myDatabase -E

所不同的是在該行的末尾,其中SQL驗證。 Windows驗證時有-U myUsername -P myPassword。有-E(標記爲可信連接)。

0

默認情況下,在Vista上,機器上的當前用戶不是SQL Server 2005/2008上的SysAdmin成員。

所以這裏是訣竅。

從C:\ Program Files \ Microsoft SQL Server 2005/2008開放的Sql Server表面區域配置工具。

2 - 當屏幕彈出時,單擊添加新管理員。

-on top right make sure that User to provision=Username of the pc 
    -on your left (Available Privileges) select Member of SQL Server SysAdmin and click on the right arrow (>) 
    -click ok and you should be ready to go. 

我的名字是塔利歐魯普雷,開發商在北卡羅來納州羅利 博客:http://talleyblogs.blogspot.com/ 電子郵件:[email protected]

0

這個問題通常是造成留下的「服務器」是你的機器名,而不是你的SQL服務器實例的名稱。找出原因很棘手,因爲他們會將文本框自動填充到您的計算機名稱,這是必需的,但不完整。這可能會導致您認爲「服務器」指的是計算機本身,它們確實意味着SQL Server實例。如果要連接到本地計算機通常可以附加到他們與您的SQL實例的名稱進入,一切都將工作打算

IE LOCALHOST必須成爲LOCALHOST \ SQLEXPRESS或任何你命名你的盒子\ SQLSERVER

2

如果你想使用圖形界面,你需要確保你所登錄的用戶的默認數據庫在SQL中設置爲'master',因此它可以直接連接到sysdatabases表。

1

確保在SQL Server配置管理器 - > SQL Server網絡配置 - >爲YOUR_SQL_SERVER_INSTANCE_NAME協議已啓用TCP/IP協議。 NB。申請此更改需要重新啓動YOUR_SQL_SERVER_INSTANCE_NAME

相關問題