-
通过系统数据库获取用户所有数据库中的视图、表、存储过程
复制代码代码如下:--设置sql可以获取实例名称sp_configure'xp_cmdshell',1;goreconfigure;go--获取实例名EXECsys.xp_cmdshell'sqlcmd-Lc'--获取所有数据库Select*FROMMaster..SysDatabasesorderbyName--获取数据库所有表useyeekang---数据库名称select*fromsysobjectswhere type='U'orderbyname--获取指定表字段select*fromsyscolumnswhereid=OBJECT_ID('Userinfo')SELECT表名=casewhena.colorder=1thend.nameelse''end,表说明=casewhena.colorder=1thenisnull(f.value,'')else''end,字段序号=a.colorder,字段名=a.name,标识=casewhenCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1then'√'else''en...
数据库操作教程 2022-09-23 17:54:37 -
一次性压缩Sqlserver2005中所有库日志的存储过程
有没有办法更快一点?有没有办法一次性收缩所有数据库?复制代码代码如下:alterdatabase数据库名setrecoverysimplegodbccshrinkdatabase(数据库名)goalterdatabase数据库名setrecoveryfullgo目前也有压缩日志的工具,一个B/S界面形式的操作压缩数据库的...
数据库操作教程 2022-09-23 17:28:52 -
解决SQLServer的“此数据库没有有效所有者”问题
在附加数据库后查看不了数据库关系图,也无法建立数据库关系图我的解决方法如下: 1、设置兼容级别为90(2005为90)(2000为80)复制代码代码如下:USE[master]GOEXECdbo.sp_dbcmptlevel@dbname='数据库名',@new_cmptlevel=90GO [这条命令执行完毕:报“DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系”,不管它哦,接下来点击“数据库关系图”,报“此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建”,选择“是”,问题解决了] 或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90)然后确定...
数据库操作教程 2022-09-23 17:25:39 -
此数据库没有有效所有者,因此无法安装数据库关系图支持对象
在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTERAUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象...
数据库操作教程 2022-09-23 17:18:55 -
在SQLServer中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
这个问题对于规模稍微大些的项目而言,显得尤其重要了,数据库中如果有几百个存储过程,难道还一个个找不成,即使自己很了解业务和系统,时间长了,也难免能记得住。如何使用SQL语句进行查询呢?下面就和大家分享下SQL查询的方法:复制代码代码如下:selectdistinctnamefromsyscommentsa,sysobjectsbwherea.id=b.idandb.xtype='p'andtextlike'%pro_GetSN%'上面的蓝色字体部分表示要查询的存储过程的名称...
数据库操作教程 2022-09-23 17:16:50 -
SQL统计一个数据库中所有表记录的数量
复制代码代码如下:CREATETABLE#tmptb(tbnamesysname,tbrowsint...
数据库操作教程 2022-09-23 17:16:35 -
sql查看所有表大小的方法
复制代码代码如下:declare@id intdeclare@type character(2) declare@pages int declare@dbname &nbs...
数据库操作教程 2022-09-23 17:15:59 -
sqlserver通用的删除服务器上的所有相同后缀的临时表
复制代码代码如下:usetempdbifobject_id('tempdb..#table')isnotnulldroptabletempdb..#tableselectnameintotempdb..#tablefrom(select*fromsysobjectswherextype='U')awherea.namelike'%test_select'declare@tablevarchar(100),@countintselect@count=count(name)fromtempdb..#tablewhile(@count>0)beginselecttop1@table=namefromtempdb..#tableexec('ifobject_id('''+@table+''')isnotnulldroptable'+@table+'deletefromtempdb..#tablewherename='''+@table+'''')set@count=@count-1enddroptabletempdb..#table建议:尽量不要大量使用临时表,因为使用tempdb库会使...
数据库操作教程 2022-09-23 17:09:11 -
SQLserver删除某数据库中所有表实现思路
方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下复制代码代码如下:--删除所有约束DECLAREc1cursorforselect'altertable['+object_name(parent_obj)+']dropconstraint['+name+'];'fromsysobjectswherextype='F'openc1declare@c1varchar(8000)fetchnextfromc1into@c1while(@@fetch_status=0)beginexec(@c1)fetchnextfromc1into@c1endclosec1deallocatec1--删除数据库所有表declare@tnamevarchar(8000)set@tname=''select@tname=@tname+Name+','fromsysobjectswherextype='U'select@tname='droptable'+left(@tname,len(@tname)-1)exec(@tname)然后清空数据库中的所有表:...
数据库操作教程 2022-09-23 17:06:51 -
sqlserver2012数据库所有表里查找某字符串的方法
复制代码代码如下:USE[数据库名称]; --1.定义需要查找的关键字。在搜索中,使用模糊搜索:LIKE'%@key_find%' DECLARE@key_findNVARCHAR(MAX)='123';--假设是找字符串"123" --2.用游标Cursor_Table,遍历所有表 DECLARECursor_TableCURSORFOR SELECTnamefromsysobjectsWHERExtype='u'ANDname<>'dtproperties'; OPENCursor_Table; DECLARE@tableNameNVARCHAR(MAX); FETCHNEXTfromCursor_TableINTO@tableName; WHILE@@fetch_status=0 BEGIN DECLARE@tempSQLTextNVARCHAR(MAX)=''; &...
数据库操作教程 2022-09-23 17:06:04 -
Sql批量替换所有表中内容
复制代码代码如下:declare@tvarchar(255),@cvarchar(255)declaretable_cursorcursorforselecta.name,b...
数据库操作教程 2022-09-23 17:04:45