2009-02-02 54 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

相关问题