当前位置:文档之家› SQL Server 企业管理器

SQL Server 企业管理器

SQL Server 企业管理器
SQL Server 企业管理器

SQL Server 企业管理器

SQL Server 企业管理器是用来对本地或远程服务器进行管理操作的服务器管理工具,它提供了一个遵从 MMC 标准的用户界面。

企业管理器的功能

●定义 SQL Server 实例组。

●将个别服务器注册到组中。

●为每个已注册的服务器配置所有 SQL Server 选项。

●在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。

●在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。

●通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。

●唤醒调用为 SQL Server 定义的各种向导。

1.2.1企业管理器界面及基本操作

在“开始”菜单的“程序”级联菜单中,选择Microsoft SQL Server程序组中的“企业管理器”选项,即可启动SQL企业管理器界面如图1-14所示。

企业管理器的操作界面和Windows的资源管理器类似,左侧窗口为层状的树型结构,右侧窗口显示左侧窗口中选择对象的相关信息。

整个结构的最上层为Microsoft SQL Server,表示所有的SQL Server,下面划分为组,称为Server 组,每组可以包含多台计算机。但对于新安装的SQL Server而言,只包含一个Server组和一个SQL Server 服务器(其中的DYC(Windows NT))。这里我们可以通过在“SQL Server组”上面右击鼠标,在打开的快捷菜单上,选择“新建SQL Server组”来添加一个SQL Server组,也可以选择“新建SQL Server 注册”来向组中添加一个SQL Server服务器。

下面我们通过利用企业管理器查看数据库等基本对象,说明企业管理器的基本操作。

1.查看数据库

展开选择的服务器的“数据库”选项,可看到系统提供的数据库和用户自己建立的数据库.新安装SQL Server 后,默认有下面几个内置的数据库:

·master数据库该数据库记录了SQL Server系统的所有系统级别信息.它记录所有的登陆帐户和系统配置设置。

·tempdb数据库该数据库保存所有的临时表和临时存储过程。

·model数据库该数据库用作在系统上创建的所有数据库的模板。

·msdb数据库该数据库供SQL Server代理程序调度警报和作业以及记录操作员时使用。

·Pubs和Northwind数据库这是SQL Server提供的两个范例数据库。

利用企业管理器可以查看数据库的内容。具体步骤如下:

在左侧窗口中,选择要查看的数据库,并在上面右击鼠标,将鼠标指向“查看”,进而选择“任务板”。右侧窗口中即可显示出该数据库的“常规”内容,如图1-15所示。

图1-15数据库内容

表是数据库中存放数据的地方,在企业管理器中,可以很方便地查看表的结构和表的内容。

具体步骤如下:

展开要查看表的数据库,选择“表”,进而在要查看的表上右击鼠标,单击“设计表”命令。此时,打开相应表的结构窗口。如图1-16所示。

图1-16表的结构窗口

3.查看表的内容

选择要查看的表,右击鼠标,选择“打开表”,进而选择“返回所有行”命令,即可查看选项表的内容,如图1-17所示.。

图1-17表的内容

4.查看登录帐号

在安装SQL Server后,系统默认创建两个登录帐号,展开服务器组和服务器,展开“安全性”文件夹,

图 1-18登录帐号,

默认登陆帐号的含义如下:

· BUILTIN \ Administrators 凡是属于Windows NT Server / 2000中Administrators组的帐号都允许登陆SQL Server。

· sa 超级管理员帐号,允许SQL Server的系统管理员登陆, 此SQL Server的管理员不一定是Windows NT Server / 2000 的管理者。

我们也可以在“登录”选项上面右击鼠标,选择“新建登录”命令建立一个用户登录帐号。

5.查看数据库用户和角色

用户是对数据库有存取权限的使用者,角色是一组数据库用户的集合。数据库中的角色可以根据需要添加。用户如果被加入到某一角色,则将具有该角色所拥有的权限。

展开相应数据库后,选择“用户”选项,此时,右侧窗口中出现数据库中的用户,如图1-19所示。

图1-19数据库用户

在该图中master数据库只有两个用户:guest和dbo。其中dbo的登录名为sa,双击相应的用户,即可进一步查询该用户的属性。

要查看数据库的角色,可在左侧窗口中选择“角色”选项,右侧窗口中即可显示出数据库所包含的角色,如图1-20所示。

图1-20数据库的角色

双击要查看的数据库角色,可进一步显示角色的属性。

1.2.2创建数据库和表

创建新数据库的操作步骤如下:

(1)打开企业管理器,依次展开M icrosoft SQL Servers,SQL Server 组和DYL(Windows NT)。选择“数据库”文件夹,右击鼠标,选择“新建数据库”命令,弹出“数据库属性”对话框,如图1-21所示。

图1-21数据库属性

在“数据库属性”对话框的“名称”文本框中输入新建数据库的名字,例如:XYGLK2002

(2)单击“数据文件”标签,打开“数据文件”选项卡。

在该选项卡中,设置数据文件的名称,位置及大小,如图1-22所示。

图1-22数据库文件所在的路径

我们先指定数据库文件所在的路径,这里我们选择F:/SQLServer2002,并选择“文件自动增卡”复选框。

(3)单击“事务日志”标签,打开“事务日志”选项卡,如图1-23所示,该选项卡用于设置事务日志文件的名称,位置及大小。

图1-23事务日志文件的位置

同上我们选择事务日志文件的位置,这里我们选择F:/ SQLServer2002,并选择“文件自动增卡”复选框。

