自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 收藏
  • 关注

原创 SQL Server的Bulk Insert

SQL Server的Bulk Insert语句可以将本地或远程的数据文件批量导入到数据库中,速度非常的快。远程文件必须共享才行,文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP\共享名\路径\文件名"的形式。 * 1. 由于Bulk Insert通常配合格式化文件批量导入数据更方便,所以这里先介绍bcp工具导出格式化文件的方法。bcp是SQL Server提供的命令行实...

2015-08-25 10:49:32 694

原创 索引的最佳实践(转)

指导方针   要了解跑在数据库上的应用程序/用户    使用索引的主要目的是为了提高跑在数据库上应用程序读取和操作数据的速度,如果你不知道程序主要对数据库进行什么操作,索引优化就无从谈起。    当然,如果你全程参与了程序的设计和开发,那再好不过。但这种情况少之又少,大多数情况都是你直接接手数据库和应用程序,这时你就需要两步走的了解你所接手的东西-通过外部和内部。    外部...

2015-08-24 15:09:23 297

原创 SqlServer处理大数据

这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,我有空再写相关的博文出来。这个项目是要求做环境监控,我们暂且把受监控的设备称为采集设备,采集设备的属性称为监控指标。项目要求:系统支持不少于10w个监控指标,每个监控指标的数据更新不大于20秒,存储延迟不超过...

2015-08-24 10:49:52 1143

原创 SQL Server 链接服务器的安全

一.本文所涉及的内容(Contents)本文所涉及的内容(Contents)背景(Contexts)安全设置(Security Settings)实现效果:用户A能看见能使用,B用户不能看见这个链接服务器;实现效果:用户A能看见能使用,B用户能看见但是没有权限使用;总结参考文献(References)二.背景(Contexts)  当需要用远程服务器...

2015-08-21 11:30:14 263

原创 SqlServer链接服务器

sqlserver如何创建链接服务器遇到下列问题:线上服务器A,中转服务器B,本地服务器C数据在A上面,想在B上面操作类似 select * from [A].[database].table这样的SQL,不用去链接服务器,直接把处理结果导入B然后生成报表。结果报错如下:消息 7202,级别 11,状态 2,第 1 行在 sys.servers 中找不到服务器 'A'。请验证...

2015-08-21 10:41:14 222

原创 在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)

1、启用Ad Hoc Distributed Queries在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的启用Ad Hoc Distributed Queries的方法SQL Server 阻止了对组件 'Ad Hoc Distributed Queri...

2015-08-20 08:47:30 155

原创 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries'

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Qu...

2015-08-19 17:35:53 489

原创 批处理教程

第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面的3条命令保存...

2015-08-14 17:12:27 295

原创 数据类型优先级 (Transact-SQL)

SQL Server 2014 其他版本 <?XML:NAMESPACE PREFIX = [default] http://www.w3.org/1999/xhtml NS = "http://www.w3.org/1999/xhtml" ?>当两个不同数据类型的表达式用运算符组合后,数据类型优先级规则指定将优先级较低的数...

2015-08-13 15:49:12 213

原创 SqlServer隐式转换问题

在SQL Server的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍由于隐式数据类型转换而造成的死锁及相应解决方案.现实中有些程序员/数据库开发者会根据数据库的处理机制实现一些应用,如抢座应用,可能会对事务中的查询加一些列的Hint以细化粒度,实现应用的同时使...

2015-08-13 15:16:40 988

原创 插入大量数据时

插入大量数据时,尽量不要使用循环,可以使用CTE,如果要使用循环,也放到一个事务中    这点其实显而易见。SQL Server是隐式事务提交的,所以对于每一个循环中的INSERT,都会作为一个事务提交。这种效率可想而知,但如果将1000条语句放到一个事务中提交,效率无疑会提升不少。    打个比方,去银行存款,是一次存1000效率高,还是存10次100?下面,根据吉日的要求,补个例子,...

2015-08-12 14:16:11 139

原创 软件版本

        一个正规的软件产品少不了要有规范的命名,一个好的软件产品一定要有个规范的版本号,而在命名版本号时有一些约定俗成的规则,下面我来简单介绍下。1.版本命名规范软件版本号有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 release...

2015-08-12 11:34:55 124

原创 批量执行sql脚本

set localdir=%~dp0set pwd=testosql -S (local) -U sa -P %pwd% -i %localdir%\01.mnis_v3_batch_createdata.sqlpause

2015-08-11 17:52:34 183

原创 批量删除文件

