-
将mater库中的系统存储过程批量生成*.sql文件通用且非常实用
大家都知道系统存储过程是无法用工具导出的(大家可以试试>任务>生成SQL脚本)因为系统存储过程一般是不让开发人员修改的。需要知识:1、xp_cmdshell命令的使用2、sp_MS_marksystemobject标记系统存储过程的方法3、dos命令,如type,>>等4、bcp命令的使用复制代码代码如下:usemastergoifOBJECT_ID('pr_procToSql')isnotnulldropprocpr_procToSqlgocreateprocpr_procToSql(@服务器名varchar(100),@用户名varchar(100),@密码varchar(100),@pathvarchar(200),@databasevarchar(200),@sysprocint='0'--是否标记为系统函数1:是,0:否,@proc_namevarchar(100)=''--默认是所有,可以模糊搜索,@savetypevarchar(200)='.sql'--默认保存为sql脚本)as/*版本:v1作者:达摩日期:2012-04-13功能:1将mast...
数据库操作教程 2022-09-23 17:13:58 -
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记录登录用户的登录时间(自写脚本)
前一阵子经理问我能不能把用户最后一次登录我们的业务数据库的时间记录下来,因为之前有人修改过数据库sa用户的登录密码,所以我们要记录一下。我查了一下资料,好像不能记录谁登录过业务库,只能记录谁登录过SQLSERVER数据库版本是SQL2005,操作系统:Windows7下面是本人写的一个脚本,我的实现原理是使用触发器,触发器是登录触发器,范围是整个服务器范围,如果有人登录过,就使用bcp命令把登录信息记录日志文件1、如果原来数据库已经存在触发器把他删掉复制代码代码如下:USEMASTERGODROPTRIGGERtrg_logon_attempttestONALLSERVERGO2、在D盘新建一个文本文件d:Logondata.txt这个文本文件用来记录登录信息3、创建一个登录触发器审核登录事件复制代码代码如下:CREATETRIGGERtrg_logon_attempttestONALLSERVERWITHEXECUTEAS'sa'FORLOGON,ALTER_LOGINASBEGINDECLARE@cmdnvarchar(4000)SELECT@cmd='ECHO'+ORIGINAL...
数据库操作教程 2022-09-23 17:06:44 -
SQLSERVER利用存储过程查看角色和用户信息的写法
1、查看服务器角色相关信息SP_HELPSRVROLESP_HELPSRVROLEMEMBER服务器角色SP_HELPSRVROLE服务器角色2、查看数据库角色相关信息SP_HELPROLESP_HELPROLEMEMBER数据库角色SP_HELPROLE数据库角色3、查看用户相关信息SP_HELPUSERSP_HELPUSER数据库用户名...
数据库操作教程 2022-09-23 17:06:38 -
oracle忘记sys/system/scott用户密码的解决方法
一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS(或SYSTEM)用户登录...
数据库操作教程 2022-09-23 17:01:54 -
sqlserver通用分页存储过程
复制代码代码如下:createproccommonPagination@columnsvarchar(500),--要显示的列名,用逗号隔开@tableNamevarchar(100),--要查询的表名@orderColumnNamevarchar(100),--排序的列名@ordervarchar(50),--排序的方式...
数据库操作教程 2022-09-23 16:57:59 -
MSSQL删除数据库里某个用户所有表里的数据
-->Title:删除数据库里某个用户所有表里的数据-->Author:wufeng4552-->Date:2009-09-2115:08:41--方法1复制代码代码如下:declare@unamevarchar(20)declarecusercursorforselectso.namefromsysobjectsso,sysuserssuwhereso...
数据库操作教程 2022-09-23 16:56:55 -
使SQL用户只能看到自己拥有权限的库(图文教程)
以SQLServer2012为例上图是部分数据库的截图,我们执行复制代码代码如下:DENYVIEWanyDATABASEtoPUBLIC;然后给Best库的Best用户执行复制代码代码如下:ALTERAUTHORIZATIONONDATABASE::BestTOBest资源管理器中Best用户登陆后就只能显示Best库了,同样给Mine库的Mine用户执行相同SQL复制代码代码如下:ALTERAUTHORIZATIONONDATABASE::MineTOMineMine用户登录后也只能显示Mine数据库了,达到了咱的目的,分配权限的时候记得给对应用户映射对应数据库的权限,防止跨库操作....
数据库操作教程 2022-09-23 16:56:47 -
SQLServer通用的分区增加和删除的算法
首先是将一个数据表加入到分区表的方法:[dbo].[SP_Helper_Partition_Add]@SrcTablenvarchar(256),待加入的表@DestTablenvarchar(256),目标表@idxOnDestnvarchar(1024),目标表上的索引创建语句@Partition_func_namenvarchar(256),分区函数@PartColnvarchar(256),分区的列@SonIsParttinyint=1,待加入的表是否分区算法如下:获取到源表的分区列的值;在源表上加上分区列值的唯一性限制;然后确定是否有一个分区恰好能存放这个表;如果不存在,则返回;在源表上创建和目标表一样的索引;现在源表和目标结构一致,源表的内容能够存在目标分区上,使用altertableswitch完成分区;删除一个分区的算法[dbo]...
数据库操作教程 2022-09-23 16:56:10 -
用户"sa"登陆失败SQLServer错误18456的解决方法
用windows账号还是可以登录的。查找问题的过程:第一步:启动所有与SQL有关的服务,问题依旧;第二步:查看windows防火墙,被默认启动了,不启动选择项被Disabled...
数据库操作教程 2022-09-23 16:54:10 -
存储过程实现(可带查询条件/万能分页/通用)
假设数据库中有张表,表名是UserName,字段分别是ID(int),Name(nvarchar),Age(int)。如果不带查询条件存储过程是:复制代码代码如下:CREATEPROCEDURE[dbo].[UserName]@pageIndexint,@pageSizeintASdeclare@minint;declare@maxint;set@min=@pageSize*(@pageIndex-1)+1;set@max=@pageSize*@pageIndex;withmyTableas(selectID,Name,Age,Row_Number()over(orderbyID)asrownumfrom[UserName])selectID,Name,AgefrommyTablewhererownumbetween@minand@maxRETURN这个分页存储过程很不实用,并且表是固定的...
数据库操作教程 2022-09-23 16:47:56 -
如何恢复数据库的账号登录名/用户名等
当我们重装系统,或者是重装数据库之后,当附加数据库之后,发现数据库里面有用户名,但是在sqlserver里面没有登陆名例如先看 用户名 是有他上次系统的用户名的现在我们先去添加这个登录名点击取消进入查询分析器,选择你要修复的数据库sp_change_users_login'report' 这个可以查询当前数据库下的孤立用户 我们只需要选择当前数据库为你要修复的数据库,然后运行sp_change_users_login'update_one','用户名','登录名' 系统就会提示修复了一个孤立用户。重新刷新数据库的用户,会看到用户名和登录名对应了...
数据库操作教程 2022-09-23 16:47:05