[项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

   前一篇文章说了些有关IIS的,这篇则是说SQLServer的,相比IIS来说,SQLServer的配置过程中问题就少了许多,而且都比较有针对性,下面开始记录:

注:由于实际项目的开发都是基于SQL2000的,所以下面所说的问题也都是基于SQL2000的。

 

一、SESSION相关的数据库配置

      由于客户的服务器是都是全新的,所以需要帮客户的服务器安装一系列的环境,SQL2000也是必不可少,而由于在项目中采用了将SESSION保存到SQLServer中,配置如下:

1
< sessionState  mode="SQLServer" sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" timeout="30"/>

所以相对应的,需要在数据库中也需要进行相应的配置,步骤如下:

1、创建ASPState数据库,打开VS的命令提示工具,使用aspnet_regsql.exe –ssadd -E(有关此命令相关帮助可以使用“aspnet_regsql.exe -?”查看或者直接查阅MSDN,这边不详细介绍)

2、由于我们所开发的网站都在IIS上运行,而IIS上所运行的程序默认是没有权限访问ASPState数据库的,所以需要在ASPState数据库中添加IIS_WPG及IUser_计算机名2个用户角色,并设置其为db_owner。

至此理论上来说应该是解决了问题,实则不然,当运行网站的时候,用到session的地方还是一样会出错,其原因就是session会临时保存在tempdb数据库,所以同样需要为其加上IIS_WPG及IUser_计算机名2个用户角色

同时附上有关session状态服务及丢失的解决方案的文章:ASP.NET状态服务及session丢失问题解决方案总结【转载】

 

二、数据库权限相关

     在上面的问题中说到tempdb数据库,其主要作用如下(摘自MSDN):

tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例的所有用户使用,并可用于保存下列各项:

1、显式创建的临时用户对象,例如全局或局部临时表、临时存储过程、表变量或游标。

2、SQL Server 数据库引擎创建的内部对象,例如,用于存储假脱机或排序的中间结果的工作表。

3、由使用已提交读(使用行版本控制隔离或快照隔离事务)的数据库中数据修改事务生成的行版本。

4、由数据修改事务为实现联机索引操作、多个活动的结果集 (MARS) 以及 AFTER 触发器等功能而生成的行版本。

tempdb 中的操作是最小日志记录操作。这将使事务产生回滚。每次启动 SQL Server 时都会重新创建 tempdb,从而在系统启动时总是保持一个干净的数据库副本。在断开联接时会自动删除临时表和存储过程,并且在系统关闭后没有活动连接。因此 tempdb 中不会有什么内容从一个 SQL Server 会话保存到另一个会话。不允许对 tempdb 进行备份和还原操作。

其中有句话很关键:每次启动 SQL Server 时都会重新创建 tempdb,所以这个就是引发了一个不大不小的问题,就是当服务器重启或者数据库重启后原先为tempdb添加的用户角色就会消失(由于重新创建了tempdb库),所以此时再访问网站则会发现session出现了错误,需要重新为其加上IIS_WPG及IUser_计算机名2个用户角色。

 

话说,各位看过的朋友如果觉得本文对您还有点用,或者觉得本文还有价值的话,麻烦将鼠标移到【推荐】上,帮我点击下,非常非常的感谢!

 

项目过程中所遇到的各种问题记录

编辑器篇:

        FCKeditor相关知识及各种常见使用问题

        FCKeditor自定义上传路径配置

        使用FCKeditor生成静态分页HTML

图表篇:

        有关MSChart的一些小技巧

        asp.net上不错的图表选择—FunsionCharts

ORM篇:

        使用NHibernate配置对象实体的一些小问题

        有关NHibernate查询封装

部署篇:

        项目部署过程中那些纠结的问题-IIS

        项目部署过程中那些纠结的问题-SQLServer

工具篇:

        .NET开发时常用的工具类库


本文转自kyo-yo博客园博客,原文链接:http://www.cnblogs.com/kyo-yo/archive/2010/12/24/Problem-Record-Deploy-Project-Deployment-Problems-Those-Things-With-SQLServer.html,如需转载请自行联系原作者


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
6月前
|
SQL 关系型数据库 数据库
SQL Server 简介与 Docker Compose 部署
SQL Server 是由微软公司开发的一款强大的关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据存储。使用 Docker Compose,您可以轻松地将 SQL Server 实例部署到容器化环境中,并方便地进行数据库管理。在本文中,我将简要介绍 SQL Server 的基本概念,并详细阐述如何使用 Docker Compose 部署 SQL Server 容器。
225 2
SQL Server 简介与 Docker Compose 部署
|
4月前
|
Kubernetes Cloud Native 数据库
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
96 0
|
4月前
|
Linux 数据库 数据安全/隐私保护
猿创征文|Linux centos7下利用docker快速部署SQLserver测试学习环境
猿创征文|Linux centos7下利用docker快速部署SQLserver测试学习环境
83 0
|
Kubernetes Cloud Native 安全
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
1075 0
|
弹性计算 关系型数据库 数据库
使用ROS部署ECS+SqlServer资源并通过PowerShell操作数据库
本文介绍如何通过ROS部署ECS+RDS+SqlServer资源,以及如何通过PowerShell操作SqlServer数据库。 注意:附录模板和截图中的commandtext部分仅为演示作用,请根据需求修改后使用。
114 0
使用ROS部署ECS+SqlServer资源并通过PowerShell操作数据库
|
SQL Go 数据库
SQLServer数据库获取重复记录中日期最新的记录
在日常的项目开发当中,经常会遇到获取同一属性相同的记录,如何获取记录时间最新的那一条,比如获取某个淘宝用户最新一次的购物记录,美团外卖获取用户最后一次的点外卖记录等等场景,下面通过简单的示例给大家提供三种比较常见的SQL写法,希望能给大家带来一些思路。
SQLServer数据库获取重复记录中日期最新的记录
|
文件存储 SQL .NET
在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并部署到 IIS 服务
阿里云 NAS SMB 卷具有高可用高吞吐大容量等特点,可以很好地解决网站和数据库项目的存储问题。本文将介绍如何在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并把项目部署到 IIS 服务作为正式服务开放出去。
2438 0
在 NAS SMB 卷上用 Visual Studio 调试 ASP.NET + SQLServer 项目并部署到 IIS 服务
|
SQL 关系型数据库 Linux
MSSQL(SQL Server) on Linux 简明部署与使用
标签 PostgreSQL , ms sql , SQL Server 背景 本文介绍MS SQL on Linux的简单部署,使用。 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017 后面简单介绍如何将MS SQL迁移到PostgreSQL。
2996 0
|
SQL Linux 数据库
通过Docker部署Linux版SqlServer
      很多人不知道SqlServer还有Linux版的,微软官方于2016年就发布了SqlServer 2017 for Linux,使得SqlServer数据库可以运行在Linux内核的服务器上。
2897 0
|
SQL Shell 数据库
SQLServer删除登录记录用户名和密码
原文:SQLServer删除登录记录用户名和密码 介绍: 作为一名开发人员都会知道我们做的项目都要用到数据库,数据库都需要账号和密码,然而问题来了,做的东西多了那些没用的账号和密码还在哪里纠缠着我们。
1619 0