1.批处理脚本set DaysAgo=-2set file_a=*.txtset file_b=*.bakset LogPath=E:\test_del\set FullBackupPath=E:\test_del\full_del\set filename=D:\delete_old_backup.logecho  --------------------begin delet...

2015-08-11 17:48:58 138

原创 SQL Server删除distribution数据库

在数据库服务器删除复制(发布订阅)后,如何删除掉数据库distribution呢?如果你通过SSMS工具去删除数据库distribution,你会发现根本没有删除选项。 下面介绍一下删除distribution的步骤 步骤1: 查看相关订阅服务器的信息,如果还存在对应的订阅服务器,从注册的服务器中删除订阅服务器名称exec sp_helpsubscriberinfo ;g...

2015-08-10 16:53:00 274

原创 SQL Server复制需要有实际的服务器名称才能连接到服务器

服务器上安装的WIN2008 R2,然后没有在意机器名,安装了SQL2008 R2数据库之后,配置AD域的时候修改了机器名。  然后,开始配置数据库镜像同步的时候,先试了下数据库复制发布,结果提示“SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称...”,如下图所示。  网上查了下,有...

2015-08-10 11:26:40 130

原创 SQL Server 文件和文件组

文件和文件组简介  在SQL Server中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已。SQL Server通过管理逻辑上的文件组的方式来管理文件。  SQL Server通过文件组对数据文件进行管理。我们看到的逻辑数据库由一个或者多个文件组构成。  结构图如下:        文件组管理着磁盘上的文件,文件中存放的就是S...

2015-08-08 20:24:14 142

原创 MDF、LDF文件过大

USE [IVMS8100]GO/****** Object: StoredProcedure [dbo].[ClearMemory] Script Date: 04/13/2010 14:28:39 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/***start***/----强制释放内存...

2015-08-08 13:09:23 1160

原创 ms sql server缓存清除与内存释放

Sql Server系统内存管理在没有配置内存最大值,很多时候我们会发现运行Sql Server的系统内存往往居高不下。这是由于他对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用虑达到系统峰值时(预留内存根据系统默认预留使用为准,至少4M),才会清除一些缓存释放少量的内存为新的缓存腾出空间。这些内存一般都是Sql Server运行时候用作缓存的,例如你运行一个select语句, ...

2015-08-08 11:07:23 338

原创 SqlServer事物日志传输

一、什么是日志传送?原理很简单,三个动作六个字:备份->复制->恢复。如果由人来完成这个三个动作,只能叫日志搬运工;而由SQL Server Job自动完成,就叫日志传送。同样的事情,不一样的档次,所以叫法也不一样。二、日志传送能解决什么问题?解决数据库的多服务器热备份问题。多台服务器定时备份,随时可以作为主数据库服务器的替补。三、日...

2015-08-05 18:00:07 739

原创 sqlserver存储

1M = 16区1区 = 8页1页 = 8KB 1KB = 1024Byte 1个英文字符 = 1Byte1个中文字符 = 2Byte

2015-07-29 17:27:00 101

原创 DBCC命令详细介绍

 一:DBCC1:什么是DBCC  我不是教学老师,我也说不到没有任何无懈可击的定义,全名:Database Console Commands。顾名思义“数据库控制台命令”,说到“控制台“,我第一反应就是chrome的开发者工具,不知道你的第一反应会是怎样?开发者工具中,只要javascript能认的语法,你都可以在控制台键入。。。同样的道理sqlserver能认的也是一样。 ...

2015-07-29 09:44:44 540

原创 存储结构之IAM与数据页

 下面我们向空表中插入数据:insert into TestTable values('testInRow', 'InRow', 'InRowData', 1, null)再次查询allocation:SELECT *  FROM [TestDB].[sys].[allocation_units] WHERE container_id='72057594038779904'得到如...

2015-07-29 09:37:17 235

原创 DBCC IND命令说明

DBCC IND 命令用于查询一个存储对象的内部存储结构信息,该命令有4个参数, 前3个参数必须指定。语法如下:DBCC IND ( { 'dbname' | dbid }, { 'objname' | objid },{ nonclustered indid | 1 | 0 | -1 | -2 } [, partition_number] )第一个参数是数据库名或数据库ID。第二个参数...

2015-07-29 09:16:37 371

原创 索引----

 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能。但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索引的概念,需要了解大量原理性的知识,包括B树,堆,数据库页,区,填充因子,碎片,文件组等等一系列相关知识,这些知识写一本小书也不为过。所以本文并不会深入讨论这些主题。 索引是什么    索...