(4)单击“确定”按钮,即可创建XYGLK2002数据库。

2.创建表

数据库建立后,接下来我们在该数据库下建立存储数据的表。操作步骤如下:

(1)展开“数据库”文件夹,再展开XYGLK2002数据库文件夹,在“表”选项上右击鼠标,选择“新建表”命令,打开表设计器窗口。

(2)在“列名“栏中依次输入表的字段名,并设置每个字段的数据类型,长度等属性。输入完成后的XY表如图1-24所示

图1-24XY表

图1-25

(3) 字段设置完成后,单击工具栏上的“保存”按钮,打开“选择名称”对话框,输入XY,如图1—26所示。

图1-26

单击确定按钮,即可创建XY表。

3.记录的录入和修改

要为表添加数据操作步骤如下:

展开“数据库”文件夹再展开xyglk2002数据库文件夹在“表”选项上右击鼠标,选择“打开表”命令直接录入数据,如图1-27所示。

图1-27直接录入数据

4.创建索引

用企业管理器创建索引的操作步骤如下:

(1)在要创建索引的表上右击鼠标,选择“所有任务”中的“管理索引”选项命令,打开“管理索引”对话框,如图1-28所示。

图1-28管理索引对话框

(2) 在管理索引对话框中。首先要选择相应的数据库和要创建索引的表,下面的列表框显示了选中表的索引,下面的按钮可用来进行对索引的编辑,删除等操作。

(3) 单击“新建”按钮,打开新建索引对话框,如图1-29 所示。

图1-29索引名称文本框

在“索引名称”文本框中输入索引名称,在下面的列表框中可以选择使用的列。在“索引选项”选项组中显示了索引的各个特征选项,其部分含义如下:

·聚集索引选中表示创建聚集索引;未选中表示创建非聚集索引。

·唯一值选中表示创建唯一索引。

5.创建视图

在企业管理器中,创建视图的操作步骤如下:

(1)打开企业管理器,在相应的数据库文件夹下,我们选择XYGLK2002数据库,右单击“视图”文件夹,然后执行“新建视图”命令,打开新建视图对话框如图1-30所示。

图1-30

图1-31

(3)在“添加表”对话框中,选择相应的表或视图,单击“添加”按钮。这里我们选择XY,CJ两个表后,单击“关闭”按钮,返回到新建视图对话框。

(4)在添加表后的新建视图对话框中,有我们添加的XY和CJ表,并且显示出它们之间的关联。

这时我们可以选择表中要添加到视图的相应字段,我们选择学号、姓名、课程编号、成绩字段。如图1-32所示。

图1-32

(5)选择字段后,单击工具栏上的“保存”按钮。在弹出的对话框中输入视图的名称,这里我们输入如图1-33所示。

单击“确定”按钮,即可实现视图的创建。

SQL SERVER 企业管理器操作指南

使用SQL企业管理器管理我的SQL空间

1、如果您的SQL空间开通以后,请打开您本地的SQL server 企业管理器(如果您没有安装SQL Server企业管理器,请先安装),如下图:

2、点SQL server 组右键,选择新建SQL server 注册,如下图:

3、弹出SQL server 注册向导,点下一步,如下图:

4、可用的服务器填写,您订单中的服务器IP地址,然后点添加,如下图:

5、您添加的服务器IP即可增加到右侧,然后点下一步,如下图:

6、按下图选择连接使用方式,点下一步;

7、按下图所示,按您的订单中显示的SQL用户名和密码,分别填写后,点下一步;

8、完成SQL server 注册,点击完成,如下图:

9、显示注册成功。(如果总是提示失败,请检查您的局域网是否开放了1433端口,同时检查您的SQL链接超时时间,SQL默认超时时间为4

秒,建议改成60秒---在SQL server 企业管理器=>工具=>选项=>高级。)

10、完成SQL server 注册后,在左侧列表中即可看到我们的远程服务器,如下图:

11、点击我们的远程服务器,展开,再展开数据库,显示出服务器上的数据库列表,请找到您的订单中显示的数据库名称,点击展开,如下图:

12、在表上点击右键,选择所有任务,选择导入数据,如下图所示:

13、弹出数据导入向导,如下图:

14、选择您原来存放数据库的服务器及登陆方法,如下图所示:

15、选择目的,即为本公司的远程服务器,一般下图的内容不用修改;

16、点下一步后,按下图选择,再点下一步;

17、选择您想要导入的表、视图等数据内容,如下图所示:

18、可以点击全选,也可以手动选择;

19、选好后,点击下一步,弹出下面的图示,按提示,点下一步,完成。

20、至此,您已经设置好了数据库,然后修改您程序中的数据库链接,按您订单里面显示的服务器IP地址、数据库名、登陆用户名、登陆密码进

行修改,即可进行数据库链接。

SQLSERVER操作命令

