-
sql语句优化之SQL Server(详细整理)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:65
查询速度慢的原因很多,常见如下几种 a、在实现分区视图之前,必须先水平分区表 b、在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的名称。这样,引用分布式分区视图名的查询可以在任何一个成员服务器上运行。系统操作如[详细]
-
修改数据库为多用户模式
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
修改数据库为多用户模式 SQL语句修改数据位多用户模式如下: SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('数据库名称'); EXEC(@SQL); GO ALTER DATABASE '数据库名称' SET MULTI_USER;[详细]
-
SQL Server中的Forwarded Record计数器影响IO性能的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:78
一、简介 最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动。本篇文章分享什么是forwarded record,并从原理上谈一谈为什么Forwarded record会造成额外的IO。 二、存放原理 在SQL Server中,当数据是以[详细]
-
SQL Server创建链接服务器的存储过程示例分享
所属栏目:[MsSql教程] 日期:2020-12-12 热度:53
创建链接服务器。链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。在使用 sp_addlinkedserver 创建链接 服务器后,可对该服务器运行分布式查询。如果链接服务器定义为 SQL Server 实例,则可执行远程存储过程。 http://msdn.microsoft.com/zh-cn/l[详细]
-
MS SQL Server2014链接到MS SQL Server 2000的解决方案及问题处
所属栏目:[MsSql教程] 日期:2020-12-12 热度:141
开发与企业应用中,好几个版本SQL Server相互链接。分布式读取与存储,需要实现sp_addlinkedserver。SQL Server 2000,SQL Server 2008,SQL Server 2012和SQL Server 2014: 但今天在本机的MS SQL Server 2014中,想添加SQL Server 2000的链接,使用下面的方法[详细]
-
强制SQL Server执行计划使用并行提升在复杂查询语句下的性能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:181
通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快。而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,[详细]
-
随机抽取的sql语句 每班任意抽取3名学生
所属栏目:[MsSql教程] 日期:2020-12-12 热度:169
学校有一、二、三。。。。至十班。 假设每个班上有30名学生。张、李、刘、苏等 现有这样的表 student ,字段 class 及name 。其中class 表示班级,name 表示每班学生姓名。 要求每班任意抽取3名学生出来,进行学校大扫除。 请写出这样的SQL语句。[详细]
-
Linux环境中使用BIEE 连接SQLServer业务数据源
所属栏目:[MsSql教程] 日期:2020-12-12 热度:161
1、客户端 在客户端首先配置odbc数据源,可以直接在运行中输入odbcad32,打开配置界面--系统DNS---添加 选择SQLserver的相关驱动,一般选择wire protocol型的驱动,配置sqlserver数据库连接信息,测试一下是否连接成功,并保存退出。 注意此时的ODBC数据源名[详细]
-
获取SQL Server2014的安装时间
所属栏目:[MsSql教程] 日期:2020-12-12 热度:181
如果你没有特意记录安装日期(实际大部分人都不会这样做),那么有没有办法从SQL Server里查询到呢? 想想我们在安装的时候,肯定会有Windows认证登录账号的创建信息,我们可以通过查询它来确定安装日期。查询的T-SQL如下: 其输出的结果如下: 从结果中,我[详细]
-
SQL中DATEADD和DATEDIFF的用法示例介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:182
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期! 在这篇文章[详细]
-
SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI
所属栏目:[MsSql教程] 日期:2020-12-12 热度:160
今天一位同事在启动自己工作机的SQL Server 2012配置管理器时遇到如下报错: 网上搜了一下,发现如下办法可行: 在“开始”里打开cmd,然后输入命令mofcomp+空格,然后找到文件sqlmgmproviderxpsp2up.mof,把该文件拖至命令后面,回车即可。[详细]
-
SQL Server的链接服务器技术小结
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test,数据源名称为 myDSN 2、建立链接数据库 3、查询数据 SELECT * FROM OPENQUERY (MySQLTest,'select * from 表'[详细]
-
使用sql语句创建和删除约束示例代码
所属栏目:[MsSql教程] 日期:2020-12-12 热度:107
div class="jb51code" pre class="brush:sql;" 使用sql语句创建和删除约束 约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空。 唯一约束(Unique constraint) --:要求该列唯一,允许为空,但只能出现一个空值。 检查[详细]
-
sqlserver登陆后报不能为空不能为null的错误
所属栏目:[MsSql教程] 日期:2020-12-12 热度:164
sql server 2012 值不能为null。参数名:viewinfo (microsoft.sqlserver.managemenmen) 是因为在C:Users你的用户名AppDataLocalTemp中,缺少一个名为2的目录。添加上就可以了。[详细]
-
sqlserver清除完全重复的数据只保留重复数据中的第一条
所属栏目:[MsSql教程] 日期:2020-12-12 热度:116
div class="jb51code" pre class="brush:sql;" --创建测试表 CREATE TABLE [dbo].[testtab]( [id] nchar NULL,[name] nchar NULL ) ; --向测试表插入测试数据 insert into testtab values('1','1'); insert into testtab values('1','1'); insert into testt[详细]
-
SQL Server 分页查询通用存储过程(只做分页查询用)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:200
自开始做项目以来,一直在用。这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用。 AS BEGIN -- 存储过程开始 -- 该存储过程需要用到的几个变量 -- DECLARE @str[详细]
-
SQL Server降权运行 SQL Server 2000以GUESTS权限运行设置方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:118
SQL2000数据库由于自身漏洞问题,黑客很容易通过他取得系统管理员权限。 SQL默认以SYSTEM权限运行,权限超级强大。 为了让服务器更安全,建议设置SQL2000以GUESTS权限运行,让黑客即使入侵了数据库,也没法取得系统管理员权限,防止进一步造成破坏。 具体设[详细]
-
SqlServer修改数据库文件及日志文件存放位置
所属栏目:[MsSql教程] 日期:2020-12-12 热度:163
div class="jb51code" pre class="brush:sql;" --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'数据库名'); --修改文件的存放位置下次启动生效 --testDb[详细]
-
sqlserver、mysql获取连接字符串步骤
所属栏目:[MsSql教程] 日期:2020-12-12 热度:107
步骤: 一、新建文本文档xxx.txt,修改文件类型为.udl 二、打开该文件,在《提供数据》中找到对应的服务。 三、在连接中选择需要的数据库,并填写相关信息。 四、测试连接,若成功则跳至下一步,失败则是用户信息有误,重新修改。 五、把xxx.udl后缀名改为txt[详细]
-
sql 取代游标的写法示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:120
div class="jb51code" pre class="brush:sql;" Update Tb_Garden1 G Set Steward = ( Select Id From Zyq.Tb_User U Where Replace(U.Name,'区') = G.Name And Rownum =1) where exists (select 1 from zyq.tb_user u where Replace(U.Name,'区') = G.Name A[详细]
-
SQL-ORDER BY 多字段排序(升序、降序)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:185
div class="jb51code" pre class="brush:sql;" ORDER BY _column1,_column2; / _column1升序,_column2升序 / ORDER BY _column1,_column2 DESC; / _column1升序,_column2降序 / ORDER BY _column1 DESC,_column2 ; / _column1降序,_column2升序 / ORDER B[详细]
-
MSSQL附加数据库拒绝访问提示5120错误的处理方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120) 该经验介绍如何处理该报错,而后成功附加数据库。 添加Authenticated Users用户名。为Authenticated Users用户分配[详细]
-
CASE表达式实现基于条件逻辑来返回一个值
所属栏目:[MsSql教程] 日期:2020-12-12 热度:85
我们在开发过程中,经常需要针对一列,基于条件逻辑来返回一个值,那么,这时候就需要使用到CASE表达式了。 例如,以下对Products表的查询就在SELECT语句中使用了CASE表达式,以生成用于描述categoryid列取值的信息。 SQL代码如下: SELECT productid,produc[详细]
-
SQL Server两种分页的存储过程使用介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:107
由于现在很多的企业招聘的笔试都会让来招聘的写一个分页的存储过程,有的企业甚至要求应聘者用两种方式实现分页,如果没有在实际项目中使用过分页,那么很多的应聘者都会出现一定的问题,下面介绍两种分页的方法。 一、 以学生表为例,在数据库中有一个Stude[详细]
-
在sql中不指定Order by排序是按照主键吗
所属栏目:[MsSql教程] 日期:2020-12-12 热度:74
在sql中不指定Order by,排序是按照主键吗?答案是不一定。举个例子: 查询AttendanceEmpRank表,主键是AttendanceEmployeeRankId,而且是聚集索引 执行下面的语句,发现第一句不指定Order by的结果跟第二句不一样。 再看看执行计划,我们可以知道,第一句用[详细]