说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,因为这种操作方式是通用的,即使是对现在最新的SQL Server数据库里面的操作也是一样的,相信很多朋友都会使用到. ——————————————————————分割线———————————————————— 网络上曾经有很多人询问怎么修改SQL Server数据库表的创建时间,但得到的回答多种多样,有的说需要使用某些软件进行修改,有的说需要修改注册表等等,其实这些方法实施起来不但麻…
SQL server 表中如何创建索引?看个示例,你就会了 use master goif db_id(N'zhangxu')is not nulldrop database zhangxugocreate database zhangxusp_helpdb zhangxuuse zhangxugoIF EXISTS (SELECT *FROM SYS.OBJECTS WHERE NAME = N'WORKER')DROP TABLE WORKERGOcreate table worker( w…
SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试: 更新失败后,在windows的[事件查看器→应用程序]中找到来源为MsiInstaller,事件ID为10005的日志记录,如图: 其中标明了错误代码,即-2147467259.另有一条同样来源,事件ID为1023的日志: 其中标明了更新SP1的日志文件所在位置,打开该日志文件,搜索上一条日志中获得的错误代码-2147467259,第一个跳就发现了问题: 留意该错误代码的上一行,需要载入一个文件: C…
原文:SQL Server 2017 SELECT-INTO 创建的新表指定到文件组 SELECT-INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件组,但是 SQL Server 2017 可以创建到指定的文件组中. 使用 SELECT-INTO 需要了解的地方: SELECT...INTO 为大容量操作,大容量操作是最小日志记录操作: 使用 SELECT... INTO 语句可以是比创建表,然后填充具有 INSERT 语句的表更高效: 启用事…
在安装SQL Server 2008 R2 提示创建usersettings/microsoft.sqlserver.configuration.landingpage.properties.se.... 造成这个原因是由于先装了VS开发环境造成的 解决方法: 删除下面文件: 路径为 C:\Users\rwx\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyy…
今天给大家来分享一下跨服务器操作数据库,还是以SQL Server的管理工具(SSMS)为平台进行操作. 什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服务器操作了. 跨服务器操作的工具是什么? DBLINK(数据库链接),顾名思义就是数据库的链接…
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页 就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好.索引建少了,用WHERE子句找数据效率低,不利于查找数据.索引建多了, 不利于新增.修改和删除等操作,因为做这些操作时,SQL SERVER除了要更新数据表本身,还要连带地立即更新所有的相关索引,而且过多的索引也会浪 费硬盘空间.因此要建得恰到好处,这就需要经验了.   一:索引的基本目的…
三:索引的建立原则 一般来说,建立索引要看数据使用的场景,换句话来说哪些访问数据的SQL语句是常用的,而这些语句是否因为缺少索引(也有可能是索引过多)变的效率低下.但绝不是所有的SQL语句都要建立索引,如果所有的SQL语句都建立索引,那么可能导致建立过多的索引. 我碰到过每秒钟新增记录超过千条的案例,虽然该数据表仅有聚集索引,但因为已存在的键值字段的值和新增数据键值字段的值并不是按顺序递增,每次新增记录时,肯定造成整体数据行的重新排列.在移掉聚集索引后,性能约提升20%.也曾经碰到过一个数据表上…
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好.索引建少了,用WHERE子句找数据效率低,不利于查找数据.索引建多了,不利于新增.修改和删除等操作,因为做这些操作时,SQL SERVER除了要更新数据表本身,还要连带地立即更新所有的相关索引,而且过多的索引也会浪费硬盘空间.因此要建得恰到好处,这就需要经验了. 一:索引的基本目的 索引的基…
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好.索引建少了,用WHERE子句找数据效率低,不利于查找数据.索引建多了,不利于新增.修改和删除等操作,因为做这些操作时,SQL SERVER除了要更新数据表本身,还要连带地立即更新所有的相关索引,而且过多的索引也会浪费硬盘空间.因此要建得恰到好处,这就需要经验了. 一:索引的基本目的 索引的基…
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引就越好.索引建少了,用WHERE子句找数据效率低,不利于查找数据.索引建多了,不利于新增.修改和删除等操作,因为做这些操作时,SQL SERVER除了要更新数据表本身,还要连带地立即更新所有的相关索引,而且过多的索引也会浪费硬盘空间.因此要建得恰到好处,这就需要经验了. 一:索引的基本目的 索引的基…
一.相关文档 老规矩,为了避免我的解释误导大家,请大家务必通过官网了解一波SQL SERVER的相关功能. 文档地址: 整体介绍文档:https://docs.microsoft.com/en-us/sql/relational-databases/track-changes/about-change-tracking-sql-server?view=sql-server-2017 Change Data Capture:https://docs.microsoft.com/en-us/sql/…
我们通过SQL Server 2012图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本,在2008或2008 R2版本下运行类似的跟踪. 步骤1: 通过“Object Explorer”连接到实例,展开“Management”.“Extended Events”.“Sessions”. 步骤2: 右键点击“Sessions”,创建一个新的会话向导. 步骤3: 输入会话名称“Deadlock_Monitor”,点击下一步. 步骤4: 选择不使用模板(像SQL Server Profile…
微软在sql server 2012版本之后,引入了新的任务调度算法,这个算法与之前的版本有一些细微的差别.我在这里试着简单描述一下,一些基本概念就不再赘述了,比如NUMA.scheduler.worker什么的,这些内容在网上一搜一大把,如果不了解随便看几篇文章大概也就有所了解了. 让我们从最基本的内容开始: 在sql server 2012版本以前,整个任务的调度是在一个新的连接到达数据库引擎开始的.当新的连接到达后会以轮循的方式在与连接端口绑定的某一NUMA节点上指派一个scheduler…
前期准备: 普通表.临时表:它两会有统计信息. 表变量:           不会有统计信息. -------------------------------------------------------------------------------------------------------------------------------------------------- 创建统计信息的场景: 1.创建索引时,会在相应的列上创建统计信息. 2.当SQL Server 需要而又没有时…
老外提问: Hi, I have an sql query which takes 8 seconds in the first run. The next run there after takes 0.5 seconds and all consecutive runs take 0.5 seconds. Is the plan getting cached? How do i make this query run in 0.5 second in the first run itself…
我们通过SQL Server 2014图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本. 步骤如下: 步骤1: 通过“对象资源管理器”连接到实例,展开“管理”.“扩展事件”.“会话”. 步骤2: 右键点击“会话”,创建一个新的会话向导. 步骤3: 输入会话名称“Deadlock_Monitor”,点击下一步. 步骤4: 选择不使用模板(像SQL Server Profiler模板一样,预设了一些默认选项一起启动,但没有一个满足我们需求的模板),点击下一步. 步骤5: 选择要捕获的事件,…
一.使用Transact_SQL创建数据库 Transact_SQL语法如下:  create database database_name   [ on     [primary]  [<filespec> [,...n] ]   ]   [ log on    [<filespec>[,...n]]   ];     <filespec>::=    (      name=logical_file_name      [  ,  newname = new_log…
对于SQL Server来说,构建显示一个树形结构不是一件容易的事情,逻辑构造能力不是它的强项.不过也不是说它没有能力干这个事情,只要换一种思维方式就可以理解它的工作原理. 例如,现在有一张表的内容如下: CategoryNO CategoryName                                       Parent ---------- -------------------------------------------------- ------ 0        …
MySQL和SQL Server两种数据库在REPEATABLE-READ事务隔离级别实现方式不同,导致使用上也存在差异. 在MySQL中,默认使用REPEATABLE-READ事务隔离级别,MySQL通过MVCC (Multiversion Concurrency Control)来实现REPEATABLE-READ事务隔离级别. 在MS SQL SERVER中,默认使用READ-COMMITED事务隔离级别,SQL Server通过LOCK来实现REPEATABLE-READ事务隔离级别.…
if OBJECT_ID('Sales.USACusts') is not null drop view Sales.USACusts; go create view Sales.USACusts as select custid,companyname,contactname,contacttitle,address,city,region,postalcode,country,phone,fax from Sales.Customers where country=N'USA'; go 在数…
今天同事要我修改服务器数据库里面的2条数据,查看服务器上的SQL Server数据库的时候,发现这几天数据没有添加成功,然后发现磁盘很快就满了,执行Update语句时,执行半天都提示还在执行,查询语句没有问题.这时就想到了应该是数据库文件过大的原因. 在数据库磁盘查看数据库的原始文件,数据库文件只有1G大小,但是日志文件.log文件却有20多G,在网上搜了一下资料,因为日志文件作用不大,于是对日志文件做了如下修改: 问题解决,磁盘空间变大,数据开始添加,Update语句很快执行完毕.…
一.Sql Server插入方案介绍 关于 SqlServer 批量插入的方式,有三种比较常用的插入方式,Insert.BatchInsert.SqlBulkCopy,下面我们对比以下三种方案的速度 1.普通的Insert插入方法 public static void Insert(IEnumerable<Person> persons) { using (var con = new SqlConnection("Server=.;Database=DemoDataBase;User…
--索引(index)和视图(view)-- --索引(index)----概述: 数据库中的索引类似于书籍的目录,他以指针形式包含了表中一列或几列组合的新顺序,实现表中数据库的逻辑排序.索引创建在数据表或者视图的字段上,生成索引页,存放于数据库中.--分类:在SQL Server中,根据索引的作用和存储方式的不同,将索引分为聚集索引和非聚集索引两类. 1)聚集索引 :指数据库的物理顺序与被创建索引的字段顺序完全相同.同一个数据表最多只能创建一个聚集索引.默认情况下主键自动被创建为聚集索引.聚集…
学习ADO,免不了要跟数据库打交道,对于初学者来说,如果不整理一下整个流程,那么可能会出现很多的问题,下面简单的介绍数据库的操作流程. 1.     我们最终操作的对像是数据表,在操作数据表之前我们先要明确我们要操作的数据库,因为只有先连接了数据库才能进入数据库操作里面存储的表. 所以才有以下连接数据库的代码:      string connString = "Data Source=.;Initial Catalog=MySchool;Integrated Security=True&quo…
1.批处理 批处理指的是包含一条或多条T-SQL语句的语句组,这组语句从应用程序一次性地发送到SQL Server服务器执行.SQL Server服务器将批处理语句编译成一个可执行单元(即执行计划),执行计划中的语名每次执行一次. GO命令表示批处理的结束.如果在T-SQL脚本中没有GO命令,那么它将被作为单个批处理来执行. SQL Server讲批处理中的语句作为一个整体,编译为一个执行计划,因此批处理中的语句是一起提交给服务器的,所以可以节省系统开销. 当脚本中的一些事情必须发生在另一件事情…
简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性.并不承担具体的恢复数据的角色.正如”简单”这个词的字面意思一样,数据的备份和恢复仅仅是依赖于手动备份和恢复.在开始文章之前,首先要了解SQL Server提供的几种不同备份类型. SQL Server提供的几种备份类型 SQL Server所提供的几种备份类型基本可以分为以下三种(文件和文件组备份以及部分备份不在本文讨论之列): 1.完整(Full)备份:直接将所备份的数据的所有区(Extent)进行复制.…
https://blog.csdn.net/danny_style/article/details/45166391 1.首先将查询结果添加到一个原数据库中不存在的表,表名随意命名. 例: select * into SYS_GWJSDYbak from SYS_GWJSDY where JSDM in('0101','0102','0103','0106') .这个SYS_GWJSDYbak就是不存在的表名,执行时会自动新建SYS_GWJSDYbak表,结构与SYS_GWJSDY表完全相同.…
本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤) 1.打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤) VS2010版本如图: VS2013版本如图: 2.非空项目创建后,右侧“解决方案管理器”中会有一个“models”文件,右键“models”,具体步骤如下: 2-1步骤 2-2步骤 2-3步骤 2-3-1  注意这个是VS2010版本的截图 2-4步骤 2-5步骤 2-6步骤 2-7步骤 2-8步骤 2-10步骤 2-…
=================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我 勿用于学术性引用. 勿用于商业出版.商业印刷.商业引用以及其他商业用途. 本文不定期修正完善. 本文链接:http://www.cnblogs.com/wlsandwho/p/5036513.html 耻辱墙:http://www.cnblo…