SQLSERVER数据库操作 ******操作前,请确定SQL的服务已经开启******** 一:登录进入sql数据库 1、开始---所有程序---Microsoft SQL Server 2005---SQL Server Management Studio Express 2、此时出现“连接到服务器”的对话框, “服务器名称”设置为SQL数据库所在机器的IP地址 “身份验证”设置为SQL Server身份验证或者Windows 身份验证 填写登录名和密码后,点击“连接”按钮,即可进入到SQL数据库操作界面。 二:新建数据库 登录进去后,右击“数据库”,选择—“新建数据库” 设置数据库名称,在下面的选项卡中还可以设置数据库的初始大小,自动增长,路径。 点击确定,一个数据库就建好了。 三:如何备份的数据库文件。 登录进入后,右击相应的需要备份数据库----选择“任务” 目标下的备份到,点击“添加”按钮可以设置备份数据库保存的路径。 四:如何还原备份的数据库文件。(以本地机器为例子) 1、设置服务器名称,点击右边的下拉框的三角,选择“浏览更多…”。 此时出现查找服务器对话框,选择“本地服务器”---点开“数据库引擎”前面 的三角---选中出现的服务器名称—确定。 (注:可以在“网络服务器”选项卡中设置网络服务器) 2、设置身份验证,选择为“windows身份验证” 3、点击连接按钮,进入数据库管理页面 4、右击“数据库”,选择“还原数据库”,出现还原数据库的对话框 还原的目标----目标数据库,这里设置数据库的名字 还原的源----选择“源设备”,在弹出的对话框中点击“添加”按钮,找到所备 份的数据库文件,确定。 5、此时,在还原数据库对话框中会出现所还原的数据库的信息。在前面选中所需还 原的数据库。确定。 6、为刚刚还原的数据库设置相应的用户。 a点开“安全性”---右击“登录名”---新建登录名 b 设置登录名(假如为admin),并设置为SQL Server身份验证,输入密码,去除 “强制实施密码策略”前的勾。 C 找到导入的数据库,右击此数据库----选择“属性”,在选择页中,点击“文件” 设置所有者,点击右边的按钮,选择“浏览”,找到相应的用户(如admin)。确 定。。 7、此时重新以admin的身份进入,就可操作相应的数据库。

SQLServer企业管理器和查询分析器

SQL Server企业管理器和查询分析器 如果主数据库发生故障,那么微软的SQL Server可能会怦然倒下。看看如何面对这种事件,了解如何用企业管理器和查询分析器修复主数据库。 作为一名微软SQL Server的管理员,您必须知道如何修复一个崩溃的主数据库。主数据库保存有您的登录信息,以及最重要的、指向您所有数据库的指针。如果没有主数据库,您就无法成功地启动SQL Server。在本文里,我将向您介绍在发生崩溃的情况下如何修复主数据库,并告诉您如何重建主数据库,如果有必要的话。 制定预案 制定一个应对崩溃和/或主数据库故障的预案十分重要。这将有助于您在碰到灾难的情况下按照既定的方法进行处理,而不是迫于压力仓促作出反应。我碰到过很多很容易就陷入惊慌的状况,但是由于保持冷静并按照正确的方法来处理问题,我最后成功地度过了所有的困境。 如何判断主数据库已经崩溃 在正式开始讨论碰到系统故障如何修复和重建的主数据库之前,我们需要先了解如何辨别它已经崩溃了。要说明这一点,我会弄垮一个主数据库,告诉您主数据库崩溃会发生什么样的症状。 现在让我们假设您的公司碰到了电涌,造成SQL Server重启。在重新启动的时候,SQL Server却没有正常启动。如果查看错误日志(图A),您会看到主数据库崩溃或者丢失。既然您知道需要查看什么信息,那就让我们看看如何修复主数据库。 图A 修复您的主数据库

修复主数据库的第一步是使用“重建向导(Rebuild Wizard,Rebuildm.exe),它放在 \Program Files\Microsoft SQL Server\80\Tools\BINN目录下。现在就让我们来看看重建向导是如何工作的。 双击Rebuildm.exe启动图B所示的对话框: 图B 在这个对话框里,您可以指定数据库服务器的修复设置,以及原始安装的数据文件的 位置。要让这一过程更容易和更快,就要把x86目录从SQL的光盘上复制到硬盘上,并把指向改到本地的副本。一旦验证完了所有的信息,点击“重建(Rebuild)”。然后系统就会提示您确认操作,如图C所示: 图C 点击“确定(Yes)”。一旦重建过程完成,您会看到一条重建成功的消息。您现在就有了一个全新的主数据库,准备好修复主数据库了。 首先,打开命令行提示符,输入\Program Files\Microsoft SQL Server\MSSQL\BINN\目录下的sqlservr.exe –c –m命令,启动单用户模式下的SQL Server。结果如图D所示:

SQLServer企业管理器

SQL Server 企业管理器 SQL Server 企业管理器是用来对本地或远程服务器进行管理操作的服务器管理工具,它提供了一个遵从 MMC 标准的用户界面。 企业管理器的功能 ●定义 SQL Server 实例组。 ●将个别服务器注册到组中。 ●为每个已注册的服务器配置所有 SQL Server 选项。 ●在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。 ●在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。 ●通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。 ●唤醒调用为 SQL Server 定义的各种向导。 1.2.1企业管理器界面及基本操作 在“开始”菜单的“程序”级联菜单中,选择Microsoft SQL Server程序组中的“企业管理器”选项,即可启动SQL企业管理器界面如图1-14所示。 图1-14企业管理器的操作界面

