代码改变世界

随笔分类 -  00.SQL Server 游标运用

SQL Server 动态生成数据库所有表Insert语句

2014-10-31 10:27 by 听风吹雨, 8507 阅读, 收藏, 编辑
摘要: 一、 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便; 但是,当我们的表有上百个,而且有些表是有自增ID的,那么这个时候使用SSMS的话,你需要一个个手动设置(如图1),你要知道,需要设置上百个的这些选项是件多么痛苦的事情,而且最后很可能会因为外键约束导致导入导 阅读全文

SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

2014-05-13 10:35 by 听风吹雨, 7648 阅读, 收藏, 编辑
摘要: 在我的数据库服务器上,同一个实例下面挂载着许多相同结构的数据库,他们为不同公司提供着服务,在许多时候我需要同时创建、修改、删除一些对象,存储过程就是其中一个,但是想要批量创建存储,这有些特殊,下面就教你如何实现在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases) 三.遇到的问题(Problems)   在之前的文章中多次谈到使用游标的方式处理的各种问题: 阅读全文

SQL Server 游标运用:鼠标轨迹字符串分割

2014-02-07 17:04 by 听风吹雨, 2459 阅读, 收藏, 编辑
摘要: 我们的系统中记录了用户的鼠标行为轨迹字符串,这些字符串的格式是:PosSet:[573,1103,2010-09-03 22:32:35],[864,110,2010-09-03 22:32:57],这个字段表示用户点击页面的X坐标,Y坐标,时间。现在要求对这样字符串进行分割。   需要注意的是当字符串只有一个坐标的时候,如:PosSet:[513,1303,2010-09-03 22:34:35],你需要考虑这种情况的处理,因为这个时候就没有分隔字符在字符串了。   还需要考虑字符串不规则的时候的异常处理; 阅读全文

SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)

2013-05-08 15:32 by 听风吹雨, 7148 阅读, 收藏, 编辑
摘要: 之前写了篇关于:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)的文章,它罗列出某个数据所有表的信息,这些信息包括:表的记录数、数据记录占用空间、索引占用空间、没使用的空间等(如Figure1所示),现在我来讲述如何获取整个数据库实例中所有数据库所有表的信息(如Figure2所示)。 下面内容讲述了在实现Figure2过程中遇到的一些问题,如果你对这些问题不感兴趣可以直接看最后实现的SQL脚本。下面讲述了4种实现方法: 阅读全文

SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)

2013-05-07 12:09 by 听风吹雨, 4164 阅读, 收藏, 编辑
摘要: 一、背景在性能调优或者需要了解某数据库表信息的时候,最直观的方式就是罗列出这个数据所有表的信息,这些信息包括:表的记录数、数据记录占用空间、索引占用空间、未使用的空间等(如Figure1所示),有了这些信息你可以简单的判断这个数据库来自数据上的压力可能是某个表造成的。因为表数据越大,对数据库性能的影响越大。要实现某个数据库所有表的信息,可以通过游标的形式获取相应的数据,下图Figure1返回某数据库中所有表的信息:(Figure1:某数据库所有表信息)也许你并不满足于Figure1的信息,你希望获取整个数据库实例中所有数据库所有表的信息(如Figure2所示) 阅读全文

SQL Server 游标运用:批量创建、删除链接服务器

2012-01-20 10:47 by 听风吹雨, 3464 阅读, 收藏, 编辑
摘要: 一、背景我们的数据库比较多,它们提供了外网的访问,我现在想对这些数据库进行一些管理,获取这些数据库的一些信息,我们可以通过什么方式实现呢?在SQL Server2005版本之后有一个叫做链接服务器的新功能,基本的操作可以参考:SQL Server 2005链接服务器,我们就通过这个链接服务器来获取我们需要的数据,但是我们的服务器比较多,这个批量创建链接服务器和批量删除链接服务器就呼之欲出了。二、设计过程设计简述:创建如下图的表结构,LinkName保存远程链接的别名,LinkName2是创建链接方式2的一个补充字段,LinkIP代表远程服务器的地址,如果有端口的还需要加上端口 阅读全文

SQL Server 游标运用:游标模板

2010-09-08 17:22 by 听风吹雨, 2097 阅读, 收藏, 编辑
摘要: 一、 背景 游标在我维护SQL Server的过程中经常被使用到,如果游标使用得好,在很多时候可以给予我们开发过程带来很多的便利,所以这里提供一个游标模板;二、 游标模板 在正式解决问题之前我先提供一个游标的模板,它简单的实现了找出数据库中所有的数据库名,其实这个模板的目的是为了提供一个规范化的游标SQL代码模板,下面SQL脚本实现了通过游标打印出用户数据库:-- =============================================-- Author: -- Blog: -- Create date: -- Description: -- ==... 阅读全文