首页 > 编程知识 正文

sql安装介质在哪,Sqllocaldb安装

时间:2023-05-05 15:06:25 阅读:146397 作者:3573

参考: https://docs.Microsoft.com/zh-cn/SQL/database-engine/configure-windows/SQL-server-express-local db? view=sql-server-2017

适用于:SQL Server (所有支持的版本)

microsoftsql server expresslocaldb是面向开发人员的SQLserverexpress功能。 可以在具有高级服务的SQL Server Express中使用。

LocalDB安装将复制启动SQL Server数据库引擎所需的最小文件集。 安装LocalDB后,可以使用特定的连接字符串启动连接。 连接后,所需的SQL Server基础架构将自动创建和启动,从而使APP应用程序能够使用数据库,而无需执行复杂的配置任务。 开发人员工具为开发人员提供了SQL Server数据库引擎,使他们可以编写和测试SQL Server代码,而无需管理Transact-SQL的完整服务器实例。

介质LocalDB安装是您在安装SQL Server Express期间选择的功能,在下载安装介质后可用。 如果要下载介质,请选择“高级”或“本地数据库”包。

SQL server express 2019 SQL server express 2017 SQL server express 2016本地数据库包括Visual Studio安装程序、“数据存储和处理”工作负载、“ASP.NET

使用LocalDB安装向导或SqlLocalDB.msi程序安装LocalDB。 LocalDB是用于安装SQL Server Express LocalDB的选项。

安装期间,在“功能选择/共享功能”页面上选择LocalDB。 每个主要SQL Server数据库引擎版本只能安装一个LocalDB二进制文件。 可以启动多个数据库引擎进程,这些进程都使用相同的二进制文件。 作为LocalDB启动的SQL Server数据库引擎实例具有与SQL Server Express相同的限制。

SQL Server ExpressLocalDB的实例通过SqlLocalDB.exe实用程序托管。 必须使用SQL Server ExpressLocalDB来代替已过时的SQL Server Express用户实例功能。

说明LocalDB安装程序使用SqlLocalDB.msi程序在计算机上安装所需的文件。 安装后,LocalDB是SQL Server Express的一个实例,可以在其中创建和打开SQL Server数据库。 的系统数据库文件存储在本地AppData路径中。 此路径通常是隐藏的。 例如,c :usersuserappdatalocalMicrosoftmicrosoftsqlserverlocaldbinstanceslocaldbapp1的用户数据库文件保存在用户指定的位置,通常是C:UsersuserDocuments文件夹中的位置。

有关在APP应用程序中包括LocalDB的详细信息,请参阅Visual Studio本地数据概述,以及在Visual Studio中创建数据库和添加表。

有关LocalDB API的详细信息,请参阅SQL Server Express LocalDB参考。

SqlLocalDb实用程序提供了用于创建LocalDB的新实例、启动和停止LocalDB实例以及管理LocalDB的选项。 有关SqlLocalDb实用程序的详细信息,请参见SqlLocalDb实用程序。

无法将LocalDB实例的排序规则设置为SQL_Latin1_General_CP1_CI_AS并更改。 一般来说,数据库级别、列级别和公式级别的排序规则都受支持。 包含的数据库遵循在包含数据库的排序规则中定义的元数据和tempdb排序规则。

除了通过service pack以外,无法对LocalDB进行修补。 CU和安全更新不能手动应用。 此外,它不适用于Windows更新、企业Windows更新或其他方法。

LocalDB无法通过SQL管理studio远程管理。

LocalDB不能是合并复制订阅服务器。

本地数据库不支持FILESTREAM。

LocalDB只允许服务中介的本地队列。

由于Windows文件系统重定向,内置帐户(如NT AUTHORITYSYSTEM )拥有的LocalDB实例可能存在管理问题。 请改为使用普通Windows帐户作为所有者。

自动实例和命名实例Loc

alDB 支持两种类型的实例:自动实例和命名实例。

LocalDB 的自动实例是公共的。 系统自动为用户创建和管理此类实例,并可由任何应用程序使用。 安装在用户计算机上的每个 LocalDB 版本都存在一个自动 LocalDB 实例。 自动 LocalDB 实例提供无缝的实例管理。 无需创建实例;它可以自动执行工作。此功能使得应用程序可以轻松地安装和迁移到另一台计算机。 如果目标计算机已安装指定版本的 LocalDB,则目标计算机也提供此版本的自动 LocalDB 实例。 自动 LocalDB 实例具有属于保留命名空间的特殊实例名称模式。 自动实例可以防止名称与 LocalDB 的命名实例发生冲突。 自动实例的名称为 MSSQLLocalDB