整个结构的最上层为Microsoft SQL Server,表示所有的SQL Server,下面划分为组,称为Server 组,每组可以包含多台计算机。但对于新安装的SQL Server而言,只包含一个Server组和一个SQL Server 服务器(其中的DYC(Windows NT))。这里我们可以通过在“SQL Server组”上面右击鼠标,在打开的快捷菜单上,选择“新建SQL Server组”来添加一个SQL Server组,也可以选择“新建SQL Server 注册”来向组中添加一个SQL Server服务器。 下面我们通过利用企业管理器查看数据库等基本对象,说明企业管理器的基本操作。 1.查看数据库 展开选择的服务器的“数据库”选项,可看到系统提供的数据库和用户自己建立的数据库.新安装SQL Server 后,默认有下面几个内置的数据库: ·master数据库该数据库记录了SQL Server系统的所有系统级别信息.它记录所有的登陆帐户和系统配置设置。 ·tempdb数据库该数据库保存所有的临时表和临时存储过程。 ·model数据库该数据库用作在系统上创建的所有数据库的模板。 ·msdb数据库该数据库供SQL Server代理程序调度警报和作业以及记录操作员时使用。 ·Pubs和Northwind数据库这是SQL Server提供的两个范例数据库。 利用企业管理器可以查看数据库的内容。具体步骤如下: 在左侧窗口中,选择要查看的数据库,并在上面右击鼠标,将鼠标指向“查看”,进而选择“任务板”。右侧窗口中即可显示出该数据库的“常规”内容,如图1-15所示。 图1-15数据库内容 2.查看表

Oracle企业管理器

第4章Oracle企业管理器

本章内容 p OEM简介 p OEM的启动与登录 p OEM联机帮助 p数据库控制OEM功能界面介绍p OEM控制台设置

本章要求 p了解Oracle 10g OEM的功能及其分类p了解数据库控制OEM启动与登录 p了解数据库控制OEM 联机帮助的使用p了解数据库控制OEM功能界面 p掌握数据库控制OEM的设置

4.1 OEM简介 p基本概念 n Oracle 10g企业管理器(Oracle Enterprise Manager,简称OEM)是一个基于Java框架开发的集成化管理工具,采用Web应用方式实现对Oracle 运行环境的完全管理,包括对数据库、监听器、主机、应用服务器、HTTP服务器、Web应用等的管理。 DBA可以从任何可以访问Web应用的位置通过OEM 对数据库和其他服务进行各种管理和监控操作。

p功能 n实现对Oracle运行环境的完全管理,包括Oracle数 据库、Oracle应用服务器、HTTP服务器等的管理; n实现对单个Oracle数据库的本地管理,包括系统监控、性能诊断与优化、系统维护、对象管理、存储管理、 安全管理、作业管理、数据备份与恢复、数据移植 等; n实现对多个Oracle数据库的集中管理; n实现对Oracle应用服务器的管理; n检查与管理目标计算机系统软硬件配置。

p Oracle 10g OEM分类 n数据库控制OEM(Oracle Enterprise Manager Database Control),用于本地管理单一的 Oracle 10g数据库,在安装Oracle 10g数据库服 务器时安装。 n网格控制OEM(Oracle Enterprise Manager Grid Control),用户对整个Oracle10g运行环境 的完全管理,需要单独进行安装和配置。 n应用服务器控制OEM(Oracle Enterprise Manager Application Server Control),用 于Oracle 10g应用服务器的管理,在安装Oracle 10g应用服务器时安装。

sqlserver_SQL触发器的使用及语法

定义:何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表: Create Table Student(--学生表StudentID int primary key,--学号.... ) Create T able BorrowRecord(--学生借书记录表BorrowRecord int identity(1,1),--流水号StudentID int ,--学号BorrowDate datetime,--借出时间ReturnDAte Datetime,--归还时间... ) 用到的功能有: 1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号); 2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。等等。 这时候可以用到触发器。对于1,创建一个Update触发器: Create Trigger truStudent On Student--在Student表中创建触发器for Update--为什么事件触发As --事件触发后所要做的事情 if Update(StudentID) begin Update BorrowRecord Set StudentID=i.StudentID

From BorrowRecord br , Deleted d ,Inserted i--Deleted和Inserted临时表Where br.StudentID=d.StudentID end 理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:虚拟表Inserted虚拟表Deleted 在表记录新增时存放新增的记录不存储记录修改时存放用来更新的新记录存放更新前的记录删除时不存储记录存放被删除的记录 一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。 对于2,创建一个Delete触发器Create trigger trdStudent On Student for Delete As Delete BorrowRecord From BorrowRecord br , Delted d Where br.StudentID=d.StudentID 从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。SQL触发器实例2 USE Master GO

SQLServer触发器的使用

