SQLSERVER中的系统存储过程的使用的总结

-----------------------------系统存储过程--------------------------------

--列出SQL Server实例中的数据库
sp_databases
--返回SQL Server、数据库网关或基础数据源的特性名和匹配值的列表
sp_server_info
--返回当前环境中的存储过程列表
sp_stored_procedures
--返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)
sp_tables
select * from sysobjects
---添加或更改SQL Server登录的密码。
sp_password  @new=null,@loginame=‘sa‘
--将登录 Victoria 的密码更改为 ok。
EXEC sp_password NULL, ‘ok‘, ‘Victoria‘
--将登录 Victoria 的密码由 ok 改为 coffee。
EXEC sp_password ‘ok‘, ‘coffee‘

--更改配置选项
use master
go
exec sp_configure ‘recovery interval‘,‘3‘
reconfigure with override
go

--查看数据库文件
sp_helpdb tmp
use tmp
go
sp_helpfile
go
--分离数据库
use master
go
sp_detach_db tmp
go
--sp_helpdb tmp          --error
--go
--附加数据库
sp_attach_db tmp,@filename1=‘E:\DB\tmp_dat.mdf‘,@filename2=‘E:\DB\tmp_log.ldf‘
go
sp_helpdb tmp
go
--添加磁盘转储设备
use master
go
exec sp_addumpdevice ‘disk‘,‘mydiskdump‘,‘E:\DB\dump1.bak‘
go
select * from sysdevices
go
--sp_dropdevice mydiskdump
--go
--备份整个tmp数据库
backup database tmp to mydiskdump
go
--备份日志
exec sp_addumpdevice ‘disk‘,‘dump2‘,‘E:\DB\dump2.bak‘
--sp_dropdevice dump2
backup log tmp to dump2
--还原完整数据库
restore database tmp from mydiskdump with norecovery
--还原日志
restore log tmp from dump2 with norecovery
--添加磁带备份设备
use master
go
EXEC sp_addumpdevice ‘tape‘, ‘tapedump1‘,‘\\.\tape0‘
go
--删除设备
sp_dropdevice ‘dump2‘

--把数据库文件设置为只读
restore database tmp from mydiskdump
go
sp_dboption ‘tmp‘,‘read only‘,true
go
--取消设置
sp_dboption ‘tmp‘,‘read only‘,false
go
--更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
use tmp
go
sp_rename sa,SA 
select * from SA
--把数据库文件设置为自动周期性收缩
exec sp_dboption ‘tmp‘,autoshrink,true
go
--同一时间内只有一个用户可以访问这个数据库
exec sp_dboption ‘tmp‘,‘single user‘
go
exec sp_dboption ‘tmp‘,‘single user‘,false
go
--压缩数据库文件,并允许其有10%的未用空间
dbcc shrinkdatabase(pubs,10)
go

--创建自定义数据类型
exec sp_addtype City,‘nvarchar(15)‘,null
go
--删除自定义数据类型
exec sp_droptype City
go

时间: 2024-10-27 05:58:09

SQLSERVER中的系统存储过程的使用的总结的相关文章

SqlServer中的系统数据库

SqlServer中的系统数据库有五个,平时写代码不太关注,今天一时兴起研究了一下. 1. master 记录SQL Server系统的所有系统级信息,例如:登陆账户信息.链接服务器和系统配置设置.记录其他所有数据库的存在.数据文件的位置.SQL Server的初始化信息等.如果master数据库不可用,则无法启动SQL Server. 2.msdb 用于SQL Server代理计划警报和作业.数据库定时执行某些操作.数据库邮件等. 3.model 用作SQL Server实例上创建的所有数据库

sqlserver中自定义函数+存储过程实现批量删除