LocalDB 的命名实例是专用的。 这些命名实例由负责创建和管理该实例的单个应用程序所拥有。 命名实例提供与其他实例的隔离,并可以通过减少与其他数据库用户的资源争用来提高性能。 命名实例必须由用户通过 LocalDB 管理 API 显式创建,或者通过托管应用程序的 app.config 文件隐式创建(尽管托管应用程序也会在需要时使用 API)。 LocalDB 的每个命名实例都具有关联的 LocalDB 版本,指向相应的 LocalDB 二进制文件集。 LocalDB 的命名实例为 sysname 数据类型并且可具有最多 128 个字符。(这不同于常规的 SQL Server 命名实例,此类命名实例将名称限制为 16 个 ASCII 字符的常规 NetBIOS 名称。)LocalDB 实例名称可包含任何在文件名内合法的 Unicode 字符。使用自动实例名称的命名实例将成为自动实例。

不同的计算机用户可具有同名的实例。 每个实例都是以不同的用户身份运行的不同的进程。

LocalDB 的共享实例

为了支持多个计算机用户需要连接到单个 LocalDB 实例的方案,LocalDB 支持实例共享。 实例所有者可以选择允许计算机上的其他用户连接实例。 LocalDB 的自动实例和命名实例都可以共享。 若要共享 LocalDB 的某个实例,用户需要为其选择一个共享名称(别名)。 因为该共享名称对于该计算机的所有用户都是可见的,则此共享名称在计算机上必须唯一。 LocalDB 实例的共享名称具有与 LocalDB 的命名实例相同的格式。

只有计算机上的管理员才能创建 LocalDB 的共享实例。 LocalDB 的共享实例可由管理员或 LocalDB 共享实例的所有者取消共享。 若要共享和取消共享某一 LocalDB 实例,请使用 LocalDB API 的 LocalDBShareInstance和 LocalDBUnShareInstance 方法,或者使用 SqlLocalDb 实用工具的共享和取消共享选项。

启动 LocalDB 并连接到 LocalDB 连接到自动实例

使用 LocalDB 的最简单方法是通过使用连接字符串 Server=(localdb)MSSQLLocalDB;Integrated Security=true 连接到当前用户拥有的自动实例。 若要通过使用文件名连接到特定数据库,请使用类似于 Server=(LocalDB)MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:DataMyDB1.mdf 的连接字符串进行连接。

在 SQL Server 2014 中,LocalDB 格式的命名约定和连接字符串发生了变化。 以前,实例名称是一个 v 字符,后跟 LocalDB 和版本号。 自 SQL Server 2014 起,不再支持这种实例名称格式,而应改用前面提到的连接字符串。

 备注

在计算机上的用户首次尝试连接到 LocalDB 时,必须创建并启动该自动实例。 创建实例所用的额外时间可能会导致连接尝试失败并且具有超时消息。 在发生此情况时,等待几秒钟以便让创建过程完成,然后再次连接。创建并连接到命名实例

除了自动实例之外,LocalDB 还支持命名实例。 使用 SqlLocalDB.exe 程序可以创建、启动和停止 LocalDB 的命名实例。 有关 SqlLocalDB.exe 的详细信息,请参阅 SqlLocalDB 实用工具。

控制台复制

REM Create an instance of LocalDB"C:Program FilesMicrosoft SQL Server130ToolsBinnSqlLocalDB.exe" create LocalDBApp1REM Start the instance of LocalDB"C:Program FilesMicrosoft SQL Server130ToolsBinnSqlLocalDB.exe" start LocalDBApp1REM Gather information about the instance of LocalDB"C:Program FilesMicrosoft SQL Server130ToolsBinnSqlLocalDB.exe" info LocalDBApp1

上面的最后一行将返回如下信息。

创建并连接到命名实例 类别值名称LocalDBApp1版本<Current Version>共享名称""所有者"<Your Windows User>"自动创建否状态“正在运行”上次启动时间<Date and Time>实例管道名称np:\.pipeLOCALDB#F365A78Etsqlquery

 备注

