随笔分类 -  SQLServer

摘要:问题背景:公司的一台数据库服务器上放在多个数据库,每个数据库都使用不同的登录名称,但在将项目文件发布到Ftp时,有些Ftp的信息是在客户那边的一旦客户那边使用配置文件中的数据库信息连接到数据库他就能够看到服务器上所有的数据库,虽然它不能访问其他的数据库但还是有安全隐患的现在我需要的是指定的登录用户只... 阅读全文
posted @ 2015-12-25 20:26 ShenJH.NET 阅读(1669) 评论(0) 推荐(0)
摘要:在配置数据同步的时候,要求相互同步的两台机器的数据库必须通过默认实例名称进行连接。如果你的默认实例已经删掉了,在当前实例上进行新建发布操作时候,会提示你:“由于未在SqlServer的此实例上安装复制组件,Microsoft SQL server 无法访问这些组件,请参阅SQL Server……” 注意下面还有一个附加的提示,它的意思就是说默认实例名和当前的实例名称不一致。其实这个才是导致不能复制的主要原因。把它解决了,你就可以进行复制了。 产生的原因是因为安装完SqlServer之后,又修改了计算机的名称。解决“SqlServer复制需要有实际的服务器名称才能连接到服务器。不支持通过... 阅读全文
posted @ 2013-01-15 08:34 ShenJH.NET 阅读(5600) 评论(0) 推荐(0)
摘要:许多初学者在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,大致的错误描述如下:An error has occurred while establishing a connection to the server.(provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 5)An error has occurred while estab. 阅读全文
posted @ 2013-01-15 08:19 ShenJH.NET 阅读(572) 评论(0) 推荐(0)
摘要:触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有cr 阅读全文
posted @ 2012-09-05 10:57 ShenJH.NET 阅读(150) 评论(0) 推荐(0)
摘要:通过windows数据源管理,建立ODBC数据源1.打开控制面板,管理工具2.打开数据源3.选择你要操作的数据库类型(比如Sql Server)4.输入相应的数据库参数1.在“服务器(s)”选项中,选中或填写计算机名称2.在“名称(M)”中,随便填写一个字符串,如canyoung3.点击“下一步”5.创建到SQL Server的数据源1、使用用户输入登陆ID和密码的Sql Server验证2、在“登陆ID”中填写数据库登陆用户名,如krs3、在“密码”中填写用户名密码,如123456下一步下一步完成逆向工程File-àReverse Engineer--àDataBase在 阅读全文
posted @ 2012-06-29 23:38 ShenJH.NET 阅读(341) 评论(0) 推荐(0)
摘要:declare @t table(成绩 int,学生 varchar(10))insert @t select100,'小张' union select 70 ,'小力' union select 80 ,'小刚' union select 78 ,'小王'select *,Pid = (select count(1) from @t where 成绩 > a.成绩)+1from @t aorder by pid/*成绩 学生 Pid ----------- ---------- ----------- 100 ... 阅读全文
posted @ 2012-06-28 12:50 ShenJH.NET 阅读(220) 评论(0) 推荐(0)
摘要:在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值。如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入操作,那么,在语句执行后立即调用 @@IDENTITY 将返回触发器生成的最后一个标识值。如果对包含标识列的表执行插入操作后触发了触发器,并且触发器对另一个没有标识列的表执行了插入操作,则 @@IDENTITY 将返回第一次插入的标识值。出现 IN. 阅读全文
posted @ 2012-01-06 08:25 ShenJH.NET 阅读(222) 评论(0) 推荐(0)
摘要:注意:在xp_cmdshell后面的SQL语句不允许换行。--从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/**//*===================================================================*/--如果接受数据导入的表已经存在insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)--如果导入数据并生成表 阅读全文
posted @ 2011-11-03 22:09 ShenJH.NET 阅读(276) 评论(0) 推荐(0)
摘要:select top 100 State, JoinState, ( case when State = 1 and Joinstate = 0 then 2 when State = 1 and JoinState = 1 then 1 else 0 end) as usestate from UserInfo 阅读全文
posted @ 2011-11-03 21:57 ShenJH.NET 阅读(1269) 评论(0) 推荐(0)
摘要:--数据库备份BACKUP DATABASE demo TO DISK='E:\demo.bak'--数据库还原declare @DBName varchar(20)declare @Name varchar(50)declare @NamePath varchar(500)declare @LogName varchar(50)declare @LogNamePath varchar(500)declare @soursePath varchar(500)set @DBName = 'demo'set @soursePath = 'E:\demo.ba 阅读全文
posted @ 2011-11-03 21:53 ShenJH.NET 阅读(331) 评论(0) 推荐(0)
摘要:表: consume_record字段:consume(money类型) date(datetime类型)请问怎么写四条SQL语句分别按日,按周,按月,按季统计消费总量.如: 1月1200元2月3400元3月2800元--按日 select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date]) --按周quarter select sum(consume),datename(week,[date]) from consume_record whe 阅读全文
posted @ 2011-11-03 21:51 ShenJH.NET 阅读(268) 评论(0) 推荐(0)
摘要:查某库多数表占用空间--查数据库中多数表占用的空间CREATE TABLE TMP (name varchar(50),rows int,reserved varchar(50),data varchar(50),index_size varchar(50),unused varchar(50))GOINSERT INTO tmp (name,rows,reserved,data,index_size,unused) EXEC sp_msforeachTable @Command1="sp_spaceused '?'"SELECT *,CONVERT(int 阅读全文
posted @ 2011-11-03 21:30 ShenJH.NET 阅读(327) 评论(0) 推荐(0)