随笔分类 -  MSSQL

上一页 1 2 3 4 5 下一页
数据库主体在该数据库中拥有 架构,无法删除解决方法(转)
摘要:先删除此用户对应的架构,然后在删除对应的用户步骤 1。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》构架,先删除对应的构架 2。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》用户,删除对应的用户 其它方法: SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法 --执行如下SQL语句 ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo; --然后手动删除就可以了。但在删除的过程中,可能会出现删除不了的情况,这时候需要手动将已经引用过的架构 阅读全文
posted @ 2013-11-24 00:57 davidkam 阅读(444) 评论(0) 推荐(0)
清空SQL Server数据库中所有表数据的方法(转)
摘要:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程。 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录。 说道删除数据记录,往往马上会想到的是delete和trunca... 阅读全文
posted @ 2013-11-24 00:47 davidkam 阅读(362) 评论(0) 推荐(0)
如何删除数据库中的所有用户表(表与表之间有外键关系)
摘要:1、由表名求字段名create proc up_008(@table varchar(20))asbegin declare @sql varchar(99) select @sql=\'select name from syscolumns where id=object_id(\' select @sql=@sql+\'\'\'\'+@table+\'\'\'\'+\')\' --select @sql exec(@SQL)endexec up_008 a_idx22、编程删除数据库中的用户表c 阅读全文
posted @ 2013-11-24 00:39 davidkam 阅读(938) 评论(0) 推荐(0)
清除数据库中的所有外键约束
摘要:-==============================--DATE:2011-1-4--AUTHOR:DECEL--DESCRIPTION:清除所有的外键约束 --===============================ALTER PROCEDURE [dbo].[Clear_ForeignKeys] as declare @sql varchar(255) declare dropsql_cursor cursor for select 'alter table '+object_name(fkeyid)+' drop constraint '+ 阅读全文
posted @ 2013-11-24 00:35 davidkam 阅读(490) 评论(0) 推荐(0)
SQL删除数据库里所有表的外键,同时删除所有用户表
摘要:SQL删除数据库里所有表的外键,同时删除所有用户表删除所有的用户表的外键,直接将下面的代码拷贝到数据库里执行即可:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950--查询删除前的当前数据库所有约束select * from information_schema.key_column_usagedeclare @TableName nvarchar(250)--声明读取数据库所有数据表名称游标mycursor1declare mycursor1 cursor fo 阅读全文
posted @ 2013-11-24 00:34 davidkam 阅读(479) 评论(0) 推荐(0)
快速删除数据库中所有表中的数据
摘要:快速删除数据库中所有表中的数据今天又学到一招,可以快速删除数据库中所有的用户表中的数据。我是个菜鸟,望各位大神多多指教select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc;该条语句执行之后会将数据库中所有的表都查询出来,复制出来之后执行truncate语句即可sysobjects在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在tempdb内,每个临时对象才在该表中占一行。列名数据类型描述na 阅读全文
posted @ 2013-11-24 00:23 davidkam 阅读(944) 评论(0) 推荐(0)
使用SQL语句清空数据库所有表的数据
摘要:使用SQL语句清空数据库所有表的数据近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句declare@trun_namevarchar(8000)set@trun_name=''select@trun_name=@trun_name+'truncatetable'+[name]+''fromsysobjectswherextype='U&# 阅读全文
posted @ 2013-11-23 23:57 davidkam 阅读(321) 评论(0) 推荐(0)
SAVE TRAN
摘要:USE AdventureWorks;GOIF EXISTS (SELECT name FROM sys.objectsWHERE name = N'SaveTranExample')DROP PROCEDURE SaveTranExample;GOCREATE PROCEDURE SaveTranExample@InputCandidateID INTAS-- Detect if the procedure was called-- from an active transaction and save-- that for later use.-- In the proce 阅读全文
posted @ 2013-05-31 09:13 davidkam 阅读(421) 评论(0) 推荐(0)
MSSQLSERVER数据库- 事务(转)
摘要:我接触.NET编程已经有两年了,在这之前就会一点ASP和SQL语句。刚接触时在网上请教一个从事ASP.NET工作不久的网友,什么是事务? 当时他没答上。事实上我接触.NET这两年里,做一些小例子,也不用到事务。所以我对事务是什么?为什么要有事务?还是这几天才清楚。在理解什么是事务前,先来考虑这么一个问题。为什么要有事务? 假设我们在进行银行转帐的时候,至少会执行两条SQL语句,一条SQL语句是减少转帐人里帐户的钱,一条是增加收帐人里帐户钱。 例如有一个朋友要转帐1000元:1、那么转帐人的银行里的钱减少1000 2、那么收帐人的银行里的钱增加1000 ... 阅读全文
posted @ 2013-05-27 22:38 davidkam 阅读(244) 评论(0) 推荐(0)
SQL用户权限分配(转)
摘要:对于数据库安全,的确是很值得数据库管理员的重视。至于有什么重要性,我就不多说了!赶快进入主题吧!下面以图文并茂的方式,来看看怎么一步步给数据库用户分配权限!环境:SQL Server 2005运行SQL,以数据库管理员身份登录,下面给出测试数据库的脚本代码,需要锻炼动手能力的朋友,可以执行它!CREATEDATABASEteachingGOUSETeachingGOCREATETABLEStudent(Snochar(10)PRIMARYKEY,Snamechar(8),Sageint,Ssexchar(2),Sdeptchar(20))CREATETABLECourse(Cnochar(.. 阅读全文
posted @ 2013-05-27 22:37 davidkam 阅读(652) 评论(0) 推荐(0)
LOG EXPLORER FOR SQL SERVER 4.2 (一)(转)
摘要:前几天因为一个例外,数据库在没有做备份的情况下,直接删除了表记录。事后,又需要查询到删除的记录的内容。因此,在网上软件SS了半天,发现Log Exlorer For SQL Service能实现将表操作日志显示出来的功能。下载安装使用后,发现这款软件的确不错,收藏ing。本次的使用的VER:4.2 Demo; 数据库:SQL2005;目的:恢复被删除的数据。所以,只略说了恢复数据的步骤。4.2Demo的界面以蓝色为主调,运行软件可见:(1).点击<Attach Log File>开始进行数据恢复。(2).确定要恢复数据的服务器,并输入登陆的用户名和密码,如果是本机可使用”windo 阅读全文
posted @ 2013-05-27 22:36 davidkam 阅读(229) 评论(0) 推荐(0)
删除无限极分类的sql存储过程(转)
摘要:CREATEPROCEDURE[dbo].[Category_Delete]@CategoryIdintAS--DELETE [Category]-- WHERE CategoryId=@CategoryId--DELETE [Category]-- WHERE FatherId=@CategoryIddeclare@tabaTABLE([tabid] [int]NOTNULL)insert@taba (tabid)selectCategoryIdfromCategoryWHEREFatherId=@CategoryIddeclare@idintwhile(exists(selecttop1 阅读全文
posted @ 2013-05-27 22:35 davidkam 阅读(210) 评论(0) 推荐(0)
SQL Server数据库并发问题详述(转)
摘要:问题背景及特点:我们在使用多用户数据库时常常会碰到数据更新失败、删除失等情况,如果有多个用户且同时访问一个数据库则当他们的事务同时使用相同的数据时可能会发生并发问题。并发问题包括:1.丢失或覆盖更新。(幻像读)2.未确认的相关性(脏读)。3.不一致的分析(非重复读)。周详描述:1.丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其他事务的存在。最后的更新将重写由其他事务所做的更新,这将导致数据丢失。例如,两个编辑人员制作了同一文件的电子复本。每个编辑人员独立地更改其复本,然后保存更改后的复本,这样就覆盖了原始文件。最后保存其更改复本的编辑 阅读全文
posted @ 2013-05-27 22:34 davidkam 阅读(365) 评论(0) 推荐(0)
SqlBulkCopy批量复制数据(转)
摘要:在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便。而 在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据。数据源可以来自关 系数据库或者XML文件,甚至WebService返回结果。其中最重要的一个类就是SqlBulkCopy类,使用它可以很方便的帮助我们把数据源的数 据迁移到目标数据库中。下面我们先通过一个简单的例子说明这个类的使用:首先:web.config<connectionStrings><addname=" 阅读全文
posted @ 2013-05-27 22:33 davidkam 阅读(261) 评论(0) 推荐(0)
怎么样将sql server数据库中的结构导入到powerdesign中(转)
摘要:最近使用powerdesign12.5,要将一个非常大的库导入powerdesign12.5,方便开发人员查看数据库表字段。反向工程!PD反向工程步骤:1.安装powerdesign12.5,打开powerdesign12.5(简称pd)2.在pd中,新建一个pdm,选择数据库为sql server3.选择Database->configure connections,转到system dsn标签,点击"添加",选择驱动程序,sql server4.在data source name 中,可以随便命名一个"SQL-test",在tns-server 阅读全文
posted @ 2013-05-27 22:32 davidkam 阅读(493) 评论(0) 推荐(0)
百万数据下几种SQL性能测试(转)
摘要:今天闲来学习了一下SQL性能优化方面的知识,有以下学习收获,欢迎大家指点。测试环境:90W,单条记录约3KB,数据库:MSSQL2005测试前清除缓存DBCC FREEPROCCACHEDBCC DROPCLEANBUFFERS一、翻页性能测试1、Topselect top 10 * from message where id not in (select top 20 id frommessage where classid=77 order by id desc ) and classid=77 order by id desc2、Max/Topselect top 10 * from m 阅读全文
posted @ 2013-05-27 22:31 davidkam 阅读(178) 评论(0) 推荐(0)
Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁(转)
摘要:锁有两种分类方法。(1) 从数据库系统的角度来看锁分为以下三种类型:独占锁(Exclusive Lock)独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。共享锁(Shared Lock)共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。更 阅读全文
posted @ 2013-05-27 22:30 davidkam 阅读(242) 评论(0) 推荐(0)
SqlServer之xp_cmdshell_使用以及配置(转)
摘要:SQL Server的导出导入方式有:在SQL Server中提供了导入导出的界面操作。在界面操作中又分【复制一个或多个表或视图的数据】和【编写查询以指定要传输的数据】两种模式,第一种是直接对表、视图进行全部字段、记录进行导出,而第二种就是可以通过SQL语句来控制导出导入的字段和行。使用简单但有用的SQL脚本中的【表复制】这里面的方法。再一种就是在命令行中使用bcp命令来导入导出数据,需要特别说明的是,这是对大数据量导入导出就好的办法。--整个表导出(out)bcp 数据库名.dbo.表名 out c:\currency.txt-S"数据库实例"-U"用户&quo 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(1181) 评论(0) 推荐(0)
sql server清空日志文件(转)
摘要:1: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库2:删除LOG文件3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有520多K 再将此数据库设置自动收缩或用代码:下面的示例分离 77169database,然后将 77169database 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = "77169database"EXEC sp_attach_single_file_db @dbname = "77169database", @ph 阅读全文
posted @ 2013-05-27 22:29 davidkam 阅读(212) 评论(0) 推荐(0)
SQL Server数据库中批量替换数据的方法(转)
摘要:SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧…… SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解一下吧。 方法一: 这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容,varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace,替换text nt... 阅读全文
posted @ 2013-05-27 22:28 davidkam 阅读(872) 评论(0) 推荐(0)

上一页 1 2 3 4 5 下一页