SQL Server 不允许我登录

SQL Server 不允许我登录

我已经在 Windows 7 机器上安装了 SQL Server 2005(开发人员版)(我知道 - 这不是我的选择!)机器名为 user-PC,并且只有一个用户:用户无密码。

我正在尝试使用服务器 USER-PC(取自选项列表)通过 Windows 身份验证连接到 DATABASE ENGINE。

我收到消息了Logon failed for user-PC\user (Microsoft SQL server error 18456)

以下是踪迹:

无法连接到 USER-PC。

===================================

用户“user-PC\user”登录失败。(.Net SqlClient 数据提供程序)

------------------------------
如需帮助,请单击:http://go.Microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476

------------------------------
服务器名称:USER-PC
错误编号:18456
严重程度:14
州:1
行号:65536


------------------------------
项目地点:

   在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection)
   在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj)
   在 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(布尔值 enlistOK)
   在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo、String newPassword、Boolean ignoreSniOpenTimeout、Int64 timerExpire、SqlConnection owningObject)
   在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(字符串主机、字符串新密码、布尔重定向用户实例、SqlConnection owningObject、SqlConnectionString connectionOptions、Int64 timerStart)
   在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject、SqlConnectionString connectionOptions、String newPassword、Boolean redirectedUserInstance)
   在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 身份、SqlConnectionString connectionOptions、Object providerInfo、String newPassword、SqlConnection owningObject、Boolean redirectedUserInstance)
   在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions 选项、对象 poolGroupProviderInfo、DbConnectionPool 池、DbConnection owningConnection)
   在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup)
   在 System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection)
   在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection 外连接,DbConnectionFactory 连接工厂)
   在 System.Data.SqlClient.SqlConnection.Open()
   在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci,IServerType 服务器)
   在 Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

答案1

我越想越觉得那条评论就是答案——尝试以管理员身份运行(右键单击,选择以管理员身份运行),看看是否可行。我猜想该帐户可能没有管理员权限或不属于管理员组。进入 SQL 后,您可以将该帐户作为登录名添加到 SQL Server 并授予其 Sysadmin 权限(假设这是您希望它拥有的访问权限)。

答案2

我脑海中浮现出许多问题:

  1. 您是本地连接还是远程连接?

  2. 这是一个默认实例还是命名实例?

  3. 启用了哪些协议?使用哪种连接方法?TCP/IP、命名管道、共享内存?

答案3

默认情况下,使用 SQL Server 2005(所有版本):

  • 没有网络访问(本地使用 SQL Server 配置工具可以更改此情况:不要忘记添加防火墙例外)。

  • 只有本地管理员组才有访问权限(您可以使用 SQL Server Management Studio 或 SQL 语句添加映射到具有适当权限的其他 Windows 用户的登录名/用户)。

(SQL Server 2008 在安装程序中提示用户/组获取初始服务器管理员访问权限。)

相关内容