Sql 本地主机和 (LocalDb)/MSSQLLocalDB 之间的区别
Sql difference between localhost and (LocalDb)/MSSQLLocalDB
我注意到我使用了连接字符串来迁移身份数据库。不管我做了什么,我看了又看,但我找不到数据库。所以我重新评估了我的连接字符串,发现它们并不那么相似:
var connectionString = @"Server=localhost;Database=MyDatabase;Trusted_Connection=True;"
var connectionString = @"Data Source=(LocalDb)\MSSQLLocalDB;database=gritzy.IdentityServer4.dbo;trusted_connection=yes;";
一个只是将服务器指定为localhost,另一个甚至根本没有指定服务器。
我的印象是本地主机只会使用默认的 MSSQLSERVER 实例名称。
数据源和服务器有什么区别?
"Data Source"和"Server"是同义词,所以没有区别。
localhost 指定您计算机上的默认 SQL 服务器实例。
(LocalDb)\MSSQLLocalDB 是您计算机上的默认 LocalDB 实例
如果你同时安装了 SQLExpress(SqlLocalDB) 和 SqlServer,你就会遇到很大的困惑。
您可能见过这样的连接字符串:
sqlserver:
var connectionString = @"Server=localhost;Database=MyDatabase;Trusted_Connection=True;"
sqlExpress:
var connectionString = @"Data Source=(LocalDb)\MSSQLLocalDB;database=gritzy.IdentityServer4.dbo;trusted_connection=yes;";
第一个是你连接SQLServer的连接字符串,安装SqlServer时要求你指定根文件夹。默认是 "C:\Program Files\Microsoft SqlServer" 但你可以把它放在任何你想要的地方。例如,如果我将根指定为 "C:\Source\DB",那么它就是 "C:\source\DB\MSSQL15.MSSQLLOCALDB\MSSQL\DATA"。这里的要点是 SQLServer 实例是机器范围的。每个 server/machine.
一个实例
第二个是SQLExpress的连接字符串,DB文件通常存放在每个用户的AppData文件夹中,如"C:\Users\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB"。请注意,登录同一台机器的每个用户都可以拥有自己的数据文件,因为每个用户都有自己的 appData 文件夹。
如果您同时安装了 SQLExpress/SqlLocalDB 和 SqlServer,请启动 SSMS(管理工作室),您可以同时连接到两者,您会注意到它们有不同的数据库。
我注意到我使用了连接字符串来迁移身份数据库。不管我做了什么,我看了又看,但我找不到数据库。所以我重新评估了我的连接字符串,发现它们并不那么相似:
var connectionString = @"Server=localhost;Database=MyDatabase;Trusted_Connection=True;"
var connectionString = @"Data Source=(LocalDb)\MSSQLLocalDB;database=gritzy.IdentityServer4.dbo;trusted_connection=yes;";
一个只是将服务器指定为localhost,另一个甚至根本没有指定服务器。
我的印象是本地主机只会使用默认的 MSSQLSERVER 实例名称。
数据源和服务器有什么区别?
"Data Source"和"Server"是同义词,所以没有区别。
localhost 指定您计算机上的默认 SQL 服务器实例。
(LocalDb)\MSSQLLocalDB 是您计算机上的默认 LocalDB 实例
如果你同时安装了 SQLExpress(SqlLocalDB) 和 SqlServer,你就会遇到很大的困惑。
您可能见过这样的连接字符串:
sqlserver:
var connectionString = @"Server=localhost;Database=MyDatabase;Trusted_Connection=True;"
sqlExpress:
var connectionString = @"Data Source=(LocalDb)\MSSQLLocalDB;database=gritzy.IdentityServer4.dbo;trusted_connection=yes;";
第一个是你连接SQLServer的连接字符串,安装SqlServer时要求你指定根文件夹。默认是 "C:\Program Files\Microsoft SqlServer" 但你可以把它放在任何你想要的地方。例如,如果我将根指定为 "C:\Source\DB",那么它就是 "C:\source\DB\MSSQL15.MSSQLLOCALDB\MSSQL\DATA"。这里的要点是 SQLServer 实例是机器范围的。每个 server/machine.
一个实例第二个是SQLExpress的连接字符串,DB文件通常存放在每个用户的AppData文件夹中,如"C:\Users\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB"。请注意,登录同一台机器的每个用户都可以拥有自己的数据文件,因为每个用户都有自己的 appData 文件夹。
如果您同时安装了 SQLExpress/SqlLocalDB 和 SqlServer,请启动 SSMS(管理工作室),您可以同时连接到两者,您会注意到它们有不同的数据库。