sqlserver

MS-SQLSERVER 批量修改表中 某个字段可为NULL

醉酒当歌 提交于 2020-08-09 10:40:19
-- 危险操作,处理前记得先备份数据库 1 declare @sql varchar ( 500 ), @tbname varchar ( 100 ) 2 begin 3 4    -- 创建游标 5    declare cursor_item cursor fast_forward for select [ name ] from sysobjects where xtype = ' U ' AND id in ( select id from syscolumns where name = ' myColumnName ' and colstat = 0 ) 6    open cursor_item; -- 打开游标 7    while 1 = 1 -- 开始循环 8    begin 9      fetch next from cursor_item into @tbname ; -- 赋值到变量中 10      if ( @@fetch_status != 0 ) break ; -- 如果没有结果退出循环 11 12      -- 拼接修改字段的SQL语句 13      set @sql = ' alter table ' + @tbname + ' alter column myColumnName int NULL ' 14 15      --

Sql Server优化---统计信息维护策略

大憨熊 提交于 2020-08-09 08:48:40
本文出处: http://www.cnblogs.com/wy123/p/5748933.html 首先解释一个概念,统计信息是什么:   简单说就是对某些字段数据分布的一种描述,让SQL Server大概知道预期的数据大小,从而指导生成合理执行计划的一种数据库对象 默认情况下统计信息的更新策略:   1,表数据从0行变为1行   2,少于500行的表增加500行或者更多   3,当表中行多于500行时,数据的变化量大于500+20%*表中数据行数 非默认情况下,促使已有统计信息更新的因素(包括但不限于下面三种,别的我也没想起来):   1,rebulid\Reorg index   2,主动update statistics   3,数据库级别的sp_updatestats 开始问题: 对于大表的更新策略是:数据的变化量大于500+20%*表中数据行数 比如对于1000W数据量的表,数据变化要超过500+1000W*20%=2,000,500之后才能触发统计信息的更新, 这一点大多数情况下是无法接受的,为什么?因为该规则下触发统计信息更新的阈值太大,会导致某些统计信息长期无法更新, 由于统计信息导致的执行计划不合理的情况已经在实际业务中屡见不鲜,对于统计信息的更新已经显得非常必要 同时,仅仅靠sqlserver自己更新统计信息,也不一定可靠,因为统计信息中还要一个取样行数的问题

使用Docker运行SQL Server

烈酒焚心 提交于 2020-08-09 06:47:27
现在.net core已经跨平台了,大家也都用上了linux用上了docker。跟.net经常配套使用的SQL SERVER以前一直是windows only,但是从SQL Server 2017开始已经支持运行在docker上,也就说现在SQL Serer已经可以运行在linux下了。 下面在Ubuntu 16.4上演示安装并使用SQL Server 2019-CTP3.2 SQL Server in Docker sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu 使用docker pull命令从docker hub拉取sqlserver 2019-ctp3.2的镜像 sudo mkdir /hd2/sqlserver2019_data sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=dev@123," -p 14330:1433 --name sqlserver2019 -v /hd2/sqlserver2019_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu 使用docker run 命令启动容器,其中要注意的是使用

ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查

本秂侑毒 提交于 2020-08-09 06:12:42
场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106795640 在上面使用MVC搭建起来Hello World项目后,怎样连接SqlServer数据库并实现增删改查。 这里使用的是Visual Studio 2013 以及 SqlServer 2014 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建MVC项目 打开VS-新建-项目-Web-ASP.NET Web应用程序 更改项目名称与项目位置,点击确定。 然后选择MVC模板,点击确定。 新建MVC程序成功后,具体的目录如下 APP_Data: ASP.NET的特殊目录,存放于此的文件无法被下载,通常会将文件型数据和自定义的配置文件放置在此。 App_Start: ASP.NET MVC的配置文件都放置在此。 1.BundleConfig.cs: CSS 与JavaScript捆绑的最小化配置文件。 2.FilterConfig.cs: 全局的动作过滤配置文件,默认已经加入HandleErrorAttribute。 3.RouteConfig.cs

造轮子-AgileConfig基于.NetCore的一个轻量级配置中心

﹥>﹥吖頭↗ 提交于 2020-08-09 04:04:47
微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个,而且他们也对.net不太友好,也只有apoll提供了官方的.net客户端。二来这些组件都太重量级了,比如apoll,光跑起来就要部署多个节点(admin,portal,meta sevice)还要依赖eureka。很多旧的项目往微服务迁移的时候并不是一下次全部调整完成的,可能是一步步来的,比如先把所有的服务都容器化,并没有使用微服务全家桶。而且有的项目也不需要微服务全家桶,毕竟微服务不是银弹,很多项目单体结构就足够了,有些项目传统的SOA架构也可以了。(唠叨一句,那种毫无流量毫无并发的项目,几人几天就搞完的强上微服务真的好吗?)但是这些项目也可能是分布式的,容器化部署的,那么这些项目我觉得也是需要配置中心的,因为在分布式、容器化环境下更改配置实在是太麻烦了。可以说配置中心并不是微服务独有的。基于以上原因我提炼了一些配置中心必备的功能,做的尽量简单(陋),开发了AgileConfig,为.net core的生态尽一份绵薄之力。 Github求star: AgileConfig

Mysql、sqlserver、oracle指定返回记录数