触发器建立的代码 Create Trigger TG_ProjectName On table1 After Update As Update table2 Set[工程名]=b.工程名 from table2 a,inserted b where a.ProjID=b.ID 关于触发器中Inserted和Deleted的解释。 inserted触发器语句中使用了两种特殊的表:deleted 表和inserted 表。Microsoft? SQL Server 2000 自动创建和管理这些表。可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而,不能直接对表中的数据进行更改。 inserted 和deleted 表主要用于触发器中: ◆扩展表间引用完整性。 ◆在以视图为基础的基表中插入或更新数据。 ◆检查错误并基于错误采取行动。 ◆找到数据修改前后表状态的差异,并基于此差异采取行动。 Deleted 表用于存储DELETE 和UPDATE 语句所影响的行的复本。在执行DELETE 或UPDATE 语句时,行从触发器表中删除,并传输到deleted 表中。Deleted 表和触发器表通常没有相同的行。Inserted 表用于存储INSERT 和UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。 更新事务类似于在删除之后执行插入;首先旧行被复制到deleted 表中,然后新行被复制到触发器表和inserted 表中。 在设置触发器条件时,应当为引发触发器的操作恰当使用inserted 和deleted 表。虽然在测试INSERT 时引用deleted 表或在测试DELETE 时引用inserted 表不会引起任何错误,但是在这种情形下这些触发器测试表中不会包含任何行。 说明 如果触发器操作取决于一个数据修改所影响的行数,应该为多行数据修改(基于SELECT 语句的INSERT、DELETE 或UPDATE)使用测试(如检查@@ROWCOUNT),然后采取相应的对策。 SQL Server 2000不允许AFTER 触发器引用inserted 和deleted 表中的text、ntext 或image 列;然而,允许INSTEAD OF 触发器引用这些列。有关更多信息,请参见CREATE TRIGGER。 在INSTEAD OF 触发器中使用inserted 和deleted 表 传递到在表上定义的INSTEAD OF 触发器的inserted 和deleted 表遵从与传递到AFTER 触发器的inserted 和deleted 表相同的规则。inserted 和deleted 表的格式与在其上定义INSTEAD OF 触发器的表的格式相同。inserted 和deleted 表中的每一列都直接映射到基表中的列。 有关引用带INSTEAD OF 触发器的表的INSERT 或UPDATE 语句何时必须提供列值的规则与表没有INSTEAD OF 触发器时相同: 不能为计算列或具有timestamp 数据类型的列指定值。 不能为具有IDENTITY 属性的列指定值,除非该列的IDENTITY_INSERT 为ON。当IDENTITY_INSERT 为ON 时,INSERT 语句必须提供一个值。INSERT 语句必须为所有无DEFAULT 约束的NOT NULL 列提供值。 对于除计算列、标识列或timestamp 列以外的任何列,任何允许空值的列或具有DEFAULT 定义的NOT NULL 列的值都是可选的。

SqlServer触发器的原理及案例

SqlServer触发器的原理及案例合理的选用触发器会让你的系统更高效 2010 Ssc

目录 第1章何为触发器 (3) 1.1 触发器的'本质' (3) 1.2 这样做带来的'功能': (3) 1.3 触发器的作用 (3) 1.4 说明: (3) 第2章对触发器3种操作的分析 (4) 2.1 创建触发器 (4) 2.2 学习案例 (5) 2.2.1 建立表 (5) 2.2.2 触发器练习1 (5) 2.2.3 触发器练习2: (6) 第3章图形化操作触发器 (7) 3.1 查看触发器情况 (7) 第4章触发器中的变量操作 (11) 第5章SQL触发器语法参考 (11)

第1章何为触发器 1.1触发器的'本质' 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录、更改记录或者删除记录时,当事件发生时,才被自动地激活。 1.2这样做带来的'功能': 触发器可以用来对表实施复杂的完整性约束,保持数据的一致性,当触发器所保护的数据发生改变时,触发器会自动被激活,响应同时执行一定的操作(对其它相关表的操作),从而保证对数据的不完整性约束或不正确的修改。触发器可以查询其它表,同时也可以执行复杂的T-SQL语句。触发器和引发触发器执行的命令被当作一次事务处理,因此就具备了事务的所有特征。 注意:'事务具备什么特征?在触发器中的作用?' 如果发现引起触发器执行的T-SQL语句执行了一个非法操作,比如关于其它表的相关性操作,发现数据丢失或需调用的数据不存在,那么就回滚到该事件执行前的SQL SERVER数据库状态。 1.3触发器的作用 触发器可以对数据库进行级联修改,这一点刚才已经说过了。需要说明的是:'触发器和约束的关系和区别' (1)一般来说,使用约束比使用触发器效率更高。 (2)同时,触发器可以完成比CHECK约束更复杂的限制。 1.4说明: 1.与CHECK约束不同,在触发器中可以引用其它的表。 2.触发器可以发现改变前后表中数据的不一致,并根据这些不同来进行相应的操作。

sqlserver 触发器

SQL Server 触发器创建、删除、修改 推荐揪错烈火学院> 网络编程> SQL SERVER > 阅读文章正文 一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表。 一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后﹐与该触发器相关的这两个表也被删除。Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。 Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。 三﹕Instead of 和After触发器 SQL Server2000提供了两种触发器﹕Instead of 和After 触发器。这两种触发器的差别在于他们被激活的同﹕ Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外﹐Instead of 触发器也可以用于视图﹐用来扩展视图可以支持的更新操作。 After触发器在一个Insert,Update或Deleted语句之后执行﹐进行约束检查等动作都在

SqlServer触发器的原理及案例

触发器 ?触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化(INSERT、 UPDATE 或DELETE)时自动执行 ?触发器可以查询其它表,并可以包含复杂的Transact-SQL 语句 ?主要用于强制复杂的业务规则或要求 优点 ?自动执行 ?实现相关表层叠修改,实现多个表之间数据的一致性和完整性 ?实现比check约束更复杂的限制,可以引用其他表中的列 触发器的类型 ?AFTER触发器:在数据变动(INSERT、UPDATE、DELETE操作)完成后激发,只能在表 上定义,同一个表中可以有多个AFTER触发器 ?INSTEAD OF触发器:在数据变动以前被激发,并取代变动数据(INSERT、UPDATE、 DELETE操作),转而去执行触发器定义的操作,可以定义在表或视图上,每个update、insert和delete语句最多可以定义一个INSTEAD OF触发器。 创建触发器 ?CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [, ][DELETE]} AS sql_statement [...n ] } 触发器示例: ?CREATE TRIGGER reminder ON titles FOR INSERT, UPDATE AS RAISERROR (50009, 16, 10) 指定触发器何时激发 ?AFTER 触发器在触发操作(INSERT、UPDATE 或DELETE)后和处理完任何约束后激 发。可通过指定AFTER 或FOR 关键字来请求AFTER 触发器。 ?INSTEAD OF 触发器代替触发动作进行激发,并在处理约束之前激发。 ?对于每个触发操作(UPDATE、DELETE 和INSERT),每个表或视图只能有一个 INSTEAD OF 触发器。而一个表对于每个触发操作可以有多个AFTER 触发器。 触发器示例: create TRIGGER reminder ON titles FOR INSERT, delete,update AS --修改操作 if (select count(*) from inserted) > 0 and (select count(*) from deleted) >0 begin RAISERROR ('修改成功', 16, 10) end

