SQL笔记
duanzhi1984
这个作者很懒,什么都没留下…
展开
-
SQL经典语句
1、跨服务器执行SQL语句(以前从来未用过)select *form OPENDATASOURCE (SQLOLEDB,Data Source=服务器IP;User ID=sa;Password=).DB_DZP.dbo.LOGLAA select *from OPENDATASOURCE (SQLOLEDB,Data Source=服务器IP;User ID=sa;P原创 2006-09-15 20:41:00 · 1193 阅读 · 0 评论 -
[翻译]当SA帐号丢失时怎么办
Q:我遇到了一个灾难:我丢失了SQL Server 2005的SA密码,有办法恢复么?我遵循了最佳安全实践,从sysadmin中删除了builtin/Administrators帐号,现在没其他人是sysadmin了。除了重新安装SQL Server并附加数据库外有什么其它方法么?因为这样可能会导致master数据库中的数据损坏。A:SQL Server 2005/2008提供了针对该情况的更翻译 2009-08-20 10:29:00 · 724 阅读 · 0 评论 -
Microsoft SQL Server 管理 (常用管理及维护命令)
--查询当前连接的实例名select @@servername--察看任何数据库属性sp_helpdb master--设置单用户模式,同时立即断开所有用户alter database Northwind set single_user with rollback immediate--恢复正常alter database Northwind set原创 2009-11-08 10:47:00 · 1808 阅读 · 0 评论 -
SQL SERVERS数据整理
今天星期天,因数据库太慢,最后决定将数据库进行重新整理. (假定数据库名称为:DB_ste) 1、根据现在的数据库的脚本创建一个脚本文件(FILENAME:DB_ste.sql) 2、建立新的数据库DB_ste2,若有文件组的数据库,则需要建立相同的文件组。(DB_ste_Group) 3、将数据文件(DB_ste)在新的数据库DB_ste2执行原创 2009-11-08 10:48:00 · 564 阅读 · 0 评论 -
虚拟机上MSSQL连接的问题
在电脑上装了个虚拟机,本机装了个MSSQL2000,在虚拟机也装了个MSSQL2000,但是当连接虚拟机上的MSSQL,SQL提示出错,无法连接,觉得很奇怪,因为IP地址是不同的,最后想到了个办法,因为是一台电脑,所以端口1433只有一个,本机占了1433,那么虚拟机就没法用了,想到就做,把虚拟机的端口改成了1500。重启电脑,但是还是不能连接,最后想到了个办法,将连接主机更改为 TCP:10.0原创 2009-12-25 21:48:00 · 1130 阅读 · 0 评论 -
邹建的一篇技术博文的改进
2010-03-07MSSQL大版主邹建的一篇博文 “使用临时表 + 循环展 BOM “http://blog.csdn.net/zjcxc/archive/2007/08/29/1763598.aspx 看了老大邹建的BLOG,感觉频繁的使用临时表展开BOM觉得性能方面也许不太好。本人不才,发表一下博文: 既然是BOM表,一般的数据不会很大,所以使用表变原创 2010-03-07 09:28:00 · 1026 阅读 · 0 评论 -
MSDTC 分布式事务处理记录
公司有多台数据库服务器,因需要要对各数据库服务器之间进行访问,在现有的服务器a,建立一个链接服务器b,进行简单的数据访问. select *from b.master.dbo.sysobjects --查询OK 接着在此查询中增加事务: begin distributed transelect *from b.master.原创 2010-01-04 14:01:00 · 2414 阅读 · 2 评论 -
KILL 命令并非一定会成功
遇到这样一个问题: sp_who 129 结果如下: 129 SUSPENDED sa host_a . STS KILLED/ROLLBACK 129 SUSPENDED host_a 129 STS KILLED/ROLLBACK 129 SUSPENDED原创 2010-01-04 14:23:00 · 712 阅读 · 0 评论 -
SQL作业停止启用
因工作需要上长要我停止所有的数据库作业,如果一个一个因停止启用则相当麻烦. 所以只好利用msdb中的表sysjobs表,更新enabled为0,即可更新为停止启用。 update msdb.sysjobs set enabled=0 过了一天上长又要我恢复作业,我又写了个语句 update msdb.sysjobs原创 2010-04-01 10:32:00 · 1549 阅读 · 0 评论 -
SQL Server 2005中的T-SQL增强
<br />1、新的异常处理结构<br /><br />2、可以捕获和处理过去会导致批处理终止的错误<br />前提是这些错误不会导致连接中断(通常是严重程度为21以上的错误,例如,表或数据库完整性可疑、硬件错误等等。)。<br /><br />3、TRY/CATCH 构造<br />SET XACT_ABORT ON<br /> BEGIN TRY<br /> <core logic><br /> END TRY<br /> BEGIN CATCH TRAN_ABORT<br />转载 2010-06-29 13:20:00 · 572 阅读 · 0 评论 -
批查询与存储过程的差异
<br /> 今天报关人员问我关于短溢表为何查询不出来的问题,苦恼了我一下午。<br /> 一个叫[BSERP_GAT_REPORT_GAT04007] 的存储过程死活都查询不出来数据,我整整查询了10分钟,最终还是没出来数据。这让我很苦恼。我试着猜测到底是哪一个语句的问题,一步一步的查询每一个语句到底是出了什么问题?每一步消耗的时间并不长。但我整个过程一起执行时却发现查询慢的要死。<br /><br /> 我怀疑是否是刚刚将SQL2000迁移到2005引起的问题,我将之前的嵌套表更原创 2010-06-12 20:25:00 · 830 阅读 · 3 评论 -
Microsoft SQL Server 2000 索引碎片整理最佳实践
原文:Microsoft SQL Server 2000 Index Defragmentation Best Practices来源:Microsoft TechNet作者:Mike Ruthruff时间:February 2003Summary As Microsoft SQL Server 2000 maintains indexes to reflect updates to thei原创 2009-04-24 12:51:00 · 6943 阅读 · 0 评论 -
SQL Server备份的怪异
公司的数据库服务器 4月1号那天晚上忽然备份出错了,我查看出错记录提示如下: “sqlmaint.exe failed. [SQLSTATE 42000](错误 22029). 步骤失败。" 记得以前出现过类似的问题,当时是因为分离了一个有备份计划的数据库,所以才如此.我查看硬盘空间发现有很多的空间。 各方面都排查一下,发现并无异常。 最为奇怪的是公司另外一台数据库服务器在3月31号也出现了这原创 2009-04-04 12:26:00 · 1029 阅读 · 1 评论 -
SQL Server 2005新增函数简介
SQL server 2005新增的几个函数,分别是row_number( )、rank( )、,DENSE_RANK( )、ntile( )下面以实例分别简单讲解。1.row_number( ) 先来点数据,先建个表SET NOCOUNT ONCREATE TABLE Person(FirstName VARCHAR(10),Age INT,Gen转载 2008-10-24 08:52:00 · 1029 阅读 · 0 评论 -
如何建立全文索引[转]
在进行全文检索之前,必须先建立和填充数据库全文索引。为了支持全文索引操作,SQL Server 7.0新增了一些存储过程和Transact-SQL语句。使用这些存储过程创建全文索引的具体步骤如下(括号内为调用的存储过程名称):1. 启动数据库的全文处理功能(sp_fulltext_database);;2. 建立全文检索目录(sp_fulltext_catalog);3.在全文检索原创 2007-09-15 17:26:00 · 1116 阅读 · 0 评论 -
使用Read80Trace优化数据库遭遇的问题
我用事件探查器做一个Trace.trc,放在F盘,在本地数据库建立了一个新数据库mydb,接着打开cmd,找到对应Read80Trace.exe目录 然后使用:Read80trace –f –dmydb –I"f:/trace.trc" 提示:Output path was not specified; defaulting to E:/rml/output 05/11/08 1原创 2008-08-07 08:13:00 · 1227 阅读 · 1 评论 -
mmc.exe-无法找到入口
今天刚装了MS SQL2000,装好后打开企业管理器发生错误, " mmc.exe-无法找到入口,框中的内容为:无法定位程序输入点?Process Excute@@YAXPAUHWND_@@PBG1_N@Z于动态连接库上SEMSFC.dll上。",点了框中的确定后,又弹出一个名为SQL Server企业管理器的框,内容是:127-(找不到指定程序。)点了确定后,又弹出一个名为SQL原创 2008-08-07 13:46:00 · 6361 阅读 · 0 评论 -
Sql Server 2000 补丁惹的获
公司的数据库一直都很慢,部长也很苦恼,因为公司服务器的内存有4G,但是在任务管理器中的显示一直只有2.8G的内存.我从数据库的语句进行了很多优化,虽然有一定的效果,但是内存的使用率还是提高不上来,一直保持在2.8G的位置,而且我用性能监测了缓存,也挺高的啊.只是Cache hit Ratio只有碍10%,网上有很多人都说要案80%以上才正常,把然就要加内存了,但是我们服务器的内存很原创 2008-05-25 16:57:00 · 3613 阅读 · 0 评论 -
觉得写的比较好的语句(UPDTAE)
create table t(id int,num int)insert into t select 1,200insert into t select 2,10insert into t select 3,60insert into t select 4,80insert into t select 5,600delete from tdeclare @sum intset @sum原创 2008-06-08 14:53:00 · 1122 阅读 · 0 评论 -
今天在CSDN答问题
建了一个临时表:select top 10 userID into #temp from user order by newid()在另外一个表messages中,有user1,user2, user3,user4,user5,user6,...user10请问如何把#temp中的10个userID分别插入到messages?--test --只有5列,自己可以扩展 create table #t原创 2008-06-08 14:55:00 · 571 阅读 · 0 评论 -
数据恢复工具 Log Explorer
以前就在网络上看过关于Log Explorer的介绍, 但是一直解决很陌生,因为从来没接触过,前两天不知道谁把我们的数据给更新(维护人员有几个,查不出来谁改的),幸亏不严重,只要重计一下就OK了.但是这样的例子对维护人员已经是致命的错误了,因为数据库都是每天备份数据库,恢复数据相当慢,忽然想起网络中有关于LOG EXPLORER的介绍,下载了,还挺好用.只是我们的数据量比较大,运行起来比较慢原创 2008-09-17 19:17:00 · 970 阅读 · 1 评论 -
数据文件与文件组
公司新买进了一些磁盘,有1.6T,计划用在数据库服务器和文件服务器中。这么大的磁盘,如何才能最大化的利用它呢?以前在网络上看将一些频繁表建立到不同的文件中(磁盘分区),一直觉得很神秘。今天在数据库帮助文档中看到文件与文件组的用法,才知道我们公司太古董了,一直都用一个数据库一个文件,一个文件组。数据库慢也没人从此方面下手改善。看了帮助文档后,才发现其实没那么难。现在把此方面的文件贴出来:原创 2008-09-17 20:05:00 · 1822 阅读 · 1 评论 -
字符串拆分为一个表
因需求,需要将此格式的数据转换: 标签;1;R01:打点;2;IC1,IC2:注胶;1;IC2变更为:标签 1 R01打点 2 IC1,IC2注胶 1 IC2 写法如下: declare @s varchar(8000) declare @t varchar(20) declare @str varchar(200) set @str=原创 2008-09-22 10:53:00 · 668 阅读 · 0 评论 -
数据库的分发与复制
1、分发与复制用强制订阅实现数据库同步操作大量和批量的数据可以用数据库的同步机制处理://说明:为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式在客户机器使用强制订阅方式。测试通过//--1:环境服务器环境:机器名称: ZehuaDb操作系统:Windows 2000 Server数据库版本:SQL 2000 Server 个人版客户端机器名称:Zlp操转载 2008-09-25 08:24:00 · 2395 阅读 · 0 评论 -
SQL SERVER 关于树形排序的处理
<br />今天在CSDN看到个题目是关于树形在内容:<br />题目如下(但实际的题目更简单)<br />create table #t(id int,parentid varchar(10))<br />insert into #t<br />select 1, 0 union all<br />select 10, 1 union all<br />select 13, 10 union all<br />select 16, 10 union all<br />select 11, 16 union原创 2010-08-13 12:10:00 · 3255 阅读 · 1 评论