错误描述:SQLServer错误:15404,无法获取有关WindowsNT组/用户'WIN-8IVSNAQS8T7\Administrator'的信息,错误代码0x534。[SQLSTATE42000](ConnIsLoginSysAdmin)百度了一下,出现的原因,装数据库之后更改了计算机名字或者是登录用户名解决办法:SQL-安全性-登录名-找到原有的计算机用户组名称-然后改为现在的计算机用户组名称,重启SQL代理服务。执行成功。把这个administrator换成你现在登录的用户名即可。...
继续阅读 >
分类:SQLserver
2021
09-22
09-22
SQLServer中JSON文档型数据的查询问题解决
近日在项目中遇到一个问题:如何在报表中统计JSON格式存储的数据?例如有个调查问卷记录表,记录每个问题的答案。其结构示意如下(横表设计)IduserdateQ1_AnswerQ2_AnswerQ3_Answer行Id答题用户答题日期问题一结果问题二结果问题三结果...
继续阅读 >
2021
05-02
05-02
SqlServer 垂直分表(减少程序改动)
由于sqlserver的设计特殊性,一般大量数据一般都是采用水平分表,而垂直分表只是把text、图片都较大数据放到单独的表中,这样数据设计会更合理,相对于mysql可能要好一点,mssql本来就是一个文件,基本上提升不大,目前来看几十万的数据没有分不分表没有任何影响,对于千万以上数据还是采用水平分表比较好。而垂直分表则相对很少见到和用到,因为这可能是数据库设计上的问题了。如果数据库中一张表有部分字段几乎从不不更改但经...
继续阅读 >
2021
04-09
04-09
SQLServer 日期函数大全(小结)
一、统计语句1、--统计当前【>当天00点以后的数据】SELECT*FROM表WHERECONVERT(Nvarchar,dateandtime,111)=CONVERT(Nvarchar,GETDATE(),111)ORDERBYdateandtimeDESC2、--统计本周SELECT*FROM表WHEREdatediff(week,[dateadd],getdate())=03、--统计本月SELECT*FROM表WHEREdatediff(month,[dateadd],getdate())=04、统计当前SELECT*FROM表WHEREdatediff(day,[dateadd],getdate())=0Select*Fromta...
继续阅读 >
2021
04-09
04-09
Sqlserver创建用户并授权的实现步骤
前提,存在一个数据库:JIAOGUAN(教务管理系统),其中有一个表:Student接下来,我们所有的操作都是针对这个表进行试验第一步,使用sa账户登录SqlServer,并创建登录账户testcreatelogintestwithpassword='test',default_database=JIAOGUAN--此登录账户默认拥有数据库JIAOGUAN的权限第二步:设置用户的schema(具体含义自行查阅),并将用户加入到dbouseJIAOGUANcreateusertestforlogintestwithdefault_schema=db...
继续阅读 >
2021
04-07
04-07
SQL Server子查询的深入理解
当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询。1子查询子查询是一个嵌套在select、insert、update或delete语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。1.1语法规则:子查询的select查询总使用圆括号括起来不能包括compute或forbrowse子句如果同时指定top子句,则可能只包括orderby子句子查询最多嵌套32层,个别查询可能会不支持32层嵌套任何可以使用表达式的地方都可以使...
继续阅读 >
2021
04-07
04-07
SQL Server 数据库分区分表(水平分表)详细步骤
1、 需求说明将数据库Demo中的表按照日期字段进行水平分区分表。要求数据文件按一年一个文件存储,且分区的分割点会根据时间的增长自动添加(例如现在是2017年1月1日,将其作为一个分割点,即将2017年1月1日之前的数据存储到数据文件A中,将2017年1月1日的之后的数据存储到数据文件B中;当时间到2018年1月1日时,自动将2018年1月1日添加为一个新的分区分割点,并将2017年1月1日至2018年1月1日的数据存储在数据文件B中,将2018...
继续阅读 >
2021
03-16
03-16
SQL Server模糊查询的常见方法总结
在数据查询的时候,有完整查询和模糊查询之分.在Access和SQLServer中使用模糊查询有一下几种查询:1.用_通配符查询"_"号表示任意单个字符,该字符号只能匹配一个字符,利用"_"号可以作为通配符组成匹配模式进行查询."_"符号可以放在查询条件的任意位置,且只能代表一个字符.例如:查询数学成绩在大于或等于80的同学selecT*FROMStuScoreWHEREMath_Scorelike'8_'2利用%通配符查询"%"符号是字符匹配符,能匹配0个或更多字符的任意长...
继续阅读 >
2021
01-17
01-17
Sql Server 视图数据的增删改查教程
一、视图的基本概念视图是用于查询的另外一种方式。与实际的表不同,它是一个虚表;因此数据库中只存在视图的定义,而不存在视图中相对应的数据,数据仍然存放在原来的基本表中。视图是一种逻辑对象。二、视图能做什么导出数据;在导出数据时,常常需要多个表联合查询,这个时候就可以使用视图;转换字段,如把status(0/1Int类型)字段转换成启用/停用(文字),然后用视图保存定义。数据安全,可以给视图加密。三、视图操作...
继续阅读 >
2021
01-17
01-17
浅谈PostgreSQL和SQLServer的一些差异
条件查询-模糊匹配PostgreSQL和SQLServer的模糊匹配like是不一样的,PostgreSQL的like是区分大小写的,SQLServer不区分。测试如下://构造数据SQLcreatetablet_user(idintegerPRIMARYKEY,namevarchar(50)notnull,codevarchar(10));insertintot_uservalues(1,'Zhangsan','77771');insertintot_uservalues(2,'Lisi',null);将如下SQL分别在PostgreSQL和SQLServer中执行:select*fromt_userwherenamelike...
继续阅读 >
2021
01-14
01-14
SQL Server 添加Delete操作回滚日志方式
我们在操作表的时候难免会遇到误删除,或者删掉的数据还想恢复的情况。也许细心的朋友会用begintranrollback/commit这种事务来避免出现失误,但这并不是最保险的。如果提交了事物发现删错了或者忘记提交从而导致表被锁,这些问题总是不可避免的。废话不多说了,下面直接进入正题,通过触发器记录删除日志,避免误删除带来的尴尬。下面这段sql粘过去直接运行,建立一个存储过程:CREATEPROCEDURE[dbo].[SP_DELETE_LOG]@TABLEN...
继续阅读 >
2021
01-14
01-14
SQLServer 使用rand获取随机数的操作
Rand()函数是系统自带的获取随机数的函数,可以直接运行selectrand()获取0~1之间的float型的数字。如果想要获取0~100之间的整数随机数,可以这样使用selectround(100*rand(),0)。为方便使用,下面延伸了一个方法:DECLARE@NumBeginInt=60--随机数的最小值DECLARE@NumEndInt=100--随机数的最大值DECLARE@DecimalInt=2--保留小数点几位SELECT@NumBegin+round((@NumEnd-@NumBegin)*rand(),@Decimal)这个方法通过传入最...
继续阅读 >
2021
01-14
01-14
sqlserver查询去掉重复数据的实现
说明:只要数据表“列名”数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长)。推荐使用方法一--方法一select*from表名Awherenotexists(select1from表名where列名=A.列名andID<A.ID)--方法二selectA.*from表名Ainnerjoin(selectmin(ID)ID,列名from表名groupby列名)BonA.列名=B.列名andA.ID=B.ID--方法三select*from表名AwhereID=(selectmin(ID)from表名where列名=A....
继续阅读 >
2021
01-14
01-14
sqlserver 实现收缩数据库日志操作
说明:收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。--将“恢复模式”设置为“简单”ALTERDATABASExszzxt_testSETRECOVERYSIMPLEGO--收缩日志文件大小到10MDBCCSHRINKFILE(N'xszzxt_test_log',10,TRUNCATEONLY)GO--将“恢复模式”设置为“完整”ALTERDATABASExszzxt_testSETRECOVERYFULLWITHNO_WAITGOALTERDATABASExszzxt_testSETRECOVERYFULLGO补充:SQLServer收缩数据库...
继续阅读 >
2021
01-08
01-08
C#使用SqlServer作为日志数据库的设计与实现
前言做一个简单的日志数据库功能不需要特别繁琐主要就是记录普通日志和错误日志(INFO,ERROR)用数据库作为日志有好处也有坏处相比于文本来说更加容易操作后期查看日志可以根据时间筛选当然要求也多了点没那么灵活了首先你的PC上还要安装一个SqlServer本来是想用log4net配置去实现的发现配置很繁琐决定自己设计一个肯定有不少不足之处分为以下几个步骤1.建立日志数据表都用一个表来存放,那么字段就要多设置一个用来区分不同...
继续阅读 >
2020
12-26
12-26
SQLServer注释快捷键操作
SQLServer中的批量注释批量注释Ctrl+(K,C):按住Ctrl键不放,然后依次按下K和C批量取消注释Ctrl+(K,U):按住Ctrl键不放,然后依次按下K和U补充:SQLServer基础单行注释与多行注释1、code--我是一个单行注释/*我是一个多行注释duohango*/2、show以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。...
继续阅读 >