sqlserver 建立学生表上触发器代码

--⒁在学生成绩表中,显示存在有 85 分以上成绩的课程号,并统计各门课程不及格人数在 10 人以上的课程数量。 SELECT course_id FROM stud_grade WHERE grade>85 GO select count(*) from ( SELECT course_id 课程号,count(course_id) 人数 FROM stud_grade WHERE grade<60 GROUP BY course_id HAVING count(course_id) >=10 ) -(7) 首先显示“计算机工程系”、“计算机网络技术专业”、班全体学生的基本信息,然后再统计“计算机工程系”、“计算机网络技术专业”、班的学生人数。 SELECT substring(stud_id,3,6)专业编号,count(*)人数 FROM stud_info WHERE substring(stud_id,3,6)=( select substring(speccode,3,6)+'02' from dbo.specialty_code where specname='计算机应用技术') --(9)在学生成绩表中,显示最低分大于60,最高分小于80 的stud_id 列。 select stud_id from dbo.stud_grade group by stud_id having max(grade)<80 and min(grade)>60 --(17)显示课程号为“”、课程成绩高于“”课程的学生的课程名、学号和姓名,并按成绩从高到低次序排列。 select course_name,g1.stud_id,g1.[name] from dbo.lesson_info,dbo.stud_grade as g1,dbo.stud_grade as g2 where dbo.lesson_info.course_id=g1.course_id and g1.stud_id=g2.stud_id and g1.course_id='0401010103' and g2.course_id='0401010104'and g1.grade>g2.grade order by g1.grade

SQL2005没有企业管理器的解决办法

安装sql2005后,没有SQL Server management studio。该怎么办? 1:原来安装的有SQL2000和VS2005 很简单下一个management微软中国上面下载SQL Server management studio expree版就行 你安装了SQL2000的时候自带了使用计算机管理的SQL管理插件。你安装了微软的05的话,你应该在安装组建中选择一个SQL Server management studio,可能你下载的是精简版本,一般正常下载的是一张光碟大小。解压1.4G。如果急需管理界面可以临时使用SQL2000的管理界面连接进行管理。 2:SQLserver2005里面没有SQL Server Management Studio解决办法 分两种情况,一种是版本问题,一种是安装顺序问题,请往下看: 一、你安装的是SQL Server2005Express Edition版,也就是我们说的快速开发版 SQL Server2005Express版是不用花钱的,微软免费让你用,但是它功能上少很多东西,不过对于学习、个人开发功能还是够用了。安装SQL Server2005Express Edition,在安装后会发现可以找得到SQL Server2005的服务管理器,但是找不到它的数据库管理器,这是因为Express版本SQL本身没有带图形化管理工具。若需要这个工具的话,需要从微软上下载。

SQL Server2005使用的图形界面工具是Microsoft SQL Server Management Studio Express,现在微软官方已提供它的正式版本下载。 另外,微软还提供Microsoft SQL Server2005Express Edition工具包下载,Microsoft SQL Server2005Express Edition工具包包括Microsoft SQL Server Management Studio Express在里面。 你可以下载后安装,安装后在SQL Server2005程序组里就会出现Microsoft SQL Server Management Studio Express,使用它来进行管理即可。 (注:上面是简体中文版,你也可以选择其他语言的版本下载) 二、第二种情况就是安装顺序问题 你可能会告诉我,说我装的不是Express版,可能你装的是Microsoft SQL Server2005Development Edition(也就是开发版),这个版本功能齐全,功能上和企业版一模一样,没有任何差异,只是授权上有所差异。为什么我一猜你用的就是Development版呢?不要惊奇,因为这个版是网上流传比较广的版本,大部分中国人都有着网上下载或者地摊儿买盗版光盘的这种习惯,什么软件都从网上下载,一个子儿不用花,地摊儿买也就5块钱,所以我猜得没错的话大部分人用的都是Development版。

sqlserver 触发器示例

sqlserver 触发器示例 1--检查当前触发器是否已存在 2IF exists(SELECT*FROM sysobjects WHERE xtype='TR'AND [name]='TR_INSERTUserInfo_LoginLog') 3--存在即删除该触发器 4DROP TRIGGER TR_INSERTUserInfo_LoginLog 5go 6--触发器创建在UserInfo表上当对UserInfo表执行INSERT操作后自动执行触发器中的SQL语句 7CREATE TRIGGER TR_INSERTUserInfo_LoginLog 8ON UserInfo 9FOR INSERT 10AS 11BEGIN 12--定义接受新建用户ID的参数 13DECLARE@userID VARCHAR(50); 14--查询INSERTED临时表获取新建用户ID 15SELECT@userID=UserID FROM Inserted 16--向用户登录日志表中添加新建用户登录日志 17INSERT INTO LoginLog VALUES(@userID,getDate()) 18END 19GO 20 21IF EXISTS(SELECT*FROM sysobjects WHERE xtype='TR'AND [name]='TR_Update_UserInfo_ManagerLog') 22DROP TRIGGER TR_Update_UserInfo_ManagerLog 23GO 24CREATE TRIGGER TR_Update_UserInfo_ManagerLog 25ON UserInfo 26FOR UPDATE 27AS 28--接受被更新用户信息的ID

