zoukankan      html  css  js  c++  java
  • iis上部署本地数据库LocalDB的方法

    1. iis应用程序池的标识设置为"ApplicationPoolIdentify"(比较安全)

    2. 不要将数据库物理文件保存在网站的物理路径内,因为iis应用程序池的标识为ApplicationPoolIdentify,此时网站文件夹的安全权限中对应的用户(应用程序池名称)的权限会被设置为只允许读取,为了安全起见,保持此默认设置,在其它位置创建文件夹用于保存数据库(比如:D:LocalDBTestWebApp)

    3. 右键单击保存数据库文件的文件夹(比如:TestWebApp)----属性----安全----编辑----添加----输入名称:IIS APPPOOl应用程序池名称----确定----(此时在用户名列表中将只显示应用程序池名称作为用户名)----勾选允许权限,"修改","读取和执行","列出文件夹内容","读取","写入"----确定----确定----(完成对数据库文件夹的权限设置)

    4. 为自动实例v11.0创建共享实例名,并设置相应的权限,步骤如下(以LocalDB 2012 为例)

    4.1 打开cmd,按顺序分别执行以下三条命令创建并启用共享实例 (SqlLocalDB.exe 一般在"C:Program FilesMicrosoft SQL Server110ToolsBinn"目录内)

    SqlLocalDB.exe stop "v11.0"
    SqlLocalDB.exe share
    "v11.0" "shareInstanceName" SqlLocalDB.exe start "InstanceName"

    4.2 打开 SQL Server Managerment Studio 使用 Windows身份验证 连接 (LocalDb).shareInstanceName (注意共享实例的数据源名称格式比普通实例中间多了个点)

    4.3 选择"安全性"----"登录名"----右键------"新建登录名",在"常规"选项卡中的使用 IIS APPPOOl应用程序池名称 作为登录名,选择 "Windows身份验证",在"服务器角色"选项卡中勾选"public"和"dbcreator",然后以相同的方法再新建一个登录名:NT AUTHORITYSYSTEM

    5. 修改项目中Web.config中的连接字符串,

        将 "Data Source" 设置为 "(LocalDb).shareInstanceName",

        将 "AttachDbFilename" 设置为 "D:LocalDBTestWebAppTestWebApp.mdf"

    注意:localdb实例在一段时间后会自动停止运行,当有连接时会自动运行,不过由于iis应用程序池的标识一般设置为ApplicationPoolIdentify,由于权限不足会导致无法运行localdb实例。

  • 相关阅读:
    Cannot assign requested address问题总结
    Trying to connect an http1.x server
    从 0 到 1 搭建技术中台之推送平台实践:高吞吐、低延迟、多业务隔离的设计与实现
    思考gRPC :为什么是HTTP/2
    HTTP/1HTTP/2HTTP/3
    get_or_create update_or_create
    死锁案例 GAP 锁 没有就插入,存在就更新
    死锁产生必要条件
    京东零售mockRpc实践
    Certbot CA 证书 https
  • 原文地址:https://www.cnblogs.com/gmcn/p/7224620.html
Copyright © 2011-2022 走看看