![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQLServer管理
文章平均质量分 69
智星
金巢化工交易网(即GNCTS):研发中心负责人
新浪微博:http://weibo.com/simei527
展开
-
找出那个进程造成的死锁
use mastergocreate procedure sp_who_lockasbegindeclare @spid int,@bl int,@intTransactionCountOnEntry int, @intRowcount int, @intCountProperties int, @intCounter intcreate table #tmp_lock_who (id int identity(1,1),spid smallint转载 2010-08-07 18:10:00 · 522 阅读 · 0 评论 -
如何授予对存储过程的权限
<br /><br />在对象资源管理器中,连接到 SQL Server 2005 数据库引擎实例,再展开该实例。<br />依次展开“数据库”、存储过程所属的数据库以及“可编程性”。<br />展开“存储过程”,右键单击要针对其授予权限的过程,再单击“属性”。<br />在“存储过程属性”中,选择“权限”页。<br />若要为用户、数据库角色或应用程序角色授予权限,请单击“添加”。<br />在“选择用户或角色”中,单击“对象类型”以添加或清除所需的用户和角色。<br />在“显式权限”网格中,选择要为指转载 2010-08-07 18:25:00 · 1342 阅读 · 0 评论 -
Sql Server 2005的1433端口打开和进行远程连接
<br /><br />如何打开sql server 2005 的1433端口<br />配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议<br />看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,<br />"已启用"改为"是"<br />配置工具->Sql Server Configuration Manager->SQL Native Client转载 2010-08-07 18:27:00 · 454 阅读 · 0 评论 -
不同服务器数据库之间的数据操作
<br /><br />/*不同服务器数据库之间的数据操作*/<br />--创建链接服务器 <br />exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' <br />exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' <br />--查询示例 <br />select * from ITSV.数据库名.dbo.表名 <br />--导入示例 <b转载 2010-08-07 18:29:00 · 256 阅读 · 0 评论 -
SQL SERVER 和EXCEL的数据导入导出
<br /><br /> 1、在SQL SERVER里查询Excel数据:<br />-- ======================================================<br />SELECT * <br />FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',<br />'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0'转载 2010-08-07 18:45:00 · 248 阅读 · 0 评论 -
字符串处理拆分字符串到列
<br /><br />create table #tab1 (aID INT,b VARCHAR(10))<br />INSERT INTO #tab1 values(1,'1,2')<br />insert into #tab1 values(2,'2,3,5')<br />insert into #tab1 values(3,'6')<br /><br />SELECT TOP 8000 id = IDENTITY(int, 1, 1) INTO # FROM syscolumns a, syscol转载 2010-08-07 18:48:00 · 324 阅读 · 0 评论 -
通过日志恢复数据库
<br /><br />--创建测试数据库Test<br />create database Test<br />on primary<br />(<br />name='Test_data.mdf',<br />filename='d:/Test_data.mdf'<br />)<br />log on<br />(<br />name='Test_data.ldf',<br />filename='d:/Test_data.ldf'<br />)<br />--创建测试表<br />create tab转载 2010-08-07 18:12:00 · 270 阅读 · 0 评论 -
sql2005建立自动备份
<br /><br />(1)首先启动SQl Server代理(如果备份出现问题代理会通知管理员)<br />(2)在服务器对象里面-->新建备份设备<br />(3)创建操作员当备份成功或者失败的时候,通过网络通信通知管理员<br />(4)在管理里面-->维护计划-->新建维护计划-->在计划任务的设计界面-->拖动备份数据到右边主编辑页面-->右键编辑-->选择你想要备份的数据库(例如下图我的是Test)<br /><br />然后选择你刚才(第二步建立的设备) <br /> <br /><br />转载 2010-08-07 18:13:00 · 305 阅读 · 0 评论 -
触发器中调用存储过程,事务的使用
<br /><br />作者蓉儿szx1999 <br />1.set xact_abort off <br />2.设置保存点 <br />IF OBJECT_ID('TA')IS NOT NULL DROP TABLE TA<br />GO<br />CREATE TABLE TA( ID INT IDENTITY,性別 NVARCHAR(5) CHECK(性別 IN(N'男',N'女')))<br />IF OBJECT_ID('PRO_TEST')IS NOT NULL DROP PROC PRO转载 2010-08-07 18:47:00 · 411 阅读 · 0 评论 -
超级有用的SQL语句(分析SQL SERVER 数据库表结构专用)
<br />超级有用的SQL语句 (用于SQL SERVER 服务器)<br />超级有用的SQL语句 ,执行后返回的列分别是:表名、列名、列类型、列长度、列描述、是否主键,语句如下:<br />(分析SQL SERVER 数据库表结构专用)<br />以下是SQLSERVER2000<br /><br />--------------------------------------------------------------------------------<br /><br />Select Sy转载 2010-08-09 17:55:00 · 440 阅读 · 0 评论 -
直接路径插入表/*+append*/ 直接插入数据的速度测试
<br /><br />两个查数据库中数据执行效率的语句<br /> <br />set autotrace on 跟踪执行计划<br />set timing on 打开计时<br />测试 插入的速度<br /><br />SQL> select count(*) from jxc_grp;<br /> COUNT(*)<br />----------<br /> 172704<br /><br />SQL> insert into tmp_1 select * from jxc_grp;<br转载 2010-08-09 18:03:00 · 339 阅读 · 0 评论 -
简要介绍SQL Server 2008新的事件处理系统—SQL Server Extended Events
<br /><br />SQL Server Extended Events(下面简称XEvent)是SQL Server 2008里新加的事件处理系统,用来取代SQL Server原先的SQL Trace的跟踪机制。事件处理系统对一个复杂服务器系统的排错,调试是极为关键的。和SQL Server原来的事件处理系统相比较,XEvent具有下列的优势:<br />消耗更少的系统资源,更适用于在产品服务器上的排错和调试。并且每收集一个系统事件所消耗的资源都是可预测的。 <br />不仅仅能收集事件数据,还能收集转载 2010-08-09 18:18:00 · 387 阅读 · 0 评论 -
SQL Server 2008 的 Transact-SQL 语言增强(1)
<br /><br />作者:张洪举 Microsoft MVP <br />应用于:SQL Server 2008<br />日期:2008/9/1<br /> <br />Microsoft SQL Server 2008 对 Transact-SQL 语言进行了进一步增强,主要包括:ALTER DATABASE 兼容级别设置、复合运算符、CONVERT 函数、日期和时间功能、GROUPING SETS、MERGE 语句、SQL 依赖关系报告、表值参数和 Transact-SQL 行构造函数。<br /转载 2010-08-09 18:30:00 · 324 阅读 · 0 评论 -
SQL Server 2008 的 Transact-SQL 语言增强(2)
<br /><br />作者:张洪举 Microsoft MVP <br />应用于:SQL Server 2008<br />日期:2008/9/1<br /> <br />6.MERGE 语句<br /><br />在 SQL Server 2008 中,可以使用 MERGE 语句在一条语句中根据与源表联接的结果对目标表执行 INSERT、UPDATE 或 DELETE 操作。如:使用一个语句有条件地在单个目标表中插入或更新行,如果目标表中存在相应行,则更新一个或多个列;否则,会将数据插入新行。使用该语转载 2010-08-09 18:35:00 · 280 阅读 · 0 评论 -
SQL Server 生成脚本的一些参数说明
<br /><br />我们通过下面菜单,就可以在SQL Server Management Studio中,把我们选择的数据库中每一个对象都产生脚本。这对我们做数据库的版本管理,数据库的升级文档都很方便。<br /> <br />在生成脚本过程中,有很多参数可以选择,合理的配置这些参数,可以让我们很方便的按照我们的期望生成脚本。<br /> <br /><br /> <br />生成脚本的一些选项,如下图:<br />我这里是SQL 2005 的选项, SQL 2008 的选项跟这个稍有差异。<br />转载 2010-08-10 17:12:00 · 442 阅读 · 0 评论 -
SQL Server Profiler 看到的几个指标说明
<br /> <br />SQL Server Profiler 看到的几个指标说明,如下图:<br /> <br /><br /> <br />以上图的选择的第5行 Audit Logout 为例,<br />Read 是指刚被关闭的连接,从开始连接到关闭连接,逻辑读取页面 的数量总合。<br />CPU 是指刚被关闭的连接,从开始连接到关闭使用的 CPU 时间(毫秒)。<br />Writes 是指刚被关闭的连接,从开始连接到关闭连接,逻辑写入页面 的数量总和。<br />Duration 是指刚被关闭转载 2010-08-10 17:19:00 · 569 阅读 · 0 评论 -
SQL SERVER 2008的数据压缩
<br /> <br />一、数据库版本<br />数据压缩在Sql Server 2008上才支持,2005不行,并且还要是企业版。我常常忘了这一点,在2005的Studio上闹出语法错误的状况,折腾浪费了好一阵才醒悟过来。<br /><br />二、压缩状况<br />大约可以节省20%-50%的空间,并且行压缩和页压缩有所区别。<br />但让我失望的是,像含有Varchar(max),xml这种字段类型的,反而似乎压缩不起什么作用。其实我觉得最需要压缩的就是它们。<br /><br />三、行压缩与转载 2010-08-10 18:24:00 · 501 阅读 · 0 评论 -
调用远程数据库的函数
<br /><br />这样子写: SELECT * FROM OPENQUERY([192.168.0.1],'SELECT * FROM [db].dbo.User_Func_List()') 没有问题。 <br /> <br /><br />这样子写: <br />SELECT a.*,b.* <br />FROM a,OPENQUERY([192.168.0.1],'SELECT * FROM [db].dbo.User_Func_List()') AS b <br />WHERE a.Id = b转载 2010-08-10 18:25:00 · 481 阅读 · 0 评论 -
关于SQL语句Count的一点细节
<br /><br /> count语句支持*、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。 <br /> <br /><br />if (object_id ('t_test' )> 0 )<br /> drop table t_test <br />go <br />create table t_test (a sql_va转载 2010-08-10 18:55:00 · 341 阅读 · 0 评论 -
SQLServer2005的查询独占模拟
<br /><br /> 这个问题一直被很多人关注,基本上得到的答案是两种倾向,一种是锁一种是给记录打标记(也就是update)。对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流。<br /> 而update的过程会自动加锁,这个给我们带来和极大便利,但该方法一直不被人们认可的原因是效率:比如打标记怎么打,是否需要每个终端给数据印上各自不同的标志才能避免冲突;是否需要嵌套查询等等..<br /> 为了充分提高并发转载 2010-08-10 19:07:00 · 284 阅读 · 0 评论 -
在.net安装程序部署SQL Server数据库
<br /><br />目录 <br />l 摘要 <br />l 一般安装程序的制作 <br />l 在安装程序中部署SQL Server数据库 <br />1. 通过调用osql来执行数据库脚本文件 <br />2. 通过把脚本文件作为资源文件载入 <br />3. 通过sp_attach_db来创建数据库 <br />l 总结 <br />摘要 <br />一个项目完成之后,安装程序的制作是一个必要的过程。如果需要部署数据库,则使安装程度的制作变得比较麻烦。使用visual studio.net可以非转载 2010-08-09 17:32:00 · 342 阅读 · 0 评论 -
SQL Server 2008的逻辑查询处理步骤
<br /><br />我想大家对《SQL Server 2005技术内幕T-SQL查询》一书可能都比较熟悉,博文组织翻译的,作者是SQL Server方面的MVP Kalen Delaney(http://sqlblog.com/blogs/kalen_delaney/default.aspx)。最近我则刚刚收到了微软最有价值专家项目组寄来的该书的SQL Server 2008英文版本-《Inside Microsoft SQL Server 2008:T-SQL Querying》(http://www转载 2010-08-09 18:15:00 · 301 阅读 · 0 评论 -
SQL2008的数据更新跟踪测试
<br /><br />最近一个项目中需要监测SQLServer数据库中某些表的数据更新情况,于是做了一番POC测试和简单性能的评估.这里使用的是 SQLServer2008的更改跟踪.因为需求原因,没有考虑使用进一步的变更数据捕获.<br />POC过程如下:<br /> <br />--------------------------------------------------------------------------------<br /><br />这里我们建立一个测试环境,模拟数据在 I转载 2010-08-10 18:53:00 · 265 阅读 · 0 评论 -
SQLServer中的索引碎片处理
<br /><br />SQLServer数据库随着使用时间的增长,会让人觉得越来越慢,这个和你平时没有合理的维护计划有关系,定期处理索引碎片是一个必不可少的工作内容之一。 具体信息参考msdn <br />http://msdn.microsoft.com/zh-cn/library/ms189858.aspx 我工作中碰到一张表,有320万记录,数据表占用空间800多兆,所有索引碎片大于80%,甚至有100%,索引占用空间500兆,重新生成索引后占用空间减小到200多兆。 一个可以在SQL2005中测试转载 2010-08-10 19:20:00 · 467 阅读 · 0 评论 -
SQL Server到底需要使用哪些端口
<br /><br />SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些:<br /> <br />首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在“SQL Server配置管理器”中切换到“XXX的协议”里面选择,TCP/IP协议属性中可以设置TCP端口。如图所示:<br /> <br转载 2010-08-11 13:35:00 · 834 阅读 · 0 评论 -
让SQL Server 2008默认使用Report Builder 2.0做报表设计器
<br />由于SQL Server 2008比Report Builder 2.0先发布,所以默认情况下,在SSRS 2008中的报表管理器中单击“报表生成器”,打开的是Report Builder 1.0版本。这个版本的设计器功能很弱,所以肯定是要换成2.0版本的。<br /> <br />要换成2.0版本的Report Builder,其实最简单的办法就是将SQL Server 2008升级到SP1,升级后系统将会按照Report Builder 2.0的ClickOnce程序到系统中,目录文件是:<转载 2010-08-11 13:39:00 · 1018 阅读 · 0 评论 -
在做SQL故障转移群集的时候应该选择哪种模式? 收藏 此文于2009-10-30被推荐到CSDN首页
<br />如果我们的SQL Server要保证高可用性,那么可以采用故障转移群集。最简单的故障转移群集是两台服务器,一台做活动的服务器,另一台做备用服务器,这就是AP模式的Cluster。另外一个模式就是AA模式,也就是两台服务器都是运行SQL Server实例。<br />SQL Server不像Oracle一样有RAC,所以不可能说两台服务器同时运行同一个实例,想要两台服务器都使用起来的话,那么只有各自运行一个实例。<br />那么我们企业里面要做Cluster的时候,到底应该做AP模式的还是做AA模转载 2010-08-11 13:40:00 · 363 阅读 · 0 评论 -
使用SQL Server维护计划实现数据库定时自动备份
<br /><br />在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,转载 2010-08-11 13:53:00 · 517 阅读 · 0 评论 -
SQL Server2008 R2新特性
<br /><br />SQL Server 2008的R2版本马上就要放出CTP了,其中最令人兴奋的就是R2中提供了主数据管理的功能,下面简单说一下R2中到底为我们带来了哪些新特性:<br />对超过64个内核CPU的支持。在SQL2008中最多只支持64个CPU核,现在R2中可以支持256个核了!!! <br />提供对硬件资源进行深入监控的仪表、报表之类的,可以帮助用户调优SQL Server,提高硬件资源的发挥和保证系统的健康运行。 <br />SSMS得到了进一步的增强,以提供更多的功能、策略、报转载 2010-08-11 13:56:00 · 477 阅读 · 0 评论 -
SQL Server 2008新特性——更改跟踪
<br /><br />在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题。比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题。再比如我们做了一个 SmartClient的应用程序,每个客户端都有应用程序和数据库,另外还有一个中心数据库用于汇总所有客户端的数据。每个智能客户端上都可以对自己的数据库进行增删改查,一旦智能客户端连接到网络上时,系统就将客户端数据库转载 2010-08-11 14:05:00 · 258 阅读 · 0 评论 -
SQL Server 2008新特性——策略管理
<br /><br />策略管理是SQL Server 2008中的一个新特性,用于管理数据库实例、数据库以及数据库对象的各种属性。策略管理在SSMS的对象资源管理器数据库实例下的“管理”节点下,如图:<br /> <br /><br /> <br />从图中可以看到,策略管理中包含三个节点:策略、条件、方面。<br /> <br />方面就是策略要应用的对象,包括:服务器、表、触发器、视图、存储过程……这些方面对象都是系统定义好了的,仅供瞻仰不可更改。双击具体的某一个方面可以查看该方面的属性,在定义条件时转载 2010-08-11 14:16:00 · 366 阅读 · 0 评论 -
SQL Server 2008新特性——SSMS增强
<br /><br />SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进:<br /> <br />1.在注册的服务器组中一次SQL查询可以针对多个服务器执行。<br /> <br />首先是要在“已注册的服务器”中创建组,也可以使用系统默认的组,然后添加多个数据库到组中。接下来右击数据库组,选择“新建查询”选项,系统将打开一个多数据库查询的编辑器,选择多个服务器中公共的数据库,在其中输入SQL语句F5执行即可将多个服务器中的数据一次性都查转载 2010-08-11 14:28:00 · 506 阅读 · 0 评论 -
如何修改数据库的服务器名称
<br /><br />最近我要在SQL Server 2008上做数据库复制的实验,需要用到两台服务器,所以我需要同时开2个虚拟机(VPC),当然我不可能去单独安装2个SQL Server,安装过程太费时了,所以我是在一个虚拟机中安装了SQL2008,然后将该虚拟机文件复制了一个出来,然后还原成另外一个虚拟机,这样我就可以同时使用2个虚拟机来做复制的实验了。我先在虚拟机SQL2008RC0中安装了Windows2003操作系统,机器名为MS-ZY,然后安装SQL Server 2008,所以数据库的服务器转载 2010-08-11 14:35:00 · 747 阅读 · 0 评论 -
T-SQL入門攻略之12-创建数据表
<br /><br />--> Title : T-SQL入門攻略之12-创建数据表<br />--> Author : wufeng4552<br />--> Date : 2010-06-18<br /> <br />使用主键约束<br /> <br />主键不允许重复也不允许有空值<br />--1单字段主键 <br />IF OBJECT_ID ('testtable', 'U') IS NOT NULL DROP TABLE testtable;<br />CREATE TABLE test转载 2010-08-11 15:31:00 · 296 阅读 · 0 评论 -
T-SQL入門攻略之13-修改数据表
<br /><br />--> Title : T-SQL入門攻略之13-修改数据表<br />--> Author : wufeng4552<br />--> Date : 2010-07-12<br /> <br />修改表名与字段名—sp_rename<br /> <br />--1修改表名SQL Server不直接提供修改表名的T-SQL语句,但是可以通过存储过程实现<br />语法格式:sp_rename tablename,newtablename<br />use mydatabase<转载 2010-08-11 15:35:00 · 276 阅读 · 0 评论 -
T-SQL入門攻略之14-获取DML语句的影响信息
<br /><br />--> Title : T-SQL入門攻略之14-获取DML语句的影响信息<br />--> Author : wufeng4552<br />--> Date : 2010-07-29<br /> <br />首先把上节没讲完的讲完:<br /> <br />多列更新<br /><br />UPDATE testbook<br />SET price = price * 0.3,--打折<br /> remark = '过时图书' --备注<br />WHERE dat转载 2010-08-11 15:38:00 · 257 阅读 · 0 评论 -
数据库DBA复习日志-系统全局区
<br /><br />============================ <br />2008-8-27 日数据库日志 系统全局区<br />============================<br />模式对象<br />1. 表<br />2. 视图<br />3. 聚簇 聚簇的两个表公用一个数据段<br />4. 索引:<br />5. 序列生成器:<br />6. 同义词<br />7. 哈希: 哈希是建立快速查询可以选择的一种方法,要使用哈转载 2010-08-09 17:58:00 · 295 阅读 · 0 评论 -
表主键排序和离散数据查询的速度测试
<br />表主键排序和离散数据查询的速度测试 收藏 <br />SQL> create table clustered (x int,data char(255));<br />Table created.<br />SQL> insert /*+append+*/ into clustered (x,data) select rownum,dbms_random.random from all_objects;<br />40960 rows created.<br />Elapsed: 00:00:0转载 2010-08-09 18:01:00 · 284 阅读 · 0 评论 -
控制锁的粒度
<br /><br />作者:Kalen Delaney(SQL Server MVP)<br />日期:2009年5月3日<br />翻译:张洪举<br />原文:http://sqlblog.com/blogs/kalen_delaney/archive/2009/05/03/controlling-lock-granularity.aspx<br /> <br />在SQL Server 7.0 的所有版本中,引擎可以锁定行、 页或整个表。 此外,即使通过获取行或页锁的方式启动了查询,如果获取了太多的转载 2010-08-09 18:19:00 · 352 阅读 · 0 评论 -
SQL Server的模板
<br /><br />我们在编写SQL 脚本的时候,有很多通用的地方,这时候模板就可以给我们带来很大的方便。下面就用新建存储过程为例,来说明使用模板的好处,以及如何维护这个模板。<br />以下提到的特点适用于 SQL Server 2005 和 SQL Server 2008。<br /> <br />模板的好处:<br />我们在 SQL Server 中,新建一个存储过程,如下方式:<br /> <br /><br /> <br />默认情况下,这样我们就会获得一个如下的SQL语句<br />--转载 2010-08-10 17:17:00 · 447 阅读 · 0 评论