![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL Server
lingxyd_0
为人和善,特别喜欢计算机,热爱工作,具有学士学位。
展开
-
SQL Server查看所有表大小,所占空间
SQL Server查看所有表大小,所占空间create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) declare @name varchar(100) de转载 2016-05-09 08:49:01 · 12367 阅读 · 0 评论 -
sql server存储过程中SELECT 与 SET 对变量赋值的区别
<br /><br /> <br />SQLServer中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。<br />对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们<br />并没有注意,其实这两种方式还是有很多差别的。<br />SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。<br />当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。<br />下表列出 SET 与 SELECT 的区别。请特别注意转载 2011-04-19 14:51:00 · 1980 阅读 · 0 评论 -
ORACLE和SQL语法区别归纳
ORACLE和SQL语法区别归纳(一)数据类型比较<br />类型名称<br />Oracle<br /> SQLServer<br /> 比较<br /><br />字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb<br />变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb<br />根据字符集而定的固定长度字符串 N转载 2011-05-15 17:58:00 · 796 阅读 · 0 评论 -
SQL里类似SPLIT的分割字符串函数
<br />-SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。<br />一,用临时表作为数组<br />create function f_split(@c varchar(2000),@split varchar(2)) <br /> returns @t table(col varchar(20)) <br />转载 2011-02-27 13:26:00 · 3841 阅读 · 0 评论 -
SQLserver 中的各种锁的说明
锁定提示 描述 HOLDLOCK 将共享锁保留到事务完成,而不是在相应的表、行或数据页不再需要时就立即释放锁。HOLDLOCK 等同于 SERIALIZABLE。 NOLOCK 不要发出共享锁,并且不要提供排它锁。当此选项生效时,可能会读取未提交的事务或一组在读取中间回滚的页面。有可能发生脏读。仅应用于 SELECT 语句。原创 2011-01-11 16:52:00 · 2875 阅读 · 0 评论 -
sqlserver 并发处理中基础--事物和锁的使用
<br /> <br />一. 事务(Transaction) <br />事务主要是考虑到在异常情况下数据的安全性能和正确性。例如一个转账程序,有若干个语句,分别执行不同的功能,现在从第一个账户取出款项,正好此时因为其他原因导致程序中断,这样,第二个账户没有收到款项,而第一个账户的钱也没有了,这样明显是错误的。为了解决这种类似的情况,DBMS中提出了事务的概念。事务对上面的解决方式是:把上面的提取和转入作为一个整体,形成一个操作集合,这个集合中的操作要么都不执行,要么都执行!因此事务具有“原子性”,事务作转载 2011-01-11 14:04:00 · 2189 阅读 · 0 评论 -
SET XACT_ABORT
Transact-SQL 参考SET XACT_ABORT指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务。语法SET XACT_ABORT { ON | OFF }注释当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT原创 2010-06-27 15:28:00 · 631 阅读 · 0 评论 -
SQL Server 2008新特性——更改跟踪
SQL Server 2008新特性——更改跟踪 在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题。比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题。再比如我们做了一个SmartClient的应用程序,每个客户端都有应用程序和数据库,另外转载 2010-03-01 11:03:00 · 702 阅读 · 0 评论 -
初探 SQL Server 2008 中的更改跟踪与变更数据捕获
初探 SQL Server 2008 中的更改跟踪与变更数据捕获1 概述1.1 更改跟踪1.2 变更数据捕获1.3 比较更改跟踪和变更数据捕获2 使用2.1 更改跟踪2.2 变更数据捕获 1 概述“更改跟踪”和“变更转载 2010-03-01 11:07:00 · 1295 阅读 · 0 评论 -
配置sql server 2000以允许远程访问
配置sql server 2000以允许远程访问配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net 方式(udp)不能访问.2. 采用ado.net方式不能远程访问.故障的可能原因有:1.sql server 2000没有安装sql server转载 2010-02-21 09:53:00 · 787 阅读 · 0 评论 -
孤立账户的解决方案
所谓孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。孤立帐户的产生一般是一下两种:1.将备份的数据库在其它机器上还原;2.重装系统或SQL SERVER之后只还原了用户库解决方法是使用sp_change_users_login来修复。sp_change_users_lo转载 2010-02-07 11:54:00 · 1017 阅读 · 0 评论 -
C#中与SQL中求本周是本年的第几周
C#中与SQL中求本周是本年的第几周 最近的一个 周报表 既需要C#求本周是今年的第几周 又需要在存储过程里 通过sql求。 在 sql里 有函数可以直接求出。但是在C#里 没有直接的属性或函数,必须自己来算。 C#里可以知道今天是本周的第几天,还可以知道今天是本年的第几天。这样我们就可以求出本周是今年的第几周。 有两种思路:1、 可以先算出 上周末是哪天,然后算出上原创 2009-10-30 16:15:00 · 3710 阅读 · 1 评论 -
sql函数DATEPART()与DATENAME()
sql函数DATEPART()与DATENAME() 今天在写存储过程时 通过sql操作datetime的时候,偶然发现 了 DATEPART()与 DATENAME() 两个函数。这两个函数我以前从来都没有用过。而且这两个函数的作用也很重要! 1、 DATEPART() 返回代表指定日期的指定日期部分的整数。语法DATEPART ( datepart ,原创 2009-10-29 16:50:00 · 7111 阅读 · 0 评论 -
简单Case函数应用
<br />Case具有两种格式。简单Case函数和Case搜索函数。 <br />--简单Case函数<br />CASE sex<br /> WHEN'1'THEN'男'<br /> WHEN'2'THEN'女'<br />ELSE'其他'END<br />--Case搜索函数<br />CASEWHEN sex ='1'THEN'男'<br /> WHEN sex ='2'THEN'女'<br />ELSE'其他'END<br /><br />这两种方式转载 2011-04-19 21:27:00 · 780 阅读 · 0 评论 -
SQL 中 sp_executesql 存储过程
摘自SQL server帮助文档对大家优查询速度有帮助!建议使用 sp_executesql 而不要使用 EXECUTE 语句执行字符串。支持参数替换不仅使 sp_executesql 比 EXECUTE 更通用,而且还使 sp_executesql 更有效,因为它生成的执行计划更有可能被 SQL Server 重新使用。 自包含批处理sp_executesql 或 EXECUTE 语句执行字符串时,字符串被作为其自包含批处理执行。SQL Server 将Transact-SQL 语句或字符串中的语句编译进原创 2011-04-19 21:31:00 · 762 阅读 · 0 评论 -
关于sqlserver的自动生成包含数据的insert脚本问题
关于sqlserver的自动生成包含数据的insert脚本问题最近在一个项目上,需要数据的增量导入。项目上用的是sqlserver数据库。好久没有直接sql语句操作数据库了。感觉有点手生了解决此问题的方案有很多。可以直接从数据库层面来解决。1、如果刚上线的项目,可以直接将整个数据库还原或者赋值出来附加上即可。2、如果只需要单个表也可以通过sqlserver客户端的导入导出来完成原创 2016-05-28 18:43:11 · 11927 阅读 · 4 评论 -
sqlserver中的DBLink
--查看当前链接情况:select * from sys.servers;--使用 sp_helpserver 来显示可用的服务器Exec sp_helpserver--删除已经存在的某个链接Exec sp_droplinkedsrvlogin 服务器别名,NullExec sp_dropserver 服务器别名--使用sp_addlinkedserver来增加链接EXEC sp_转载 2015-08-05 15:46:00 · 2140 阅读 · 0 评论 -
sqlserver的位运算应用
转载于:http://www.cnblogs.com/sycdirdir/archive/2010/06/01/1748891.html用2的n次方标识单个的权限 如0 无权限1 可读(read)2 可新增(insert)4 可修改(update)8 可删除(delete)16 可审核...权限的组合read +insert = 1+2=3转载 2015-05-18 17:32:11 · 3139 阅读 · 0 评论 -
了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max)
了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max)转载于:http://www.poorren.com/sqlserver-2005-varcharmax-nvarcharmax-varbinarymax/comment-page-1/在Microsoft SQLServer2005及以上的版本中,对于varchar(转载 2014-12-21 08:47:59 · 12913 阅读 · 0 评论 -
如何设置Sql Server数据库查询时区分大小写和全角半角
zhuanzai开发中常用的数据库有Oracle和Sql Server,Oracle数据库在查询的时候是有大小写区分的,而Sql Server数据库则不区分大小写,如何使Sql Server数据库在查询时有大小写的区分呢?下面我们就来总结一下:要想设置Sql Server数据库区分大小写问题,首先要知道四个属性:创建时可以使用:COLLATE Chinese_PRC_CI_AS转载 2014-04-21 10:35:24 · 7054 阅读 · 0 评论 -
SQL Server中获取所有数据库名、所有表名、所有字段名的SQL语句
转载: http://www.rjgc.org/article/261.获取所有数据库名:Select Name FROM Master.dbo.SysDatabases orDER BY Name2.获取所有表名:1Select Name FROM SysObjects Where XType='U' orDER BY Name转载 2014-01-16 13:57:12 · 29476 阅读 · 0 评论 -
sqlserver服务器 急救
今天突然发现,sqlserver服务器 远程桌面连不上了,但是数据库都能正常连接,记得是上次更改了远程桌面的端口,但是防火墙上没有开启规则。现在通过数据库用户解决方法如下:作为备忘--开启xp_cmdshell--SQL Server blocked access to procedure 'xp_cmdshell'exec sp_configure 'show advance原创 2013-12-04 12:10:21 · 801 阅读 · 0 评论 -
数据库的事务定义以及特性
一、 定义所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。典型的例子就像从网上银行系统的帐户A转帐到帐户B,它经过两个阶段:1.从帐户A取出款项。2.把款项放入帐户B中。这两个过程要么同时成功,要么同时失败,这一系列的操作就被称为事务性(Transactional)操作。二、特性在一个事务性操作的环境下,操作有着以下的4原创 2013-12-04 15:42:43 · 3827 阅读 · 0 评论 -
SqlServer中递归获取所有上级部门的名称组合
今天在sqlserver中用到了自定义函数,而且是递归调用的标量值函数。原因是有一个需求,需要在列表里面展示出部门的层级关系,看到原来是有一个V_User的视图,于是采取最简单的方案,创建一个标量值函数,在视图中追加一列DeptFullName。用来获取出部门的所有上级部门名称。其自定义函数如下:CREATE FUNCTION [dbo].[Func_GetDeptName] (原创 2013-04-17 16:08:16 · 7156 阅读 · 0 评论 -
SqlServer中解析字符串的表值函数
在数据库中,经常用到了将一定格式的字符串解析的问题。以前写过类似的方法,今天又重新写了一个,发上来共享给大家。Create function [dbo].[Func_SplitStringToTable] ( -- 需要解析的字符串 @str nvarchar(max), -- 分隔符 @split varchar(10))returns @t Table (c1 varchar原创 2013-04-17 15:58:07 · 2032 阅读 · 0 评论 -
oracle与sqlserver的十大区别
转载于:http://blog.csdn.net/it_fengli/article/details/8213839--sql server 与 oracle的区别: --DBMS 数据库管理系统--1.数据类型不同。 --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,dat转载 2013-04-10 11:05:04 · 51723 阅读 · 4 评论 -
两个表关联更新
在项目开发过程中,突然发现有一个表的字段值关联错误。更改过来之后,发现之前的测试数据够不能用了,好在保存的数据有关联关系。可以通过Update来更改过来。不过好久没有弄过两个表的关联更新了。有点生疏了。特地在这里记录一下。表:create table TA( ID int identity(1,1), R1 int, R2 int);create table TB( ID原创 2013-04-02 16:03:43 · 1330 阅读 · 0 评论 -
sql语句中获取datetime的日期部分或时间部分
sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据。今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来。网上有许多这方面的介绍。 主要方法还是通过日期格式的转换来获取。如下: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:原创 2009-10-29 16:30:00 · 81907 阅读 · 3 评论 -
SQL Server中TEXT类型字段值在数据库中追加字符串方法
SQL Server中TEXT类型字段值在数据库中追加字符串方法 对text类型字段值进行追加更新的操作,一开始用了简单的update语句试了试,有错误,原来text、ntext类型的字段不能和 varchar类型进行add(+)运算,找了半天资料,查了一下帮助文档,终于找到了如何解决的方法了。 表: CREATE TABLE [dbo].[test] ([id] [int]转载 2009-09-23 14:54:00 · 12939 阅读 · 2 评论 -
IDENT_SEED 获得递增字段 的开始值(即 种子值)
IDENT_SEED返回种子值(返回形式为 numeric(@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的。语法IDENT_SEED ( table_or_view ) 参数table_or_view一个表达式,指定表或视图以检查有效的标识种子值。table_or_view 可以是带有引号的字符串常量,也可以是变量、函数或列名。t原创 2009-03-04 15:56:00 · 1042 阅读 · 0 评论 -
IDENT_CURRENT 查看 表的递增字段的最后生成的ID
IDENT_CURRENT返回为任何会话和任何作用域中的指定表最后生成的标识值。 语法IDENT_CURRENT(table_name)参数table_name是将要返回其标识值的表的名称。table_name 的数据类型为 varchar,没有默认值。返回类型sql_variant注释IDENT_CURRENT 类似于 Microsof原创 2009-03-04 15:44:00 · 636 阅读 · 0 评论 -
SQL server 中的stuff 函数
STUFF删除指定长度的字符并在指定的起始点插入另一组字符。语法STUFF ( character_expression , start , length , character_expression ) 参数character_expression由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。star原创 2009-02-28 11:42:00 · 1067 阅读 · 0 评论 -
sql server 中 SET ROWCOUNT 的具体用法
SET ROWCOUNT使 Microsoft® SQL Server™ 在返回指定的行数之后停止处理查询。 语法SET ROWCOUNT { number | @number_var } 参数number | @number_var是在停止给定查询之前要处理的行数(整数)。注释建议将当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDAT原创 2009-02-28 11:38:00 · 14341 阅读 · 1 评论 -
无法添加、更新或删除从MSX服务器上发起的作业
今天在 删除 服务器上 以前 的 作业。现在不用了。 结果出现了 一下错误! ---------------------------Microsoft SQL-DMO (ODBC SQLState: 42000)---------------------------错误 14274: 无法添加、更新或删除从 MSX 服务器上发起的作业(或其步骤或调度)。--------------原创 2009-02-17 11:21:00 · 4975 阅读 · 0 评论 -
临时表
临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。 临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server转载 2009-02-16 15:03:00 · 651 阅读 · 0 评论 -
SQL SERVER临时表的使用
SQL SERVER临时表的使用--删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokNo varchar(50), primary key (ID) --定义ID为临时表#T转载 2009-02-16 14:21:00 · 1158 阅读 · 0 评论 -
触发器设计技巧与实例
触发器设计技巧与实例 关键字: 触发器 实例在数据库设计中,有两种方法可设定自动化的资料处理规则,一种是条件约束,一种是触发器,一般而言,条件约束比触发器较容易设定及维护,且执行效率较好,但条件约束只能对资料进行简单的栏位检核,当涉及到多表操作等复杂操作时,就要用到触发器了.一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:虚拟表Inserted、虚拟表Deleted转载 2009-02-14 13:07:00 · 639 阅读 · 0 评论 -
触发器的使用
SQL 2000中的触发器使用 触发器是数据库应用中的重用工具,它的应用很广泛,这几天写一个化学数据统计方面的软件,需要根据采样,自动计算方差,在这里,我使用了触发器。下面我摘录了SQL Server官方教程中的一段关于触发器的文字,确实有用的一点文字描述。_____________________________________________________________________转载 2009-02-14 13:05:00 · 703 阅读 · 0 评论 -
SQL server 代理 启动不了 的解决方案。
这几天由于 更改了 Sql server 的用户密码 导致了 SQL Server 代理 启动不了。 我也查过 代理的 错误日志 。里面 提示 连接(local)失败。 由于知道 可能是 密码更改的原因导致的。所以 直接 找到 代理 的属性 中 ,的选项卡 连接中 SQLServer的连接 更改为 使用 SQLServer 验证。 选择SA 填入密码。 然后 应用 --> 确原创 2009-02-17 09:45:00 · 8655 阅读 · 0 评论 -
类似indexof 函数 的SQL中的Charindex 函数
CHARINDEX返回字符串中指定表达式的起始位置。 语法CHARINDEX ( expression1 , expression2 [ , start_location ] ) 参数expression1一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。expression2一个表达式,通常是一个用于搜索指定序列的列原创 2009-01-02 16:58:00 · 4477 阅读 · 0 评论