Sql Server(1)
chenghaibing2008
这个作者很懒,什么都没留下…
展开
-
存储过程中Sql 语句查询速度优化 某例
之前的SQL语句如下,查询很慢,6分钟多都没有结果显示,一开始我以为是6张表联合查询带来的速度慢的问题。后来发现因为PO_D.ORDNO与PO_H.ORDNO相同,把绿色部分替换为紫色的部分,把PO_D替换为PO_H,10秒钟就能查询出来PS:PO_D中101401笔数据,PO_H中51341笔数据。虽没有想明白替换之后提速到如此之快仅10秒,与6分钟未出结果差异太大,但毋庸置疑的原创 2009-12-04 13:45:00 · 909 阅读 · 0 评论 -
Sql 查询技巧 某例--关于in的排序
在有时候使用in语句查询的时候,in语句中很多项,如15项,自己同时想让查询出来结果能够按照in语句中该字段顺序查询出来。 而Sql Server是默认按照自己的顺序排列出来的,所以一定会把结果集重新排序的。而如果使用case when的方法虽然很繁琐,但也是可以实现的 select item_code,keeper_ename from item_master wher原创 2009-12-04 13:53:00 · 583 阅读 · 0 评论 -
定义服务器游标的属性 将远程表上的数据复制到本地
在数据库a上远程链接数据库b上表的时候,并且使用游标时弹出错误提示。 DECLARE P_CUR CURSOR FOR SELECT ECDNO FROM [b].[db1].[dbo].table1 WHERE REVNO=@intFormNo 错误提示:远程表不可更新。远程表上的可更新键集驱动游标要求事务具有扫过游标的 REPEATABLE_READ 或 SERIALIZA原创 2009-12-04 14:17:00 · 898 阅读 · 0 评论 -
Sql 查询技巧 优先输出某结果
SELECT LOGIN_NAME,SITE_CODE,DEPT_CODE,EXT_NO ,(case when SITE_CODE=QCS then 1 else 2 end) siteFROM dbo.AM_EMPLOYEE WHERE ACTIVE = Y AND EXT_NO = 6006 order by site想要在员工表中查出电话号为6006的员工的英文原创 2009-12-04 14:36:00 · 4297 阅读 · 0 评论 -
相同表结构 一个表结构插入更新删除更新同步另外一个表 触发器设计 inserted,deleted 均为系统临时表
原创 2009-12-04 14:48:00 · 600 阅读 · 0 评论 -
SQL存储过程中调用COM组件
出于SQL Server本身的功能不足,我们需要用外部的程序来实现,而Com由于其语言的无关性和强大的功能就成为与Sql Server接口的首选,并且sql Server本身也提供了这方面的系统存储过程用以实现与com的接口。这几个相关的系统存储过程为: sp_OACreate 在 Microsoft® SQL Server™ 执行个体建立 OLE 对象的执行个体。 sp_OAMethod 呼叫原创 2009-12-10 16:51:00 · 638 阅读 · 0 评论 -
清除SQLServer数据库日志(SqlServer2005)
/*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. --*/ 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志原创 2009-12-28 22:13:00 · 537 阅读 · 0 评论 -
SQL Server 存储字符数大于8000的问题WRITETEXT,UPDATETEXT
SQL Server专门提供了处理text,ntext,image字段的函数,他们是:TEXTPTRTEXTVALIDREADTEXTUPDATETEXTWRITETEXT一般作用方法:写字段WRITETEXT :DECLARE @val varbinary(16)SELECT @val = TEXTPTR(字段名) FROM 表名 where 条件WRITETEXT 表名.字段名原创 2010-04-20 15:14:00 · 1191 阅读 · 0 评论 -
通过SP调用FSO直接把DB中table数据导入Excel
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo -- =============================================-- Description: 通过SP调用FSO直接把DB中table数据导入Excel-- =============================================ALTER原创 2010-04-20 16:48:00 · 554 阅读 · 0 评论 -
如何跟踪SQL SERVER 正在执行的语句
---跟踪 开始--程序--MS SQLSERVER --事件探察器(SQL Profiler) --文件 --新建--跟踪... --设置要跟踪的服务器的信息(连接服务器)--确定 --设置跟踪的项目... --然后数据库的调用情况就会显示出来 在跟踪项目设置中,如果不熟悉的话,一般用默认设置 筛选项目有几个原创 2010-04-29 15:18:00 · 3722 阅读 · 0 评论 -
sql server一个容易忽视的“漏洞”------SELECT INTO 语句 潜在问题
<br />SELECT INTO语句常用来给数据表建立备份或是历史档案。<br />--select * into VMI_MONTHPLAN_HEADER from npm_test.dbo.VMI_MONTHPLAN_HEADER 拷贝表结构和表内容<br />--select * into VMI_MONTHPLAN_HEADER from npm_test.dbo.VMI_MONTHPLAN_HEADER where 1<>1 只拷贝表结构,不拷贝表内容(空表拷贝)<br /> <br />但这原创 2010-08-02 10:47:00 · 1196 阅读 · 0 评论 -
Server '' is not configured for RPC.
<br />Server '**' is not configured for RPC.<br /> <br />在该站点所在数据库中的Linked Server找到该台Server,右击属性,Server Option,将RPC和RPC Out设置为True<br />原创 2010-08-31 08:14:00 · 2709 阅读 · 0 评论 -
SQL Server 2005技术数据库邮件使用方式
<br /> <br /> SQL Server 2005技术数据库邮件使用方式<br />SQL Server 2005数据库邮件是一种通过Microsoft SQL Server 2005数据库引擎发送电子邮件的企业解决方案。通过使用数据库邮件,数据库应用程序可以向用户发送电子邮件。邮件中可以包含查询结果,还可以包含来自网络中任何资源的文件。数据库邮件旨在实现可靠性、灵活性、安全性和兼容性。<br />SQL Server外围应用配置器<br />为了安全,SQL Sever 2005采原创 2010-10-09 11:29:00 · 2392 阅读 · 0 评论 -
数据库中对锁的应用
<br /><br />-- Description:创建各个模块的新ID<br />-- =============================================<br />ALTER PROCEDURE [dbo].[SP_INV_NEW_ID_CREATE]<br /> <br />@MODULE_ID_KEYNVARCHAR(20)--模块ID在SYSTEM_CONFIG表中的关键字<br />AS<br />BEGIN<br /> <br />SET NOCOUNT ON;<br原创 2010-10-09 11:54:00 · 465 阅读 · 0 评论 -
查看 SQL Server 作业(job)运行结果状态脚本
<br />查看 SQL Server 作业(job) 运行成功与否、还是取消等状态信息,以及作业最后一次运行持续时间、出错信息提示等。DBA 可以周期性地调度该 SQL 脚本,在 SQL Server 作业失败时候得到及时提醒<br />select category = jc.name,<br /> category_id = jc.category_id,<br /> job_name = j.name,<br />原创 2010-12-09 10:05:00 · 6025 阅读 · 0 评论 -
Cannot drop the database 'databasename' because it is currently in use
<br />when you drop datebase with SQLCMD tool, and met the error message as title, you can try below script.<br />---script start---<br />use master<br />go<br />alter database databasename set single_user with rollback immediate<br />go<br />drop database原创 2010-10-19 11:35:00 · 2052 阅读 · 0 评论 -
SQL Server数据库超级管理员账号防护知识
<br /><br />提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracl是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?"其原创 2010-12-12 17:05:00 · 2263 阅读 · 0 评论 -
SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ole Automation Procedures'。有关启用 'Ole Automation Procedures' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 语句已终止。Ole Automation Procedures原创 2010-12-13 17:30:00 · 9000 阅读 · 1 评论 -
System.Data.SqlClient.SqlException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorr
<br /><log><br /> <id>d74ad268-25f5-4fb8-b91a-b02ce42e1dc2</id><br /> <time>2010-12-15 15:38:58</time><br /> <message>System.Data.SqlClient.SqlException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Pa原创 2010-12-15 15:52:00 · 4625 阅读 · 0 评论 -
SHRINKDATABASE & SHRINKFILE 的使用
<br />1. TRUNCATEONLY参数的使用<br />我们在建立的Job中通常使用如下的语法<br />DBCC SHRINKDATABASE (N'DB', 10,TruncateOnly)<br />其中TruncateOnly的用处是把:“将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动”,<br />所以此时前面指定的“10”(target_percent),将不起作用,由于删除数据等作业导致的大量的空闲的数据页,将不会被回收,上面的语句的作用,只能把文件结尾部分有限的原创 2010-11-01 14:23:00 · 5005 阅读 · 0 评论 -
sql server拆分字符串
<br />ALTER PROCEDURE [dbo].[SP_OPERATE_STRINGLIST_SPLIT]<br /> @STRINGLIST NVARCHAR(4000), --被分解的清单字符串<br /> @INDEX INT, --要取段的索引(从1开始)<br /> @RESULT NVARCHAR(500) OUT, --返回的结果<br /> @SPLITTER VARCHAR(5)=',' --分隔符号(默认为分号)<br />AS<br />BEGIN<br /原创 2011-01-13 13:51:00 · 1577 阅读 · 0 评论 -
Sql Server 拆分字符串 Function 很实用
<br />CREATE FUNCTION fun_StrSplit<br />(@origStr varchar(7000), --待拆分的字符串<br />@markStr varchar(100)) --拆分标记,如','<br />RETURNS @splittable table<br />(<br />str_id varchar(4000) NOT NULL, --编号ID<br />string varchar(2000) NOT NULL --拆分后的字符串<br原创 2011-01-13 14:08:00 · 1311 阅读 · 0 评论 -
如何通过使用 SQL Server 中的 Detach 和 Attach 函数将 SQL Server 数据库移到新位置
<br />以下示例将移动一个名为 mydb 的数据库,该数据库包含一个数据文件 Mydb.mdf 和一个日志文件 Mydblog.ldf。<br />如果您要移动的数据库还有其他数据或日志文件,请在存储过程 sp_attach_db 中用一个逗号分隔的列表将它们全部列出。无论数据库包含多少文件,存储过程 sp_detach_db 都不会更改,原因是它不会列出这些文件。 按如下所示分离数据库:use master go sp_detach_db 'mydb' go然后,将原创 2011-02-20 18:17:00 · 1434 阅读 · 0 评论 -
win7下安装ms sql server 2005 manamgement studio报错29506问题
<br />在安装microsoft sql server2005后,再安装management studio时候屡屡最终报错,29506,安装失败。<br />解决方法:可以按照下面的方法成功安装ms sql server 2005 manamgement studio espress…… <br /> 如果必要,你首先必须要安装更之前的一些东西,如msxml6.msi这个东西(具体的你在微软下载microsoft sql server management studio express时,看看原创 2011-04-07 22:31:00 · 897 阅读 · 2 评论 -
SqlServer2000中快速导出登陆信息脚本
<br />USE [master]<br />GO<br />/****** Object: StoredProcedure [dbo].[sp_hexadecimal] Script Date: 05/14/2010 10:45:45 ******/<br />SET ANSI_NULLS ON<br />GO<br />SET QUOTED_IDENTIFIER ON<br />GO<br />CREATE PROCEDURE [dbo].[sp_hexadecimal]<br /> @原创 2011-06-01 16:16:00 · 699 阅读 · 0 评论 -
SqlServer2005中快速导出登陆信息脚本
<br />USE [master]<br />GO<br />/****** Object: StoredProcedure [dbo].[sp_hexadecimal] Script Date: 05/14/2010 10:45:45 ******/<br />SET ANSI_NULLS ON<br />GO<br />SET QUOTED_IDENTIFIER ON<br />GO<br />CREATE PROCEDURE [dbo].[sp_hexadecimal]<br /> @原创 2011-06-01 16:19:00 · 423 阅读 · 0 评论 -
关联孤立账号
exec sp_change_users_login REPORT查看孤立账号use masterexec sp_change_users_login UPDATE_ONE,login**,login**原创 2011-06-20 16:04:00 · 362 阅读 · 0 评论 -
重置sql server sa密码
以windows身份登陆后在查询分析器里面输入以下内容: sp_password Null,'123','sa'将sa密码修改为123 这样就可以了原创 2011-08-08 14:14:25 · 3189 阅读 · 0 评论 -
win7下安装sqlserver 2008--previous reladses of microsoft visual studio 2008 解决
首先要装vs2008sp1如果已经安装过vs2008sp1,但是还是出现了这个错误,只要两步就可以绕过这个检查: 1. 打开CMD,进入SQL SERVER 2008安装目录 2. 运行命令:setup.exe /ACTION=install /SkipRul原创 2011-08-21 00:49:42 · 764 阅读 · 2 评论 -
sqlserver 查看各Job运行时间
select j.name,h.step_id,h.step_name,max(h.run_duration) run_durationfrom msdb..sysjobs j,msdb..sysjobhistory hwhere j.job_id = h.job_idand enabled = 1and step_id and h.run_date >= convert(ch转载 2011-12-12 11:36:05 · 3062 阅读 · 0 评论 -
Sqlserver Job失败发送邮件给管理员 配置
SqlServer都会有配置计划任务,如果Job执行失败,会发送Mail给管理员通知其处理..那么配置在何处呢?在配置邮箱地址即可原创 2012-01-13 16:04:54 · 1059 阅读 · 0 评论 -
Data Transformation Services(DTS)
DTS 2000 Package Designer下载地址 http://download.csdn.net/detail/menglionel/1639216 DTS 百度文档http://wenku.baidu.com/view/26d6007d27284b73f24250fa.html 如果很少使用过SqlServer2000的版本, 而在数据库中配置着DTS的Jo原创 2012-01-13 11:26:24 · 871 阅读 · 0 评论 -
查看表被那些存储过程、函数、视图、触发器使用
1.系统自带 的sp_dependssp_depends显示有关数据库对象相关性的信息(例如,依赖表或视图的视图和过程,以及视图或过程所依赖的表和视图)。不报告对当前数据库以外对象的引用。语法sp_depends [ @objname = ] 'object' 参数[@objname =] 'object'被检查相关性的数据库对象。对象可以是表、视图、存储过程或触发器原创 2012-01-16 10:07:17 · 649 阅读 · 0 评论 -
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154)
TITLE: Microsoft SQL Server Management Studio------------------------------An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)--------原创 2012-02-16 17:19:16 · 1875 阅读 · 0 评论 -
DTS
C:\Documents and Settings\Haibing.cheng>dtsrun /S "ServerName" /U "UserName" /P "Password" /F "E:\Document\****.dts" /N "***"DTSRun: Loading...DTSRun: Executing...DTSRun OnStart: Copy Data原创 2012-04-01 11:40:24 · 508 阅读 · 0 评论 -
Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS"
Executed as user: NT AUTHORITY\SYSTEM. Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "Chinese_Taiwan_Stroke_CI_AS" in the equal to operation. [SQLSTATE 42000] (Error 468). The原创 2012-04-01 10:35:45 · 10736 阅读 · 1 评论 -
SQL Data to file
通过DOS命令在SQL Server中实现把数据汇出到文件的方法。 原理:通过DOS的管道符号>把数据放入对应的文件,由xp_cmdshell来执行DOS命令。 提醒:Script产生的文件放在SQL Server对应的Server上面 declare @SQL as nvarchar(1000)--要显示的内容,大于,小于符号为特殊转载 2012-04-26 14:39:43 · 526 阅读 · 0 评论 -
SQL Server2000后台导入Excel数据
下面一步是注意的地方,选择的sheet,是在Excel所在的sheet,同时在Destination中选择对应的表,如:向pc_pacn_list导入数据,可选择[NPM].[npm].[pc_pacn_list_mic]Select * from pc_pacn_list_mic from pc_pacn_list where 1<>1把表结构导过去。再选择此表(因为pc_pacn_原创 2012-04-30 22:59:42 · 745 阅读 · 0 评论 -
Sql Server 和 Access 操作数据库结构的常用Sql
新建表:create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int defau原创 2012-04-30 22:34:23 · 407 阅读 · 0 评论 -
Unable to open the physical file "d:\***.mdf". Operating system error 5: "5(Access is denied.)".
在Win7下安装了SQL SERVER2008。尝试附加一个现有的数据库mdf文件,出现了错误,Unable to open the physical file "d:\***.mdf". Operating system error 5: "5(Access is denied.)".是要设置SQL server相关账户对文件的访问权限让Management Studio以管理员身份原创 2012-05-01 18:20:20 · 3037 阅读 · 0 评论