SQLServer数据库安全--创建登陆用户--createloginlogin_namefromwindowswithdefault_database=database|default_language=language;createlogin[localhost\hoojo-pc]fromwindowswithdefault_database=testHome;--创建登陆用户--createloginlogin_namewithpassword='p
系统 2019-08-12 01:55:01 2157
1、数据库压缩日志GOALTERDATABASEwebsiteSETRECOVERYSIMPLE;--设置简单恢复模式GODBCCSHRINKFILE(website_Log,1);GOALTERDATABASEwebsiteSETRECOVERYFULL;--恢复为原模式GO2、重建所有索引execsp_msforeachtable'DBCCDBREINDEX(''?'')'重建索引DECLARE@namevarchar(100)DECLAREautho
系统 2019-08-12 01:54:32 2157
一、时间函数在使用存储过程,sql函数的时候,会遇到一些对时间的处理。比如时间的获取与加减。这里就用到了sql自带的时间函数。下面我列出这些函数,方便日后记忆,使用。--getdate获取当前时间selectgetdate()--dateadd原有时间加:2013-02-1713:20:16此时间加12个月selectdateadd(MONTH,12,'2013-02-1713:20:16')--返回:2014-02-1713:20:16.000(参数mo
系统 2019-08-12 01:51:30 2157
在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s
系统 2019-08-12 01:51:30 2155
在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7.假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。当然,你可以通过@@DATEFIRST函数来检查第一天设置。一、为了理解这些例子,我
系统 2019-08-12 01:32:40 2155
<一>有相关ID标识一.查找重复记录1.查找所有重复记录Select*From表Where重复字段In(Select重复字段From表GroupBy重复字段HavingCount(*)>1)SELECT*FROMCompanyEmailcWHERE((SELECTCOUNT(*)FROMCompanyEmailWHEREEmail=a.Email)>1)ORDERBYEmailDESC查出相同orderid中创建时间最晚的记录selectt.IdfromG
系统 2019-08-29 22:57:11 2154
SQLServer汇总数据之计算总计数据虽然ReportinService能够轻松地计算总计和小计,而无须查询做额外的工作。但实践表明,向应用程序提供总计,让其在窗体或网页底端显示它可能很有用。接下来的三个聚合命令将可以提供很好的解决方案。一、Rollup与Cube两者基本语法一致:groupby....withrollup|cube聚合函数Rollup和Cube在一个独立的行中计算出小计和总计,并在分组依据列中包含空值,以指出对应的值为总计。Rollup
系统 2019-08-12 01:53:33 2154
看看跟上一个版本有啥不一样的。每个技术领域关注的角度可能都略有不同,这里主要从一个BI从业人员的角度来观察SQLServer2012在安装以及第一印象上有什么变化。建议下载iso文件:SQLFULL_ENU.iso可以直接用rar解压,方便硬盘安装。解压后的目录,双击setup.exe安装。安装起始界面,跟上一个版本变化不大。点击Installation,然后再点击右边第一项。留意到Stand-alone,这个词在MOSS里也见过。这一步没有太大的变化,似
系统 2019-08-12 01:52:22 2153
原文:灵活运用SQLSERVERFORXMLPATHFORXMLPATH有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.一.FORXMLPATH简单介绍那么还是首先来介绍一下FORXMLPATH,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:接下来我们来看应用FORXMLPATH的查询结果语句如下:SELEC
系统 2019-08-12 01:52:02 2153
1.有標識列時的方案:--1.利用NotIn和SELECTTOP分页语句形式:SELECTTOP10*FROMTestTableWHERE(IDNOTIN(SELECTTOP20idFROMTestTableORDERBYid))ORDERBYIDSELECTTOP页大小*FROMTestTableWHERE(IDNOTIN(SELECTTOP页大小*(页数-1)idFROM表ORDERBYid))ORDERBYID--2.利用ID大于多少和SELECTT
系统 2019-08-12 01:54:48 2152
原文:SQLServer作业监控在讲解SQLServerAgentJobs之前,先要讲解msdb。Msdb是SQLServer的系统数据库之一,用于存储SQLServer的配置、元数据等信息。包括:lSQLServerAgentJobs,JobSteps,Jobschedules,Alerts,Operators,等等。lServiceBroker,LogShipping,Backups/restore信息,维护计划、数据库邮件、基于策略管理信息等等。lS
系统 2019-08-12 01:51:30 2152
1.在sp_configure配置xp_cmdshell可运行2.创建一个账号test,用来执行xp_cmdshell但是非sysadmin权限3.用grant把xp_cmdshell权限赋予test4.创建代理账号,这个账号是windows账号。5.在sqlserver中设置代理账号,右击实例属性安全性下的代理中填入windows账号密码或者使用sp_xp_cmdshell_proxy_account设置代理账号SQLServer非sysadmin调用扩
系统 2019-08-12 01:33:32 2152
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。存储过程的优点1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过
系统 2019-08-29 22:18:38 2151
什么是主键?在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人。数据库的表中作为主键的字段就要像人的身份证号一样,必须
系统 2019-08-12 01:52:31 2150
SQLServer数据库基础编程ØGo批处理语句用于同时执行多个语句Ø使用、切换数据库usemastergoØ创建、删除数据库方法1、--判断是否存在该数据库,存在就删除if(exists(select*fromsys.databaseswherename='testHome'))dropdatabasetestHomego--创建数据库,设置数据库文件、日志文件保存目录createdatabasetestHomeon(name='testHome',fi
系统 2019-08-12 01:52:25 2150