我正在尝试使用aspnet___regsql实用程序在我的本地SQL Express 2008实例上的数据库中安装所有成员资格表。我可以在Management Studio中没有问题地连接,但是当我尝试在aspnet_regsql接口中列出数据库时,我收到一条错误消息:
Failed to query a list of database names from the SQL Server. Invalid object name 'sysdatabases'
我做错了什么?我该如何解决这个问题?
(请告诉我有一种比重新安装东西更顺畅的方式......:P)
答案 0 :(得分:10)
我通过绕过图形界面并在命令提示符中直接执行相同的操作来解决问题,并使用标志指定所有选项。他们应该是这样的:
使用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 Auth。 Windows Auth时有-U myUsername -P myPassword
。有-E
(可信连接的标志)。
答案 1 :(得分:2)
如果要使用图形界面,则需要确保您登录的用户将SQL中的默认数据库设置为“ master ”,以便它可以直接连接到sysdatabases表
答案 2 :(得分:1)
确保在 SQL Server配置管理器 - >中SQL Server网络配置 - >已启用YOUR_SQL_SERVER_INSTANCE_NAME 的协议TCP/IP
。 NB。要应用此更改,需要重新启动YOUR_SQL_SERVER_INSTANCE_NAME
答案 3 :(得分:0)
默认情况下,Vista上的当前用户不是SQL Server 2005/2008上SysAdmin的成员。
所以这就是诀窍。
从C:\ Program Files \ Microsoft SQL Server 2005/2008开放的1-Open 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.
我叫Talley Ouro,位于北卡罗来纳州罗利市的开发人员 博客:http://talleyblogs.blogspot.com/ 电子邮件:johnstalley@live.com
答案 4 :(得分:0)
此问题通常是由将“Server”作为您的计算机名而不是SQL Server实例的名称引起的。弄清楚是因为它们将文本框自动填充到您的机器名称中,这是必需但不完整的。这可能会让您认为“服务器”是指计算机本身,当它们真正意味着SQL服务器实例时。如果要连接到本地计算机,通常可以使用SQL实例的名称附加到其条目中,一切都将按预期工作
IE LOCALHOST必须成为LOCALHOST \ SQLEXPRESS或任何你命名的盒子\ sqlserver