实验一 熟悉SQL SERVER企业管理器

实验一:熟悉SQL SERVER企业管理器 学时:2 实验内容: 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 实验目的: 要求学生熟练掌握和使用SQL、Transact-SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。实验原理: 实验设备: 1.操作系统为WINDOWS 2000 SERVER(professional)的计算机一台 2.SQL Server 2000标准版(个人版)安装软件 实验步骤: (1)使用企业管理器按教材中的内容建立学生(student)数据库。 (2)在企业管理器中查看学生数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的学生数据库中建立学生、课程和学生-课程3个表,其结构为: 学生关系表S : 学号姓名性别年龄所在系 Sno Sname Ssex Sage sdept 课程关系表C : 课程号课程名先行课学分 Cno Cname Cpno ccredit 学生-课程关系表SC : 学号课程号成绩 Sno Cno Grade 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立学生、课程和学生-课程3个表的表级约束.每个表的主码约束.学生表与学生-课程表间、课程表与学生-课程表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现学生表的学号和课程表的课程号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。

2用“企业管理器”管理数据库

例:创建数据库XSXK,初始大小为5MB,最大大小为50MB,数据库自动增长,增长方式是按10%比例增长;日志文件初始大小为2MB,最大可增长到5MB(默认为不限制),按1MB增长;所有者是Administrator。假设SQL Server服务已启动,并以Administrator身份登录计算机。 一、创建数据库“XSXK”的步骤如下: 1、从“开始”→“所有程序”→“Microsoft SQL Server”→“企业管理器”,如图1.1 所示。单击“企业管理器”,打开“企业管理器”窗口,如图1.2所示。 图1.1启动SQL Server企业管理器 图1.2 “企业管理器”窗口 2、展开“Microsoft SQL Servers”→“SQL Server Group”→“(Local)(Windows NT)”,

如图1.3所示。 图1.3 “企业管理器”窗口 3、在“数据库”上单击鼠标右键,出现快捷菜单,如图1.4所示。 图1.4 “企业管理器”窗口 4、单击“新建数据库”,弹出“数据库属性”对话框,在“常规”选项卡的“名称”文本框中输入数据库名“XSXK”,如图1.5所示。

图1.5 “数据库属性”对话框 指导: 下面的操作步骤中,不要单击“确定”按钮(特别指出的除外)。如果单击了“确定”按钮,则弹出图1.6窗口,此时要通过选择“XSXK”,单击鼠标右键,如图1.7,在弹出的快捷菜单中选择“属性”继续下面的操作。 图1.6 “企业管理器”窗口

图1.7 “企业管理器”窗口 5、选择“数据文件”选项卡,如图1.8所示。 图1.8 “数据文件”选项卡 指导: 数据文件和事务日志文件的默认存储位置是由SQL Server 2000 安装目录确定的。6、在文件名为“XSXK_data”这一行的“位置”列上单击“浏览”按钮,找到E:\MSSQL 目录,如图1.9所示。

SQLServer触发器使用实例

SQLServer 触发器使用实例 触发器是一个特殊的存储过程。 常见的有三种:分别应用于Insert , Update , Delete 事件。 一、Trigger语法: create trigger tr_name on table/view {for | after | instead of } [update][,][insert][,][delete] [with encryption] as {batch | if update (col_name) [{and|or} update (col_name)] } 说明: 1 tr_name :名称 2 on table/view :触发器所作用的表。一个触发器只能作用于一个表 3 for 和after :同义 4 after 与instead of :sql 2000新增项目afrer 与instead of 的区别After 在触发事件发生以后才被激活,只可以建立在表上 Instead of 代替了相应的触发事件而被执行,既可以建立在表上也可以建立在视图上 5 insert、update、delete:激活触发器的三种操作,可以同时执行,也可选其一

