SQL数据库的登陆问题

问一下大家,以“LOCAL”和服务器作为登陆名有什么不同呢?

使用“LOCAL”和服务器IP作为登录名的主要区别在于你可以从哪里进行身份验证。
使用“LOCAL”作为登录名表示正在尝试从本地计算机上进行身份验证,此时也可以使用服务器作为登录名,两者一样。使用“LOCAL”作为登录名,则只能在本地计算机上进行身份验证。如果尝试从远程计算机上进行身份验证,则会收到错误消息。
使用服务器作为登录名,则可以从远程计算机上进行身份验证。但是要确保已启用远程连接。

没啥不同,好比你在学校里管你们学校的校长叫校长,但是对于社会上的人来说,则必须说xx学校校长。

  • 这篇博客: 第一次机房收费系统之安装配置篇中的 数据源描述为sql,服务器选择(local),在接着点击下一步 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 以下回答由chatgpt基于相关博客总结生成:

    如果我们使用SQL Server作为数据库管理系统,我们可以在登录数据库时使用以下两种登录名:

    1. “LOCAL”登录名:这是用于访问本地SQL Server实例的特殊名称。当我们在本地计算机上运行SQL Server实例时,可以使用它来访问该实例。

    2. 服务器登录名:这是我们在SQL Server中创建的普通登录名。它可以用于访问托管在由SQL Server托管的远程服务器上的数据库。

    这两种登录名称之间的主要区别是可访问的数据库的范围。对于“LOCAL”登录名,只能访问本地计算机上的SQL Server实例,而对于服务器登录名,我们可以访问托管在远程服务器上的数据库。

    我们应该选择哪种登录名称取决于我们的需求。如果我们只需要访问本地SQL Server实例中的数据库,则应该使用“LOCAL”登录名,否则我们应该使用服务器登录名以访问远程服务器上的数据库。

    以下是一个简单的示例,说明如何使用C#代码连接到使用本地SQL Server实例的数据库并执行查询:

    using System.Data.SqlClient;
    
    SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=MyDatabase;Integrated Security=True");
    connection.Open();
    
    SqlCommand command = new SqlCommand("SELECT * FROM MyTable", connection);
    SqlDataReader reader = command.ExecuteReader();
    
    while (reader.Read())
    {
        Console.WriteLine(reader["ColumnName"]);
    }
    
    connection.Close();
    

    这里我们使用“(local)”作为数据源描述,并使用“Integrated Security=True”表示使用Windows身份验证进行身份验证。这将使用当前登录用户的凭据登录到SQL Server,并允许我们访问本地SQL Server实例中的数据库。