由于项目的需要,很多模块都要实现批量删除的功能.为了方便模块的调用,把批量删除方法写成自定义函数.直接上代码. 自定义函数: ALTER FUNCTION [dbo].[func_SplitById] (@str varchar(50),@split varchar(10))--传过来的id字符串 --分割的标志 RETURNS @t Table (id int) --返回一个表 AS BEGIN DECLARE @x XML --进行拼接 SET @x = CONVERT(XML,'<item

Sqlserver中存储过程,触发器,自定义函数(一)

Sqlserver中存储过程,触发器,自定义函数 1.存储过程有关内容存储过程的定义:存储过程的分类:存储过程的创建,修改,执行:存储过程中参数的传递,返回与接收:存储过程的返回值:存储过程使用游标. 1.1存储过程的定义:存放在服务器上预先编译好的sql语句,可以给存储过程传递参数,也可以从存储过程返回值. 优点:提供了安全访问机制,比如可以将不同的存储过程的执行权限赋予权限不同的用户:改进了执行性能,因为存储过程是预编译的:减少了网络流量,因为在调用存储过程时,传递的字符串很短,没有很长的s

Sqlserver中存储过程,触发器,自定义函数

Sqlserver中存储过程,触发器,自定义函数: 1. 触发器:是针对数据库表或数据库的特殊存储过程,在某些行为发生的时候就会被激活 触发器的分类: DML触发器:发生在数据操作语言执行时触发执行的存储过程,Insert,Update,Delete After触发器:记录被改变之后激活执行 Instead of触发器:记录被改变之前激活执行. DDL触发器:响应数据定义语言执行时触发执行的存储过程,一般用于执行数据库中的管理任务 审核和规范数据库的操作: 防止数据表结构被更改或删除 2. ht

SqlServer 系统存储过程

exec sp_databases; --查看数据库exec sp_tables; --查看表exec sp_columns Categories;--查看列exec sp_helpIndex Categories;--查看索引exec sp_helpConstraint Categories;--约束exec sp_stored_procedures;exec sp_helptext 'sp_stored_procedures';--查看存储过程创建.定义语句exec sp_rename st

使用系统存储过程来监控SQLServer进程和会话详解

 承接上文,本文讲述如何使用系统存储过程来监控系统. SQLServer同样也提供了一系列系统存储过程用于监控SQLServer,获取当前进程.会话.请求以及锁定的详细信息.本文将演示系统存储过程来实现这些监控. 情景: 有时候你会发现应用程序突然变得很慢,经常需要等待数据库响应,此时你需要快速查看是否请求被阻塞或者挂起. 准备工作: 在本文中,将使用以下存储过程来获取当前进程的信息: Sp_who Sp_who2 步骤: 1.  打开SSMS连到SQLServer实例并打开新查询窗口. 2

Sqlserver 中系统表sysobjects、syscolumns以及函数object_id

1.sysobjects 系统对象表. 保存当前数据库的对象,如约束.默认值.日志.规则.存储过程等 sysobjects 重要字段解释: sysObjects ( Name sysname, --object 名称 id int, --object id xtype char(2), -- object 类型 type char(2), -- Object 类型(与xtype 似乎一模一样) uid smallint, -- object 所有者的ID ... --其他的字段不常用到. ) ?

SqlServer中存储过程中将Exec的执行结果赋值给变量输出

背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字段值,然后再利用这些值进行逻辑运算(自己的逻辑),最后将结果输出.话不多说,直接上图,看是否是你想要的结果: 说明:[区域1为要用来测试的表][  区域2 为表中数据][区域3 为表中数据jan+feb+mar列值的和5] 存储过程代码如下: 从上图可以看出既然可以拿到jan .feb.mar列的值,后面再做自己的判断就容易了.不再赘述. 由于学艺不精,上述结论是受别人

SQLServer 中存储过程

SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)存储过程有三种返回:   1.   用return返回数字型数据   2.   用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)   3.   直接在存储过程中用select返回结果集,可以是任意的select语句,这意味着是任意的返回结果集 方法一:用return返回数字型数据 1. 创建存储过程--SQLSERVER 2005示例数据库USE Adventur