如果应用程序使用早于 .NET 4.0.2 的版本,则必须直接连接到 LocalDB 的命名管道。 实例管道名称值为 LocalDB 的实例正在侦听的命名管道。 LOCALDB# 之后的实例管道名称部分将在每次启动 LocalDB 实例时更改。 若要通过使用 SQL Server Management Studio 连接到 LocalDB 实例,请在“连接到 数据库引擎”对话框的“服务器名称”框中键入实例管道名称。 在自定义程序中,可以通过使用类似于 SqlConnection conn = new SqlConnection(@"Server=np:\.pipeLOCALDB#F365A78Etsqlquery"); 的连接字符串建立与 LocalDB 实例的连接

连接到 LocalDB 的共享实例

若要连接到某一 LocalDB 共享实例,请将 .(反斜杠 + 威武的小白菜 + 反斜杠)添加到连接字符串以便引用为共享实例保留的命名空间。例如,若要连接到名为 AppData 的 LocalDB 的共享实例,可使用连接字符串(例如 (localdb).AppData)作为连接字符串的一部分。连接到用户不拥有的 LocalDB 共享实例的用户必须具有 Windows 身份验证或 SQL Server 身份验证登录名。

疑难解答

有关排除 LocalDB 问题的信息,请参阅排除 SQL Server 2012 Express LocalDB 问题。

权限

SQL Server Express LocalDB 的实例是用户根据需要创建的实例。 计算机上的任何用户都可以使用 LocalDB 实例创建数据库,在用户配置文件下存储文件并使用凭据来运行进程。 默认情况下,对 LocalDB 实例的访问仅限于其所有者。 LocalDB 中包含的数据受到对数据库文件的文件系统访问的保护。 如果用户数据库文件存储于某一共享位置,则通过使用他们自己拥有的 LocalDB 实例对该位置具有文件系统访问权限的任何人都可以打开该数据库。 如果数据库文件处于某一受保护的位置,例如用户数据文件夹,则只有该用户以及有权访问该文件夹的任何管理员才能打开该数据库。 LocalDB 文件只能一次通过一个 LocalDB 实例来打开。

 备注

LocalDB 始终在用户安全上下文中运行;即 LocalDB 从不使用本地 Administrator 组的凭据来运行。 这意味着 LocalDB 实例使用的所有数据库文件必须可以通过拥有的用户的 Windows 帐户来访问,而不必考虑本地 Administrators 组中的成员资格。

使用

LocalDB 是轻型版的 SQL Server Express 数据库引擎,以程序开发为目标。 LocalDB 作为按需启动并在用户模式下运行的轻量级数据库没有复杂的配置。 默认情况下,LocalDB 数据库在 C:Users<user> 目录下创建 *.mdf 文件。

从“视图”菜单中,打开“SQL Server 对象资源管理器”(SSOX) 。

 

我们先新建一个Book实体类

using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;namespace WebApplication_Razor.Models{ public class Book { public int ID { get; set; } public string Name { get; set; } public string SN { get; set; } public string Author { get; set; } }}

先添加一个Books文件夹

右键“添加”--“新搭建基框架项目” 

选择Razor(CRUD)页面

选择刚刚新建的类

添加一个Context

点击添加后可以看到已经生成了Context、在appstting.json中业自动添加了数据库的访问连接

同时也已经实现将数据库的Context对象注入。

/Page/Books 文件夹下已经生成 增删改查 功能页面

这时我们还没有生成新的数据库

打开Nugget 控制台来处理

 

PM> Add-Migration 位于命令管道位置 1 的 cmdlet Add-Migration请为以下参数提供值:Name: BookBuild started...Build succeeded.More than one DbContext was found. Specify which one to use. Use the '-Context' parameter for PowerShell commands and the '--context' parameter for dotnet commands.

发现多个Context,需要指定Context 

PM> add-migration Book -c WebApplication_RazorBookContext Build started...Build succeeded.To undo this action, use Remove-Migration.

 -c :哪个DbConext ;

成功执行之后会多个一个文件夹

再将实体对应的数据库生成到数据库中

PM> Update-Database -c WebApplication_RazorBookContext Build started...Build succeeded.Done.

刷新LocalDB 可以看到已经生成的数据库和表

 

调试运行下

添加一条数据

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。