文章分类 -  SQL

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要:C#连接各类数据库的方法集合本文列出了C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase六种不同数据库的程序源码和需要注意的点。 1.C#连接Access 程序代码: using System.Data; using System.Data.OleDb; string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"DataSource=C:\BegASPNET\Northwind.mdb"; OleDbConnection o 阅读全文
posted @ 2011-06-10 18:48 rob_2010 阅读(202) 评论(0) 推荐(0)
摘要:-- 后一天 select DATEADD(day, 1, getdate()) --前一天 select DATEADD(day, -1, getdate()) --本周星期一 SELECT DATEADD(dd,(case @@datefirst when 7 then 2 else 2-@@datefirst end)-datepart(dw,getdate()),getdate()) --本周星期日 SELECT DATEADD(dd,6+(case @@datefirst when 7 then 2 else 2-@@datefirst end)-datepart(dw,getdat 阅读全文
posted @ 2011-06-10 18:46 rob_2010 阅读(177) 评论(0) 推荐(0)
摘要:首先准备工作:开启SQL server Agent 服务,外围配置开启 xp_cmdshell,设置远程备份目标文件夹共享--获取操作权限Exec master..xp_cmdshell 'net use \\ipaddress\backupFolder password /User:ip\Administrator'/* PS:调用xp_cmdshell需要在SQL外围配置器中设置允许xp_cmdshell net use \\192.168.1.108\easyworktools\test 远程IP+备份文件夹 admin@cti 登录密码 /User:192.168.1. 阅读全文
posted @ 2011-06-10 18:44 rob_2010 阅读(122) 评论(0) 推荐(0)
摘要:语法: CREATE [索引类型] INDEX 索引名称 ON 表名(列名) WITH FILLFACTOR = 填充因子值0~100 GO /*实例*/ USE 库名 GO IF EXISTS (SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--检测是否已经存在IX_TEST_TNAME索引 DROP INDEX TEST.IX_TEST_TNAME--如果存在则删除 --创建索引 CREATE NONCLUSTERED INDEX IX_TEST_TNAME --创建一个非聚集索引 ON TEST(TNAME)--为 阅读全文
posted @ 2011-06-01 11:31 rob_2010 阅读(1818) 评论(0) 推荐(0)
摘要:一:利用北风数据库创建海量数据表USE northwindSELECT COUNT(*) FROM customersSELECT * INTO Tempt FROM customersSELECT COUNT(*) FROM TemptGODECLARE @i IntegerSET @i = 1WHILE @i < 10 BEGIN INSERT INTO Tempt SELECT * FROM Tempt SET @i = @i + 1 ENDSELECT COUNT(*) FROM TemptSELECT Identity( int, 1, 1 ) AS PK, * INTO Bi 阅读全文
posted @ 2011-05-20 16:02 rob_2010 阅读(309) 评论(0) 推荐(0)
摘要:有些数据库语句可能平时用得不多,所以使用的时候总是难免上网查询,略嫌麻烦,今日在CSDN论坛看到有贴收录这些语句,就顺手牵羊copy了一份,本想copy了就结束了,但和部分朋友一样,真正用到它们的时候有时会发现难免会出错,于是,择日不如撞日,就在今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的select等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在2008里面消失了…… 废话不多说,把收录的语句及备注贴上来,便于以. 阅读全文
posted @ 2011-05-13 12:01 rob_2010 阅读(148) 评论(0) 推荐(0)
摘要:CREATE FUNCTION [dbo].[f_num_chn] (@num numeric(18,2)) RETURNS varchar(100) WITH ENCRYPTION AS BEGIN --版权所有:weihuachao@sina.com DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num*100) AS bigint) AS varchar(20)),14) SET @c_data=&# 阅读全文
posted @ 2011-05-11 09:35 rob_2010 阅读(236) 评论(0) 推荐(0)
摘要:对于MS SQL Server 2005以及MS SQL Server 2000来说,可以这样做首先 1: use [数据库名称]; 2: exec sp_helpfile;利用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件 1: BACKUP LOG [数据库名] WITH TRUNCATE_ONLY 2: dbcc shrinkfile ([log文件的逻辑名称],1)但是这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不可以用了,会提示你 TRUNCATE_ONLY is not a vali 阅读全文
posted @ 2011-05-06 04:01 rob_2010 阅读(196) 评论(0) 推荐(0)
摘要:写这篇文章是因为自己的一时疏忽“又”犯下了一个错误,把用户的数据给删除了,而且删的干干净净的。而在这之前我还比较得意,因为我在开发调试时一直是用Truncate语句删除的数据,可以不记录相应的删除操作。但现在有点惨了,我需要进行恢复,而且必须得恢复,没得商量……根据自己所学的知识,唯一可以入手的就是数据库日志文件,打开一看,日志文件还不小,应该记录了在此之前的所有操作。第一步:保护好现场,备份数据库。备份数据库时没有使用sql server提供的备份功能,而是先停止数据库服务,然后把数据库数据文件(.mdf)和日志文件(.ldf)复制一份用于数据库恢复实验,后来证明这一步是正确的。第二步:想办 阅读全文
posted @ 2011-05-03 19:15 rob_2010 阅读(268) 评论(1) 推荐(0)
摘要:最近,刚跳槽到一新公司,就遇到生产数据库晚上突然出现大面积中断,并持续近一小时,而发生事故时,我没有在现场,错过了直接获取信息的机会;过后boss要求追查原因,于是艰难的排查过程开始了。 开始以为是数据库某个JOB运行出现异常引起或者是因为程序里面哪个鸟人写了垃圾语句造成了大面积的死锁,于是将收集的trace信息拿到本地分析,从收集到的trace信息看,数据库在19:49:28时出现了锁,系统cancel了它,而且是连续三个,之后数据库大部分连接都是Abort了。 初步估计应该是死锁了,首先想到的就是因为数据库更新语句造成,于是查找Agent里面是否有对应时间的JOB运行,结果没有匹配的,然后 阅读全文
posted @ 2011-05-02 20:05 rob_2010 阅读(162) 评论(0) 推荐(0)
摘要:最近因为Sharepoint,需要把原来测试服务器上的一个数据库A完全复到生产服务器的数据库B上,方法就是直接用数据库的1.任务--->备份2.任务--->还原-->文件和文件组 (其间要把备份好的备份文件拷贝到目标服务器可访问的目录下,然后再做还原的操作)直接上图: 阅读全文
posted @ 2011-04-30 16:43 rob_2010 阅读(218) 评论(0) 推荐(0)
摘要:接触 SQL Server 很长时间了,做了很多项目,但是对sql Server的订阅和发布知之不多,现在把订阅与发布的相关知识总结起来,以供大家拍砖。 SQL Server 的复制技术 包括 订阅和发布 复制的组成部分:发布服务器(出版社),分发服务器(邮局),订阅服务器(读者,接受者) 发布服务器的作用:维护源数据库,由这些数据库出版的数据能够为复制所利用,检测并将所有出版数据的更改发送到分发服务器 分发服务器的作用:分发服务器包括分发数据库,并且存储元数据、历史数据和事务。根据所实施复制类型的不同,分发服务器所扮演的角色也各异,一般情况下与合并复制相比较,分发服务器对于快照复制和事务复制 阅读全文
posted @ 2011-04-30 16:43 rob_2010 阅读(212) 评论(0) 推荐(0)
摘要:第一种情况: 有RAID,还需要做数据库备份吗? 回答:需要。有了RAID,万一部份磁盘损坏,可以修复数据库,有的情况下数据库甚至可以继续使用。但是,如果哪一天,你的同事不小心删除了一条重要的记录,怎么办?RAID是无能为力的。你需要合适的备份策略,把那条被误删的数据恢复出来。所以有了RAID,仍需要做备份集群,磁盘镜像同理。 第二种情况: 我们需要全备份+日志备份? 解答:如果你只做全备份,那么受限于全备份的大小和备份时间,不可能常做。而且只有全备份,不能将数据库恢复至某个时间点。所以,我们需要全备份+日志备份。比如每天一个全备份,每隔1小时或若干分钟一个日志备份。说到差异备份,因为微软的差 阅读全文
posted @ 2011-04-25 14:00 rob_2010 阅读(151) 评论(0) 推荐(0)
摘要:SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?SQL Server 2005中的分区表(二):如何添加、查询、修改分区表中的数据SQL Server 2005中的分区表(三):将普通表转换成分区表SQL Server 2005中的分区表(四):删除(合并)一个分区SQL Server 2005中的分区表(五):添加一个分区SQL Server 2005中的分区表(六):将已分区表转换成普通表 阅读全文
posted @ 2011-04-20 17:43 rob_2010 阅读(150) 评论(0) 推荐(0)
摘要:环境:windows 2003 + IIS 6.0 + Sql Server 2005Sqlserver 数据库(.mdf) 将近4G的数据。症状:网站频繁出现“System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应”这个错误。解决方案:问题出现的原因大概是以下几个方面:1、如果你通过超时时间设置,解决了上述问题,你可能需要优化你的Sql语句,索引等。//超时时间SqlCommand cmd = new SqlCommand(); cmd .CommandTimeout=60;//时间设为60秒//通过数据库的设置,以Sq 阅读全文
posted @ 2011-04-12 16:48 rob_2010 阅读(6515) 评论(0) 推荐(0)
摘要:数据库连接字符串备忘大全:URL:http://www.connlist.com/===========================先来看一下默认的连接SQL Server数据库配置<connectionStrings> <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 阅读全文
posted @ 2011-04-11 14:01 rob_2010 阅读(120) 评论(0) 推荐(0)
摘要:所谓动态SQL,就是执行前语句不确定,执行过程中才知道具体内容的语句。相对来说,静态SQL就是执行前就清楚执行内容的SQL。举例来说,select * from TableA 就是一个静态SQL。如果想在执行过程中动态改变表名或者参数,就是动态SQL。比如这个:DECLARE @Sql VARCHAR(200); DECLARE @GroupName VARCHAR(50); SET @GroupName = 'SuperAdmin'; SET @Sql = 'SELECT * FROM Groups WHERE GroupName=''' + 阅读全文
posted @ 2011-04-11 13:29 rob_2010 阅读(225) 评论(0) 推荐(0)
摘要:我们在写一些存储过程的时候总想获取到一些值,比方说,刚刚插入一条记录的ID,等等 (一)通过output获取返回值 存储过程如下ALTERprocedure[dbo].[teturn_test2]@rg1intoutputasset@rg1=123说明:@rg1 为输出值 C#代码中接受 stringconnectStr=@"server=localhost\sql2005;database=store_procedure;uid=sa;pwd=;";SqlConnectionsqlConnection=newSqlConnection(connectStr);SqlCom 阅读全文
posted @ 2011-04-11 13:28 rob_2010 阅读(165) 评论(0) 推荐(0)
摘要:存储过程是将具有规律并且经常使用的sql语句,写成可以接受参数的sql语句进行保存起来,给以后进行调用 一、存储过程的格式■■■■■■代码开始■■■■■■CREATE PROCEDURE [存储过程的名称][参数1],[参数2],.AS[语句体]RETURN [返回值]■■■■■■代码结束■■■■■■ 这是我在网上看到最简单的介绍:看了这个,我第一感觉其实存储过程就是一个方法:[存储过程的名称]:方法名[参数1],[参数2]:参数[语句体]:方法体[返回值]:返回值课外知识补充:这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。 当 SET 阅读全文
posted @ 2011-04-11 13:28 rob_2010 阅读(127) 评论(0) 推荐(0)
摘要:写成存储过程,建立作业定时备份~~~ --在sql中映射一下就可以了 exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator' /*--说明: exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator' z:是映射网络路径对应本机的盘符,与下面的备份对应 \\xz\c$是要映射的网络路径 xz\administrator xz是远程的计 阅读全文
posted @ 2011-04-09 10:33 rob_2010 阅读(485) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页