Sql server
Tercel99
这个作者很懒,什么都没留下…
展开
-
命令提示实用工具--isql 实用工具--
isql 实用工具isql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件;并且使用 DB-Library 与 Microsoft® SQL Server™ 2000 进行通讯。语法isql [-?] | [-L] | [ { {-Ulogin_id [-Ppassword]} | -E } [-Sserver_name] [-Hwksta_name] [-ddb_name]原创 2011-04-04 14:39:00 · 1910 阅读 · 1 评论 -
TRUNCATE TABLE 清除表数据
TRUNCATE TABLE<br />删除表中的所有行,而不记录单个行删除操作。 语法<br />TRUNCATE TABLE name参数<br />name<br />是要截断的表的名称或要删除其全部行的表的名称。注释<br />TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 <br />DELETE 语句每次删除一行,并在事务日志中为所删除的每原创 2010-07-16 15:21:00 · 1661 阅读 · 0 评论 -
SQL Server 2005 联机丛书 - 兼容性视图 (Transact-SQL)
<br />现在,SQL Server 早期版本中的许多系统表已作为 SQL Server 2005 中的一组视图实现。这些视图称为兼容性视图,专用于实现向后兼容。兼容性视图显示的元数据是 SQL Server 2000 中也有的元数据。但是,它们不显示与 SQL Server 2005 中引入的功能相关的任何元数据。因此,在使用 Service Broker 或分区等新功能时,需要切换为使用目录视图。 <br />升级到目录视图的另一个原因是,存储用户 ID 和类型 ID 的兼容性视图列可能返回 NULL原创 2010-07-12 07:51:00 · 844 阅读 · 0 评论 -
如何得到SQL Server的安装路径
<br />方法1: <br />declare @path varchar(200) <br />exec master.dbo.xp_regread <br /> 'HKEY_LOCAL_MACHINE', <br /> 'SOFTWARE/Microsoft/MSSQLSERVER/setup', <br /> 'SQLPath',@path output <br />set @path = @path +原创 2010-07-13 10:22:00 · 2604 阅读 · 0 评论 -
从 syscomments 取系统存储过程、用户存储过程、视图、函数、触发器等对象的sql定义语句
/*select * from sysobjectswhere xtype=fnsp_helptext [sp_helptext]*/declare @sql nvarchar(4000)declare cur_GetSql cursor for select a.text from syscomments a inner join sysobjects b on a.id原创 2010-05-14 11:21:00 · 1282 阅读 · 0 评论 -
SQL Server 2000数据库 [置疑] 的解决方法
首先:分离数据库企业管理器--右键suspect的数据库--所有任务--分离数据库然后备份你的suspect数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server3.用suspect数据库的文件覆盖掉这个新建的同名数据库 4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的原创 2009-12-02 15:24:00 · 667 阅读 · 0 评论 -
SELECT 语句的默认事务锁定行为 SET TRANSACTION ISOLATION LEVEL
SET TRANSACTION ISOLATION LEVEL控制由连接发出的所有 Microsoft® SQL Server™ SELECT 语句的默认事务锁定行为。语法SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED | REPEATABLE READ原创 2009-12-02 15:19:00 · 1810 阅读 · 0 评论 -
脏读 不可重复读 幻像(幻觉读)
脏读脏读包含未提交数据的读。例如,事务1 更改了某行。事务2 在事务1 提交更改之前读取已更改的行。如果事务1 回滚更改,则事务2 便读取了逻辑上从未存在过的行。 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做原创 2009-12-02 15:13:00 · 972 阅读 · 0 评论 -
SQL Server 2000数据库置疑的解决方法
首先:分离数据库企业管理器--右键suspect的数据库--所有任务--分离数据库然后备份你的suspect数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server3.用suspect数据库的文件覆盖掉这个新建的同名数据库 4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中原创 2009-11-30 09:38:00 · 940 阅读 · 0 评论 -
DATALENGTH 函数
DATALENGTH 返回任何表达式所占用的字节数。语法DATALENGTH ( expression ) 参数expression任何类型的表达式。返回类型int注释DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。NULL 的 DATALENGTH 的原创 2009-07-08 14:03:00 · 1353 阅读 · 0 评论 -
SQL Server EXEC和sp_executesql的区别
SQL Server EXEC和sp_executesql的区别1,EXEC的使用2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了转载 2009-07-29 00:04:00 · 1557 阅读 · 0 评论 -
sql server 控制流语言
温习一下 sql server 控制流语言 控制流语言此表显示 Transact-SQL 控制流关键字。关键字 描述 BEGIN...END 定义语句块。 BREAK 退出最内层的 WHILE 循环。 CONTINUE 重新开始原创 2009-03-18 00:39:00 · 879 阅读 · 0 评论 -
从查询或过程中无条件退出 RETURN
RETURN从查询或过程中无条件退出。RETURN 即时且完全,可在任何时候用于从过程、批处理或语句块中退出。不执行位于 RETURN 之后的语句。语法RETURN [ integer_expression ]参数integer_expression是返回的整型值。存储过程可以给调用过程或应用程序返回整型值。返回类型可以选择是否返回 int。 说明原创 2009-03-06 23:54:00 · 1506 阅读 · 0 评论 -
详解SQL Server的两个存储过程sp_MSforeachtable sp_MSforeachdb
<br />1.简介:<br /> 作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXEC sp_MSforeachtable @command1="print '?' DBCC CHECKTABLE ('?原创 2010-07-16 15:18:00 · 634 阅读 · 0 评论 -
禁用约束和触发器
<br />禁用约束和触发器<br />John Papa<br />代码下载位置: DataPoints2007_04.exe (153 KB) <br />Browse the Code Online <br /> 目录 <br />禁用外键 <br />禁用触发器 <br />同步脱机/移动数据库 <br />光标和信息架构视图 <br />禁用所有外键 <br />禁用所有触发器 <br />迅速禁用所有触发器 <br />结束语 <br /> <br />约束是在数据库中维护数据一致性的重要工具转载 2010-07-16 15:23:00 · 2567 阅读 · 1 评论 -
请问在sqlserver中如何使用操作系统的文件?如何读写文件?
<br />DECLARE @object int <br /> DECLARE @hr int <br /> DECLARE @src varchar(255), @desc varchar(255) <br /> Declare @tmp int <br /> declare @msg varchar(3000) <br /> <br /> SET @msg='Hello. MS SQL Server转载 2010-07-20 14:39:00 · 3332 阅读 · 0 评论 -
取表指定列的默认值
<br />方法一:使用系统存储过程 sp_columns 获取<br />sp_columns table_name, @column_name = columnName 返回结果集中的 COLUMN_DEF 就是字段的默认值<br />例:获取 u_test 表 id 字段 c1 默认值 <br />sp_columns u_test, @column_name = c1<br /> <br />方法二:通过系统表 syscolumns 和 syscomments 获取<br />syscolumns原创 2011-03-27 02:19:00 · 909 阅读 · 0 评论 -
scptxfr 命令
<br />D:/Program Files/Microsoft SQL Server/MSSQL/Upgrade>scptxfr /?<br />命令行语法:<br />SCPTXFR /s <服务器> /d <数据库> {[/I] | [/P <密码>]}<br /> {[/F <脚本文件目录>] | [/f <单个脚本文件>]}<br /> /q /r /O /T /A /E /C <CodePage> /N /X /H /G /Y /?<br />/s —原创 2011-05-08 18:52:00 · 715 阅读 · 0 评论 -
生成SQL Server数据库脚本四法
<br />生成SQL Server数据库脚本四法<br /> 数据库开发人员或数据库管理员(DBA)为了发布数据库或备份数据库对象,常需要生成T-SQL脚本。笔者在这里对常用方法进行了总结,供朋友们参考。<br /> 方法一:使用企业管理器<br /> 进入“企业管理器”,右击数据库,选择“所有任务→生成SQL脚本”即可。<br /> 方法评价:优点是方便,且操作简单。缺点是不能在应用程序中执行。<br /> 方法二:使用SQLDMO<br /> 很多朋友喜欢通过程序生成脚本,比如使用SQLD原创 2011-05-08 18:44:00 · 1328 阅读 · 0 评论 -
查看SQL Server数据空间分配情况
<br />今天客户反映数据库文件空间增长过快 ,需要分析数据库表存放空间分配情况,临时写了以下过程,<br />与大家共享。<br />/********************************<br />功能:获取表的空间分布情况 ycsoft 2005-07-13<br />**********************************/<br />if not exists (select * from dbo.sysobjects where id = object_id(N'[d原创 2011-05-08 18:43:00 · 1044 阅读 · 0 评论 -
远程备份数据库到本地
<br />一:SQL如何备份到异机 (转)<br />写成存储过程,建立作业定时备份<br /><br />1. --在sql中建个映射 <br />exec master..xp_cmdshell 'net use z: //本地计算机名或IP/本地共享文件夹的共享名 "密码" /user:远程计算机名或IP/administrator' <br />/*--说明:<br /><br />z:是映射网络路径对应本机的盘符(可以去掉,如果去掉,则在COPY 时将z: 换成 //本地计算机名或IP/本地共享原创 2011-05-08 18:47:00 · 1106 阅读 · 0 评论 -
因为数据库正在使用,所以未能获得对数据库的排它访问 解决方法
<br />--还原数据库时数据库正在使用导致数据库无会还原,此存储过存在msater数据库下创建。exec killspid cztdba 结束此数据库的进程,这样才能还原数据库<br />create proc killspid (@dbname varchar(20)) <br />as <br />begin <br />declare @sql nvarchar(500) <br />declare @spid int <br />set @sql='原创 2011-05-08 18:46:00 · 2032 阅读 · 0 评论 -
MS Sql Server临时表和游标的使用小总结
<br />1.临时表 <br />临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。 <br />临时表有局部和全局两种类型 <br />2者比较: <br />局部临时表的名称以符号 (#) 打头 <br />仅对当前的用户连接是可见的 <br />当用户实例断开连接时被自动删除 <br /><br />全局临时表的名称以符号 (##) 打头 <br />任何用户都是可见的 <br />当所有引用该表的用户断开连接时被自动删除 <br /><br />实际上局部临时表在tem原创 2011-05-08 18:38:00 · 849 阅读 · 0 评论 -
查找包含指定字符串的所有脚本对象
<br />写了个简单的脚本,找出含有指定字串的所有脚本对象<br /><br />declare @objName varchar(100),@sql varchar(8000),@findStr varchar(100),<br /> @self bit<br />select @findStr='tercel99',@self=0<br />print '--------- objname list -------'<br />print ''<br />--取对象<br />decla原创 2011-02-22 15:40:00 · 932 阅读 · 0 评论 -
DT开头的存储过程
<br />dt_也是一种存储过程,但不是在master数据库中,而是在用户数据库中 <br />dt_存储过程一般在用户创建数据库时由系统自动生成,主要用于处理用户数据库中系统自动生成的一些系统表,起到实时维护的作用原创 2011-03-15 09:07:00 · 1150 阅读 · 0 评论 -
left join加上on条件与where条件区别
<br />create table a<br />(id int,name varchar(100))<br />insert a<br />select 1,'a'<br />union<br />select 2,'b'<br />union<br />select 3,'c'<br />create table b<br />(id int,name varchar(100))<br />insert into b<br />select 1,'1'<br />union<br />select 1原创 2010-11-17 14:08:00 · 1531 阅读 · 0 评论 -
MS SQL Server表变量和临时表小结
<br />在开发过程中,经常会遇到使用表变量和本地临时表的情况。下面是对二者的一个介绍:<br />1. 为什么要使用表变量<br />表变量是从2000开始引入的,微软认为与本地临时表相比,表变量具有如下优点:<br /> a.与其他变量的定义一样,表变量具有良好的定义范围,并会被自动清除;<br /> b.在存储过程中使用表变量会减少存储过程重新编译的发生;<br /> c.表变量需要更少的锁请求和日志资源;<br /> d.可以在表变量上使用UDF,UDDT,XML。<br />2.表变量的原创 2010-10-14 19:33:00 · 1130 阅读 · 0 评论 -
TRUNCATE TABLE和DELETE FROM区别
<br />TRUNCATE TABLE和DELETE FROM区别<br />TRUNCATE TABLE 和不带 WHERE 的 DELETE 功能是一样的,都是删除表中的所有数据,不过 TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE 直接释放数据页并且在事务日志中也只记录数据页的释放,而 DELETE 是一行一行地删除,在事务日志中要记录每一条记录的删除。那么可不可以用 TRUNCATE TABLE 代替不带 WHERE 的 DELETE 呢?在以下情况原创 2010-09-08 09:11:00 · 744 阅读 · 0 评论 -
更改登录的默认数据库 sp_defaultdb
sp_defaultdb更改登录的默认数据库。语法sp_defaultdb [ @loginame = ] login , [ @defdb = ] database参数[@loginame =] login是登录名。login 的数据类型为 sysname,没有默认值。login 可以是现有 Microsoft® SQL Server™ 登录或者是 Mi原创 2009-03-06 10:09:00 · 2443 阅读 · 0 评论 -
轻松掌控SQL Server数据同步技术
SQL复制的基本元素包括 出版服务器、订阅服务器、分发服务器、出版物、文章。 SQL复制的工作原理 SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的任何改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的任何改变,并保存这些改变,再把这些改变分发给订阅服务器。 SQL原创 2009-03-06 17:28:00 · 711 阅读 · 0 评论 -
查看表或视图上的索引信息
本地 sp_helpindex报告有关表或视图上索引的信息。语法sp_helpindex [ @objname = ] name参数[@objname =] name是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。返回代码值0(成功)或 1(失败)结果集原创 2008-03-27 11:19:00 · 3762 阅读 · 0 评论 -
系统数据库和数据
系统数据库和数据Microsoft® SQL Server™ 2000 系统有四种系统数据库: master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Serv原创 2008-03-09 10:59:00 · 709 阅读 · 0 评论 -
OPENROWSET 使用 OLE DB 连接并访问远程数据
OPENROWSET包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 D原创 2008-03-05 15:37:00 · 1386 阅读 · 0 评论 -
sql server 行列转换
商品 分店 数量 -------------------------------------- 电视 东门 100 电视 华强 150 冰箱 东门 50 冰箱 华强 80原创 2008-03-04 18:08:00 · 731 阅读 · 0 评论 -
SQL中exists和in的区别
EXISTS指定一个子查询,检测行的存在。 语法EXISTS subquery参数subquery是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。有关更多信息,请参见 SELECT 中有关子查询的讨论。 结果类型Boolean结果值如果子查询包含行,则返回 TRUE。IN确定给定的值是否与子查询或列表中的值相原创 2008-03-04 14:55:00 · 2149 阅读 · 0 评论 -
SET STATISTICS IO 显示关于 Transact-SQL 语句生成的磁盘活动量的信息
SET STATISTICS IO使 Microsoft® SQL Server™ 显示关于 Transact-SQL 语句生成的磁盘活动量的信息。语法SET STATISTICS IO { ON | OFF }注释当 STATISTICS IO 为 ON 时,显示统计信息。为 OFF 时,不显示统计信息。将该选项设置为 ON 后,所有的后续 Transact-SQL 语句原创 2008-03-04 10:47:00 · 1174 阅读 · 0 评论 -
如何在查询结果前增加一列序号
如何在查询结果前增加一列序号原创 2008-03-04 11:02:00 · 3000 阅读 · 0 评论 -
SET STATISTICS TIME 显示分析、编译和执行各语句所需的毫秒数
SET STATISTICS TIME显示分析、编译和执行各语句所需的毫秒数。语法SET STATISTICS TIME { ON | OFF }注释当 SET STATISTICS TIME 为 ON 时,显示语句的时间统计。为 OFF 时,不显示时间统计。SET STATISTICS TIME 的设置是在执行或运行时设置,而不是在分析时设置。 Microsoft®原创 2008-03-04 10:46:00 · 1252 阅读 · 0 评论 -
如何复制表结构到一指定表?
如何复制表结构到一指定表?问:请问专家,如何复制其它表的结构到一指定的表中去,比如以下的例子: 有如下三个表: 表A:字段1, 字段2, 字段3 表B:字段1, 字段2, 字段3 表C:字段1, 字段2, 字段3 现在想复制A表的字段1,B表的字段2,C表的字段3到表4中去。不需要表中的数据。 用SQL语句应如何实现呢? 答:其实,这里需要考虑原创 2006-06-01 21:13:00 · 2043 阅读 · 0 评论 -
SQL Server 索引结构及其使用(四)
SQL Server 索引结构及其使用(四)在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:1、分页速度一般维持在1秒和3秒之间。2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。 虽然在超大容量情况下,这个分页的实现过程是很原创 2006-05-28 21:43:00 · 1023 阅读 · 0 评论