SqlServer
文章平均质量分 51
jqrsdsy
这个作者很懒,什么都没留下…
展开
-
SQL Server 的最大容量规范
数据库引擎对象下表指定在 SQL Server 数据库中定义的或在 Transact-SQL 语句中引用的各种对象的最大大小和最大数量。 SQL Server 数据库引擎对象 最大大小/数量 - SQL Server(32 位) 最大大小/数量 - SQL Server(64 位) 批大小165,536 * 网络数据包大小65,536 *转载 2010-12-14 21:35:00 · 1041 阅读 · 0 评论 -
SQLServer事务与锁的基础概念总结
1.1 基本概念 <br />并发控制:主要是考虑到多个用户同时存取数据库中的同一数据的情况。<br />sqlserver设计有两种并发访问的控制机制:锁、行版本控制。<br />锁:主要用于多用户环境下保证数据库完整性和一致性.每个事务对所依赖的资源会请求不同类型的锁,它可以阻止其他事务以某种可能会导致事务请求锁出错的方式修改资源。当事务不再依赖锁定的资源时,锁将被释放。<br />行版本控制:当启用了基于行版本控制的隔离级别时,数据库引擎将维护修改的每一行的版本。应用程序可以指定事务使用行版本转载 2011-04-20 09:09:00 · 428 阅读 · 0 评论 -
sql日期格式化
0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM) 1 101 美国 mm/dd/yyyy 2 102 ANSI yy.mm.dd 3转载 2011-09-02 16:52:56 · 698 阅读 · 0 评论 -
SQLSERVER数据库优化技巧
北京联高软件开发有限公司 徐斌 王春晨摘要:数据库优化不仅是数据库管理员的任务,程序员也必须知道一些优化技巧,有利于开发高效的数据库系统。关键字:数据库 优化 技巧如果是团队开发,作为程序员必须知道本文描述的数据库优化技巧,如果你的sa水平比较差,那即使你再努转载 2011-08-31 10:43:51 · 557 阅读 · 0 评论 -
sqlserver删除日志文件后无法附加数据库的解决方法
如果将一个数据库日志文件不小心删除了附加数据库就附加不上了,下面就教您一个sqlserver删除日志文件后无法附加数据库的解决方法。sqlserver删除日志文件后无法附加数据库的解决方法:1、建一个同名的数据库 2、修改服务器设置:允许对系统目录进行直接修改 sp_configure 'allow updates', 1 指定值强制重新配置: recon转载 2012-02-23 13:52:14 · 5403 阅读 · 0 评论 -
Sql2005以上重建事务日志文件
有时候我们手头上的数据库可能只剩下了mdf文件,而日志文件丢失了或者损坏了,那么你可以尝试使用以下方法重建事务日志,注意sql 2Q不是这个语句USE master;GOCREATE DATABASE nukeON(FILENAME = 'H:\Mdf-BackUp\Nuke.mdf') --数据库文件所在---,(FILENAME = 'H:\Mdf-BackUp\N转载 2012-02-23 14:06:16 · 5467 阅读 · 0 评论 -
SQL Server 中 RAISERROR 的用法
raiserror 是由单词 raise error 组成 raise 增加; 提高; 提升raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ] 其语法如下:RAISERROR ( { msg_id | msg_str | @local_variable }转载 2012-02-20 11:30:27 · 545 阅读 · 0 评论 -
利用sp_settriggerorder设置触发器执行顺序
今天看到有朋友在群中问能否为触发器设置执行顺序,有朋友说触发器在数据库中自动执行,所以不能够设置执行顺序。其实这种说法是不对的,我们可以利用sp_settriggerorder为部分触发器设置执行顺序。先看看sp_settriggerorder的功能说明:sp_settriggerorder:指定第一个激发或最后一个激发的AFTER触发器。在第一个和最后一个触发器之间触发的AFTER触转载 2012-05-21 14:01:03 · 957 阅读 · 0 评论 -
将mysql数据导入到MS Sql Server中
1.安装mysql数据库的ODBC驱动,mysql-connector-odbc-3.51.19-win32.msi2.打开控制面板/管理工具/数据源ODBC,在用户DSN中添加一个MySQL ODBC 3.51数据源。3.在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS;然后输入服务器Server,用户User,密码Password,输入正转载 2012-07-03 08:56:42 · 783 阅读 · 0 评论 -
MSSQLserver2012八大特点
今天参加了微软的SQL Server 2012的公开培训,因为项目采用的是微软方案,整理下内容:1、SQL Server 高可用性数据库镜像(应用:针对数据库级别的冗余保护,比如存储的冗余,在发生数据库故障后,镜像服务器自动启动,恢复数据库相关操作,镜像服务器可以支持数据读功能) 故障转移集群(应用:针对服务器的冗余保护,需要安装windows Cluster 和数据库 Cluster,目前转载 2013-05-09 08:37:05 · 3298 阅读 · 0 评论 -
SQL SERVER 2005 Data目录产生大量trc文件
今天用服务器下载文件时,系统提示我硬盘分区空间不足了。点击查看硬盘分区是50GB,已经只剩下175MB了。而这个服务器应该没有什么大文件才对呀。 仔细查看,发现SQL Server 2005占用了差不多40GB的空间了,而SQL Server应该只运行了网站数据库才对,不可能那么大空间。再仔细查看,发现SQL Server的data目录占用了差不多38GB的空间,进入此目录下,发现了大量转载 2013-12-06 14:47:54 · 3201 阅读 · 0 评论 -
SQL Server中的锁
NOLOCK(不加锁)此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。HOLDLOCK(保持锁)此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。UPDLOCK(修转载 2014-02-21 14:20:58 · 5140 阅读 · 0 评论 -
SQL Server--全文本检索的应用(一)
全文索引和全文检索是sql server 7.0的新增功能,它能够对数据中的字符类型列(如varchar、text等类型列)进行索引,并通过索引实现全文搜索查询。sql server常规索引与全文检索相比,二者的区别如下:常规索引 全文索引 使用create index或约束定义创建 使用全文索引存储过程创建和删除 通过删除或执行drop index语句删除 当插入、修改或删除转载 2014-07-16 15:33:16 · 531 阅读 · 0 评论 -
利用SQL未公开的存储过程实现分页
<br /> --利用SQL未公开的存储过程实现分页 <br /> ifexists (select * from dbo.sysobjects <br /> where id = object_id(N'[dbo].[p_splitpage]') <br /> andOBJECTPROPERTY(id, N'IsProcedure') = 1) <br /> dropprocedure [dbo转载 2011-04-21 09:51:00 · 319 阅读 · 0 评论 -
sp_cursoropen的动态传参用法
<br />------------------------------------------------------------------------<br />-- Author: happyflystone <br />-- Date : 2009-04-29 12:23:00<br />-- Ver: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86) <br />-- Apr 14 2006 0转载 2011-04-21 09:50:00 · 3022 阅读 · 0 评论 -
SQL Server触发器总结
触发器的基本概念<br />触发器的定义:<br />触发器可以看做由数据库服务器事件自动引发的程序。<br />触发器与存储过程:<br />在SQL Server内部,触发器可以看做是存储过程。但触发器没有接口(输入参数和输出参数),而且不能被显示调用。<br />触发器与事务:<br />触发器是引发它们事务的一部分。如果触发器回滚分两种情况:在显式事务中将撤销从最外层的begin tran开始的所有操作。如果不在显式事务中,仅撤销触发器内部的所有操作。<br /> 触发器分类<br />AFTER触转载 2011-04-20 09:43:00 · 964 阅读 · 0 评论 -
查看 Sql Server当前的并发连接数
<br />--查看 Sql Server当前的并发连接数<br />select count(*) from master.dbo.sysprocesses where dbid=db_id() <br /><br />select<br />count(*)<br />from master..sysprocesses <br />where hostname<>'' and dbid=db_id('northwind')转载 2010-11-10 21:51:00 · 887 阅读 · 0 评论 -
MS SQL SERVER中的临时表
<br />对于复杂的查询,我们可以使用嵌套的复杂的SQL语句来实现,但是有些时候,借助于临时表,可以更加方便、高效。<br />SQL Server 支持临时表。临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。 <br />临时表有两种类型: <br />1)本地临时表:本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用转载 2010-11-10 22:07:00 · 1440 阅读 · 0 评论 -
获取SqlServer中表结构
<br />--获取SqlServer中表结构 <br />SELECT syscolumns.name,systypes.name,syscolumns.isnullable,<br />syscolumns.length <br />FROM syscolumns, systypes <br />WHERE syscolumns.xusertype = systypes.xusertype <br />AND syscolumns.id = object_id('原创 2010-11-10 21:53:00 · 672 阅读 · 0 评论 -
SQL Server函数大全
<br />--聚合函数<br />use pubs<br />go<br />select avg(distinct price) --算平均数<br />from titles<br />where type='business'<br />go <br />use pubs<br />go<br />select max(ytd_sales) --最大数<br />from titles<br />go <br /><br />use pubs<br />go<br />select min(yt原创 2010-11-10 22:26:00 · 275 阅读 · 0 评论 -
Transact_SQL小手册
--语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个转载 2010-11-10 22:20:00 · 253 阅读 · 0 评论 -
关于触发器要弄清楚的问题(着重后触发器)
1.触发器的分类。 根据数据操作语言来分,触发器分为DML触发器和DDL触发器,其中,DDL触发器是子SQL 2005以来新引入的。两者的具体区别在于:DML触发器是为了响应DELETE,UPDATE,INSERT语句;DDL触发器是为了响应 CREATE、ALTER、DROP等任何一条修改数据库结构的语句。今天我们只讨论DML触发器。 根据触发器的处罚时间点来分,触发器分为“后触发器”、“替代型触发器”。后触发器是DELETE、UPDATE、INSERT语句运行后触发的SQL语句;替代转载 2010-11-22 21:24:00 · 833 阅读 · 0 评论 -
sql把逗号分隔的字符串拆成临时表
<br />在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传成存储过程获取数据。很多时候我们希望把这个字符串转成集合以方便用于in操作。 有两种方式可以方便地把这个以某种符号分隔的ID字符串转成临时表。<br />createfunction func_splitstring<br />(@strnvarchar(max),@splitvarchar(10))<br />returns@tTable (c1 varchar(100))<br />as<br />begin<br />转载 2010-11-23 09:42:00 · 605 阅读 · 0 评论 -
sql遍历行
<br />如何遍历一个结果集在 SQL Server 中使用 Transact-SQL<br />有三种方法可用于循环一个结果集通过使用 Transact-SQL 语句。<br />一种方法是使用 临时 表。 使用此方法,您创建初始 SELECT 语句的"快照"并将其用作基础的"指针"。例如:<br />declare @au_id char( 11 )<br />set rowcount 0<br />select * into #mytemp from authors<br />set rowcoun原创 2010-11-23 11:27:00 · 2158 阅读 · 0 评论 -
SQL 游标基本用法
CREATE PROCEDURE [dbo].[pro_CURSOR]<br />AS<br />BEGIN<br /><br />--声明一个游标<br />DECLARE MyCURSOR CURSOR FOR <br />SELECT userid,depid FROM users<br /><br />--打开游标<br />open MyCURSOR<br /><br />--声明两个变量<br />declare @userid varchar(50)<br />declare @depid v原创 2011-03-08 22:11:00 · 343 阅读 · 0 评论 -
SQL2008不允许保存更改的表结构问题解决方法
<br />当用户在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:<br /> <br />不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。<br />如果要去掉此提示,打开SQL 2008 在最上面的菜单:<br />工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去掉转载 2011-03-30 14:34:00 · 493 阅读 · 0 评论 -
如何控制MSSQL触发器递归
背景A表UPDATE后,取B表某列再次UPDATE A表,这样又触发了A表的 UPDATE 触发器,我的目的是只触发一次,是否设置 nested triggers 选项关闭递归触发器即可?分析首先,必须清楚触发器递归的定义,触发器有两种递归方式:1. 直接递归A表上转载 2011-06-07 13:48:00 · 522 阅读 · 0 评论 -
sql事务
<br />在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。<br />在编写 SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran<br /> update statement 1 ...<br /> update statement 2 ...<br /转载 2011-04-20 09:42:00 · 264 阅读 · 0 评论 -
SQL Server2012新特性WITH RESULT SETS
【IT168 专稿】存储过程中返回结果集是很常见的,但如果想要控制部分返回结果集的字段名和数据类型将会是很困难的。SQL Server 2012(版本代号为Denali)引入一个新特性WITH RESULT SETS,可以重新定义存储过程中返回结果的字段名和数据类型。本文将详细的介绍这一新特性。 认识WITH RESULT SETS子句 SQL Server 2012(版本代号为Den转载 2014-09-19 14:45:22 · 2273 阅读 · 0 评论