2015-07-26 16:40:53 87

原创 游标---

概述       游标是邪恶的!       在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。       正常面向集合的思维方式是:              而对于游标来说:             这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向...

2015-07-26 09:13:07 96

原创 利用SQL Profiler处理开销较大的查询

利用SQL Profiler处理开销较大的查询  当SQL Server的性能变差时,最可能发生的是以下两件事:首先,某些查询产生了系统资源上很大的压力。这些查询影响整个系统的性能,因为服务器无法足够快速地服务其他SQL查询。另外,开销较大的查询阻塞了其他请求相同数据库资源的查询,进一步降低了这些查询的性能。优化开销较大的查询不仅改进它们本身的性能,而且减少数据库阻塞和SQ...

2015-07-24 15:23:17 130

原创 SQL Profiler工具简介

一、SQL Profiler工具简介SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:图形化监视SQL Server查询;在后台收集查询信息;分析性能;诊断像死锁之类的问题;调试T-SQL语句;模拟重放SQL Server活动;也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪...

2015-07-24 15:00:13 118

原创 sqlserver 断开所有连接

通过sql server management studio对数据进行管理,比如数据库改名等,经常遇到有正在运行的连接,以致无法操作,这时候断掉所有的连接很有必要。代码如下:(会断掉某个库的所有连接,当前的query的连接除外,你可以自己关闭query).代码如下:DECLARE @d VARCHAR(8000) SET @d = ' ' SELECT @d = ...

2015-07-22 15:44:57 567

原创 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。也许你没有遇到过,原因如下:你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。而一旦你和我同事一样,有时把Oracle安...

2015-07-20 13:44:31 255

原创 通过sqlserver日志恢复误删除的数据

如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解。RESTORE database dbname with norecovery     我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web.config文件里面的数据库连接字符串没有加密,而我的数据库远程连接又没有做IP限制,黑客通过数据库客户端...

2015-07-19 22:54:16 294

原创 用批处理文件执行SQL脚本

需求:执行bat批处理文件能够自动执行某些已经写好的sql 脚本。步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下        文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。      示例1: 指定待执行sq...

2015-07-15 16:19:07 1427

原创 SqlServer中nvarchar和varchar的区别

1、各自的定义: ► nvarchar(n) : 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。 ► varchar[(n)]: 长度为 n 个字节的可变长度且非 Unicode 的...

2015-07-12 08:58:24 310

原创 SQL Server 常用分页SQL

今天无聊和朋友讨论分页,发现网上好多都是错的。网上经常查到的那个Top Not in 或者Max 大部分都不实用,很多都忽略了Order和性能问题。为此上网查了查,顺带把2000和2012版本的也补上了。先说说网上常见SQL的错误或者说局限问题12345select top 10 *from table1where id...

2015-07-11 16:13:54 97

原创 SQLSERVER分页查询

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2第一种方案、最简单、普通的方法: 复制代码 代码...

2015-07-11 15:10:35 91

原创 MSSQL执行计划

--DROP TABLE T_UserInfo------------------------------------------------------建测试表CREATE TABLE T_UserInfo(    Userid varchar(20),  UserName varchar(20),    RegTime datetime, Tel varchar(20),...

2015-07-09 23:28:07 232

原创 看懂SqlServer查询计划

对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Management Studio】,输入一个查询语句看看SQL Server是如何显示查询计划的吧。...

2015-07-08 09:00:12 86

原创 SQL Sever 2008性能分析之执行计划

SQL Sever 2008性能分析之执行计划一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试 2的工作。我深信实践中得到的经验是最珍贵的,书本知识只是一个引导。本篇来源于《Inside Microsoft SQL Server 2008》,有经验的高手尽管拍砖把。 这个部分将讲解一些性能分析工具,这些性能分许主要关注在执行计划。 缓存执行计划 ...

2015-07-06 15:21:06 161

原创 SQL Server 2008 分区函数和分区表详解

当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁...

2015-07-04 11:35:29 146

原创 SQL Server VS Oracle 架构下见真章

仔细读了一把McGraw.Hill.Microsoft.SQL.Server.2008.Administration.for.Oracle.DBAs的第二章,颇有感触。这种形式的书应该多出,通过对比,即可以复习以前掌握的知识,又能快速学到新技术,还能知晓两者之间的差异。来看看Oracle与SQL Server在Architecture下的异同吧。High-Level从High-Level...

2015-07-02 08:25:47 129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除