6 if update (col_name):表明所作的操作对指定列是否有影响,有影响,则激活触发器。此外,因为delete 操作只对行有影响, 所以如果使用delete操作就不能用这条语句了(虽然使用也不出错,但是不能激活触发器,没意义)。 7 触发器执行时用到的两个特殊表:deleted ,inserted deleted 和inserted 可以说是一种特殊的临时表,是在进行激活触发器时由系统自动生成的,其结构与触发器作用的表结构是一 样的,只是存放的数据有差异。 二、实例: 实例1(注意这里的关联,条件是如何关联,update中set的值是与谁关联。这些都可以从【触发器的两个临时表:inserted、deleted】中得到答案) 比如,这么两个表: Create Table Student( --学生表 StudentID int primary key, --学号 StudentName varchar(50),姓名 ) Create Table BorrowRecord( --学生借书记录表 BorrowRecord int identity(1,1), --流水号 StudentID int , --学号 BorrowDate datetime, --借出时间

企业管理器(OEM)介绍: Grid Control 和 Database Control

企业管理器(OEM)介绍:Grid Control 和Database Control Oracle 自10g 以后,企业管理器(Oracle Enterprise Manager:OEM)变成了网页形式。OEM 分两种:Grid Control(网格控制) 和Database Control(数据库控制)。 Grid Control 是具有完整功能的全企业Oracle 生态系统管理工具。 Database Control是可以只作为数据库管理实用程序部署的OEM 版本。 Grid Control 和Database Control 区别: Grid Control 可以监控整个Oracle 生态环境,它具有一个中心存储仓库,用于收集有关多个计算机上的多个目标的数据,并且提供一个界面来显示所有已发现目标的共同信息。Database Control 是Grid Control 功能的一个子集,Database Control 只监控一个数据库,并且不能用于监控多个数据库。它只在数据库上运行。 从数据库管理的观点来看,两个使用程序的功能几乎是相同的,只不过网格控制提供了涉及多台计算机的操作的更多功能。大师,两个使用程序的界面是相同的,底层代码也是相同的,并且只有很细微的区别。从备份和恢复的观点来看,两个使用程序几乎相等。 一.Grid Control OEM 是一个Web 应用程序,它具有Web应用程序自带的所有功能和限制。OEM 控制台是运行在HTTP服务器上的web页面,该HTTP服务器将作为Grid Control 安装的一部分安装和配置,没有任何客户端安装。 Grid Control 部署在Oracle 应用服务器(Oracle Application Server:OAS)上。当安装Grid Control时,同时也会安装OAS,然后Grid Control 应用程序作为Oracle Containers for J2EE (OC4J)应用程序部署在OAS上。Grid Control 可以监控许多不同类型的目标(当Grid Control 调用它们时):数据库,应用服务器,主机自身,甚至是存储设备。 Grid Control 它收集遍及企业的计算系统的相关信息,将这些信息合并到中心存储仓库中,然后通过它的Web控制台想DBA显示这些信息。根据这些信息,DBA 可以让Grid Control 代表DBA 在这些计算系统中执行任务。 Grid Control 的体系结构 Grid Control 的体系结构从Oracle 管理服务(Oracle Management Serveice:OMS)开始,这是部署在应用服务器上的应用程序。OMS通过中心代理程序(central agent)从注册的目标服务器中收集数据。中心代理程序安装在目标服务器上,它收集信息并且将这些数据推入OMS。OMS将数据加载到存储仓库数据库中,然后根据仓库中的信息构建Web页面,可以通过能够定位OMS 服务器URL 的任意浏览器检索该Web页面。 1. 中心代理程序 中心代理程序安装在使用Grid Control 监控的每台计算机上。中心代理程序不可以独立作出任何决策。它使用Perl 脚本收集数据,将这些数据通过HTTPS 推入OMS。OMS 执行必须的任何智能,然后将操作发送给代理程序以执行该操作。 从存储的观点来看,中心代理程序占用相对较少的存储空间。然而,由于其所做的工作,中心代理程序可能占用大量的CPU资源。 2. Oracle 管理服务(OMS) OMS 是在Grid Control 体系结构的中间层上部署的Web应用程序,它不断从代理程序处以XML文件的形式接收信息,然后将这些信息加载到存储仓库表中。它负责为提供控制台Web 页面的HTTP服务器构建Web内容,由此可能向中心代理程序要求特定的信息。数据一般是从中心代理程序推入的。 3. 存储仓库数据库

SqlServer触发器实现自动编号

触发器做个实现数据插入表时自动编号的功能, 详细出处参考:https://www.doczj.com/doc/588149985.html,/article/31031.htm 总结常用基本点如下: 1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML 触发器)。 DDL触发器:在用户对数据库执行数据定义(CREATE、ALTER、DROP或相似的语句)对数据库结构进行修改时激活而做出响应。 DML触发器:在用户对数据库执行数据操作时发生,触发器中的代码会被自动调用。 2、DML触发器分类:Insert触发器、Delete触发器、Update触发器、上面任意类型混合。 3、触发器创建语法: 复制代码代码如下: CREATE TRIGGER ON

{{{FOR|AFTER} <[INSERT] [,] [UPDATE],[DELETE]>}|INSTEAN OF} AS 4、触发器必须附加到表或视图上,触发器不能单独存在。AFTER或FOR触发器不支持视图,INSTEAD OF支持表或视图。 5、INSERT触发器中,SQL Server 会创建一个插入行的副本,并把该副本插入到一个特殊表Insert表中,该表只在触发器作用域内存在。 6、DELETE触发器中,SQL Server 会创建一个删除行的副本,并把该副本插入到一个特殊表Delete表中,该表只在触发器作用域内存在。 7、UPDATE触发器中,SQL Server认为更新的记录是删除了现有的记录,插入更新后的新纪录,所以UPDA TE触发器中包含Insert和Delete两个特殊表,也是只存在触发器作用域内,这两个表的行数完全一样。 8、触发器尽可能简短,因为触发器和触发器内的语句被一同处理,即直到语句执行完成才算是触发器完成。如果代码很长那触发器运行时间就会很长。 下面是个实现自动编号功能的例子: --有两张表,客户表和项目表,要求:新建项目时自动生成项目编号,每个不同的客户的项目的编号从1开始 --项目编号格式为PJ+"-"+"客户编号"+"-"+"日期"+"-"+"流水号" --如项目编号:PJ-ABCD-120805-0001 create table testAccount --创建测试客户表 ( tAccName nvarchar(100), --客户姓名 tAccId nvarchar(32) --客户编号 ) create table testProject --创建测试项目表 ( tProName nvarchar(100), --项目名称 tProId nvarchar(32), --项目编号 tIdAcc nvarchar(100), --客户编号

相关主题
文本预览
相关文档 最新文档