做~自己de王妃 提交于 2020-08-09 02:52:57
近期新接触sqlserver、oracle数据库,发现指定返回记录总数居然都和mysql不同: Mysql: select XXX where XXX limit N Sqlserver: select TOP N XXX Oracle: select XXXX where rownum < (N+1) 注意点: oracle中,rownum=N,只有N=1为true,其他均为false。因此,如果需要返回N条记录,条件应该为 where rownum < (N+1) rownum详细用法,见: https://www.cnblogs.com/amyzhu/p/13061834.html 来源: oschina 链接: https://my.oschina.net/u/4301161/blog/4303563

[开源] .Net orm FreeSql 1.5.0 最新版本(番号:好久不见)

余生颓废 提交于 2020-08-09 02:49:53
废话开头 这篇文章是我有史以来编辑最长时间的,历时 4小时!!!原本我可以利用这 4小时编写一堆胶水代码,真心希望善良的您点个赞,谢谢了!! 很久很久没有写文章了,上一次还是在元旦发布 1.0 版本的时候,今年版本规划是每月底发布小版本(年底发布 2.0),全年的开源工作主要是收集用户需求增加功能,完善测试,修复 bug。FreeSql 1.0 -> 1.5 相隔半年有哪些新功能?只能说每个功能都能让我兴奋,并且能感受到使用者也一样兴奋(妄想症)。 迫不及待的人会问,这更新速度也太快了吧,升级会不会有问题? 不了解版本的更新日志,直接升级不是好的习惯,建议关注我们的更新日志(github 上有专门的文档); 我们的版本开发原则:在尽量保证兼容的情况下,增加新功能,砍掉少量不合理的功能; 我们的单元测试数量:4000+,这是我们引以自豪,发布版本的保障; 入戏准备 FreeSql 是 .Net ORM,能支持 .NetFramework4.0+、.NetCore、Xamarin、XAUI、Blazor、以及还有说不出来的运行平台,因为代码绿色无依赖,支持新平台非常简单。目前单元测试数量:4000+,Nuget下载数量:123K+,源码几乎每天都有提交。值得高兴的是 FreeSql 加入了 ncc 开源社区: https://github.com/dotnetcore/FreeSql

案例解析丨金蝶K/3 Wise接入华为云RDS数据库SQL Server

江枫思渺然 提交于 2020-08-08 23:59:07
1. 简介 企业或用户将数据中心部署在线下,采用独立软件提供商(Independent Software Vendor)软件进行管理。线下数据运维成本较高,故障容灾单一化,是目前遇到的瓶颈。采用云上数据库并平滑兼容线下ISV软件管理可以降低企业上云难度,加速企业上云,本文以金蝶K/3 WISE 为例,配合华为云SQL Server 实例快速迁移数据中心。 适用场景说明: a) 支持本地ISV应用迁移上云 b) 支持云上虚拟机中的ISV应用,将数据库远程安装至RDS SQL Server。 2. 案例实现 2.1 云上环境搭建 环境说明: a) 本地环境:Windows Server 2016 标准版 64位 ,已经安装了金蝶K/3 WISE 相关组件,并创建测试账套,数据库实体为AIS20200415112523,数据库用户为sa。 b) 云上环境: 华为云SQL Server Microsoft SQL Server 2016 Enterprise Edition 单机实例 4核16GB ,字符集尽量保持和线下一致(线下字符集区分大小写可能会有影响)。 华为云弹性云服务器 Windows Server 2016 标准版 64位 4核16GB(用于安装金蝶客户端及账套管理)。 备注: 安装金蝶的弹性云服务器需要和RDS实例在同一个地域,且VPC相同

安装SQL Server 2008 r2遇到的问题

梦想的初衷 提交于 2020-08-08 07:21:12
安装SQL2008 提示创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统找不到指定的文件。 (C:\Users\Administrator\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\10.0.0.0\user.config line 5) 环境WIN7 64位,安装SQL2008之前 已安装好了 VS2008 造成这个原因是由于先装了VS开发环境造成的,需要删除 在c盘中按照上面的路径查询 user.config文件,将其删除。 来源: oschina 链接: https://my.oschina.net/u/4387680/blog/4317464

MySQL数据库界面化工具

故事扮演 提交于 2020-08-07 19:06:09
MySQL数据库界面化工具 - Navicat的常用功能 本文关键字:MySQL、数据库、界面化工具、Navicat、常用功能 一、Navicat概述 首先我们要先知道Navicat到底是个啥?之前经常看到很多小伙伴没有安装数据库,就直接丢一个错误截图到群里。 问:为什么我连不上本地数据库? 于是乎,我会根据报错信息很礼貌的问一句:你的数据库服务开启了吗? 对方答:数据库服务?那是什么? 我:emmmm。。。??? 1. DBMS与界面化工具的关系 我们所使用的数据库管理系统,或者称之为数据库软件,如:MySQL、Oracle、SQLServer,在安装以后,都是以系统服务的方式存在的,并不像我们其他的安装程序一样,用的时候直接打开某个exe程序或者快捷方式。 所以我们在使用数据库之前,一定要确保数据库服务为开启状态,不同的数据库软件的操作流程大同小异,在系统的服务列表中进行确认,或者使用对应的数据库服务管理工具。 那么界面化工具只是一个对数据库管理的软件,相比于数据库自带的客户端访问程序(通常都是在黑框框里面运行。。。什么叫黑框框,明明是cmd好不!),使用起来要更方便一些。所以界面化工具所提供的功能其实是基于数据库本身就支持的功能做的界面封装,如果没有数据库服务,自己是无法工作的。 那么,是不是使用界面化工具就必须安装数据库服务呢?也并不是完全这样,如果我们要访问的数据库在云端