首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系统库-SQL Server MSDB探究

◆ 概述 MSDB 数据库是 4 个可见系统数据库之一,另外3个分别是master、model 和 TempDB 。MSDB目的是跟踪一系列常见 DBA 活动历史记录,如备份和恢复。...msdb 数据库中。...为了轻松找到并突出显示脚本中使用的 msdb 数据库的存储过程,我们只需在搜索框中 键入msdb : 由此可见,msdb数据库的sp_add_job和sp_add_jobstep 存储过程是用来创建作业和作业步骤的...◆ 4、msdb 数据库包含与维护计划相关的信息,但不在“sysdbmaintplan_”表中 维护计划相关信息存储在 msdb 数据库中。让我们创建一个维护计划并查看相关信息的存储位置。...: ◆ 5、msdb 数据库包含与日志传送相关的信息 日志传送相关信息和存储过程也存储在 msdb 数据库中。

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL中的邮件配置!

    在配置之前请先把邮件的POP3之类的设置一下: 简图: 其他邮箱都是类似的,下面我们开始SQL Server数据库的演示 图形化演示 第一步:找到数据库【管理】下的【数据库邮件】,如下图: 第二步:在弹出的配置向导中我们继续...override go exec sp_configure 'database mail xps',1 reconfigure with override go --创建邮件帐户信息 exec msdb.dbo.sysmail_add_account_sp...exec msdb.dbo.sysmail_add_profile_sp @profile_name = 'SQLServer_DotNetCrazy1', -- 配置名称 @description...= '数据库邮件配置文件' -- 配置描述 go --用户和邮件配置文件相关联 exec msdb.dbo.sysmail_add_profileaccount_sp @...sequence_number = 1 -- account 在 profile 中顺序(默认是1) go (提示:可以左右滑动代码) 发送邮件脚本: exec msdb.dbo.sp_send_dbmail

    9110

    三级考点摘要

    SQL Server 数据库中的系统数据库 master 数据库配置用户信息等系统信息 model 模板库,系统所创建的所有数据库的模板 msdb 提供sqlserver代理程序调度警报和作业时使用 tempdb...保存临时表和临时存储过程 系统数据库master、model、msdb因为被修改地比较少,且对数据库系统影响较大,所以每次修改后应该及时备份; tempdb是系统临时文件的数据库,每次启动后都会清空...,所以没必要备份 用户自定义的数据库在使用过程中会经常被修改地比较小,如果每次修改后重新备份则对系统操作冗余性较大,所以采用定期备份 文件备份:主要是对数据库文件备份,部队日志文件备份,因此在备份完成后必须对日志文件进行备份...数据字典在数据库设计中占有很重要的地位,通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分. 数据模型通常由三部分组成:数据结构、数据操作和完整性约束。 ?

    52550

    SQL Server 常用近百条SQL语句(收藏版)

    全局系统视图、单个数据库系统视图 sys.database_files --每个存储在数据库本身中的数据库文件在表中占用一行。这是一个基于每个数据库的视图。...--这些系统表只存在msdb数据库,使用的时候必须加上msdb前缀 7. sp_lock、sp_who、sp_who2、sp_helptext等一些系统存储过程存在于每个数据库中 8....修复msdb数据库,比如ssms页面sql server agent丢失或看不了job view history等功能,说明msdb坏了,需要修复 dbcc checkdb (msdb); 18....查看数据库的最近备份信息 SELECT database_name,type,MAX(backup_finish_date) AS backup_finish_date FROM msdb.dbo.backupset...查询某个存储过程被哪些job调用了 SELECT * FROM msdb.dbo.sysjobs JOB WITH( NOLOCK) INNER JOIN msdb. dbo.sysjobsteps STP

    2.6K20

    利用MSSQL模拟提权

    这个权限对于多数用户不是默认配置,但是数据库管理员可能因为误配置导致权限提升。 这里为了演示利用MSSQL模拟提权的概念,我们在运行在dev-DC01的SQL数据库引入了一个误配置的模拟权限。...此外,因为数据库用户只能在特定数据库执行操作,要实现入侵数据库服务器,我们要模拟的用户需要在对应数据库设置了TRUSTWORTHY属性。仅原生的数据库msdb启用了这个属性。...要演示这个权限提升技术,guest用户必须在msdb授予模拟dbo的权限。 要执行模拟测试,首先切换到msdb数据,然后执行"EXECUTE AS USER"语句。...通过USER_NAME()可以看到当前用户的上下文: use msdb; EXECUTE AS USER = 'dbo'; SELECT USER_NAME(); go EXECUTE AS USER模拟...在我们获得了sysadmin权限后,可以尝试在数据库服务器执行命令。比较常用的方法是使用xp_cmdshell存储过程。

    14210

    Attacking SQL Server CLR Assemblies

    [cmd_exec]; GO 现在您应该能够通过"msdb"数据库中的"cmd_exec"存储过程执行操作系统命令,如下例所示 完成后,您可以使用下面的TSQL删除过程和程序集 DROP PROCEDURE...TSQL查询,那么您还将看到这些程序集的相关程序集信息 PowerUpSQL自动化 我在PowerUpSQL中为此添加了一个名为"Get-SQLStoredProcedureCLR'的函数,它将遍历可访问的数据库并为每个数据库提供程序集信息...CREATE或ALTER ASSEMBLY权限则您可以使用自定义CLR获得系统管理员权限,该CLR在 SQL Server服务帐户的上下文下执行操作系统命令(通过默认),但是要成功,您在其中创建CLR程序集的数据库必须将..."is_trustworthy"标志设置为"1",并打开"clr enabled"服务器设置,默认情况下,只有msdb数据库是可信任的,并且禁用了"启用clr"设置 我从未见过明确分配给SQL登录名的CREATE...或ALTER ASSEMBLY权限,但是我已经看到将应用程序SQL登录添加到"db_ddladmin"数据库角色并且确实具有"ALTER ASSEMBLY"权限 注意:SQL Server 2017 引入了

    1.7K20

    具体问题解决:分离脚本

    有时候需要从一个服务器转移数据库到另一个。如果打算一下子分离所有数据库,那么下面的脚本就是有用了。...+ Char(10) FROM master.sys.master_files WHERE Db_name(database_id) NOT IN ( 'master', 'model', 'msdb...在where子句中排除了四个系统数据库。 附加数据库操作脚本:   下面将生成一个脚本来分离数据库。确保运行在原服务器上。因为一旦你分离数据库数据库将在原来的服务器上消失。   ...脚本基于一个重要假设,假定每个数据库只包含一个数据文件和一个日志文件。如果有数据库实例带有多个数据或者日志文件,还要手动分离。另外,脚本假定源和目标服务器有相同的文件路径。...master.sys.master_files x, master.sys.master_files y WHERE Db_name(x.database_id) NOT IN ( 'master', 'model', 'msdb

    54280

    SQL server手工注入入门

    这个数据库中包含所有的配置信息、用户登陆信息、当前正在服务器运行中的过程的信息 model model数据库是建立所有数据库时的模板,当你建立一个新数据库时,SQL server会把model数据库中的所有对象建立一份拷贝并移到新数据库中...,在模板对象被拷贝到新的用户数据库之后,该数据库的所有多余空间都将被页面填满 tempdb tempdb数据库是一个非常特殊的数据库,供所有来访问SQL server的用户使用,这个库用来保存所有的临时表...每次SQL server重新启动,它都会清空tempdb数据库并重建,永远不要在tempdb数据库建立需要永久保存的表 msdb msdb数据库是SQLserver中的一个特例,如果你查看这个数据库的实际定义...,会发现它其实是一个用户数据库,不同之处是SQLserver拿这个数据库用来做什么,所有的任务调度、报警、操作员都存储在msdb数据库中,该库的另一个功能是用来存储所有备份历史,SQL server agent...20name%20%20from%20%20master..sysdatabases%20where%20%20name%20%20not%20%20in%20%20('master','model','msdb

    77020

    具体问题解决:分离脚本

    有时候需要从一个服务器转移数据库到另一个。如果打算一下子分离所有数据库,那么下面的脚本就是有用了。...+ Char(10) FROM master.sys.master_files WHERE Db_name(database_id) NOT IN ( 'master', 'model', 'msdb...在where子句中排除了四个系统数据库。 附加数据库操作脚本:   下面将生成一个脚本来分离数据库。确保运行在原服务器上。因为一旦你分离数据库数据库将在原来的服务器上消失。   ...脚本基于一个重要假设,假定每个数据库只包含一个数据文件和一个日志文件。如果有数据库实例带有多个数据或者日志文件,还要手动分离。另外,脚本假定源和目标服务器有相同的文件路径。...master.sys.master_files x, master.sys.master_files y WHERE Db_name(x.database_id) NOT IN ( 'master', 'model', 'msdb

    21810

    Hive metastore整体代码分析及详解

    try {      //这里的register便是将查询到的function的数据注册到Registry类中的一个Map中,以便计算引擎在调用时,不必再次查询数据库...public void init() throws MetaException {       //获取与数据交互的实现类className,该类为objectStore,是RawStore的实现,负责JDO与数据库的交互...cleaner.schedule(new EventCleanerTask(this), cleanFreq, cleanFreq); 59 } 60 }   它初始化了与数据库交互的...这里便是提交Table对象的地方,具体可研究下JDO module对象与数据库的交互 7 pm.makePersistent(mtbl);      //封装权限用户、角色、组对象并写入...很多可以通过接口传入的Table对象,都重新获取了,这样会不会加重数据库的负担呢?

    4.3K51

    SQL注入分析服务器类型

    分析数据库服务器类型 一般来说,ACCESS与SQL-SERVER是最常用的数据库服务器,尽管它们都支持T-SQL标准,但还有不同之处,而且不同的数据库有不同的攻击方法,必须要区别对待。...⒊MSSQL三个关键系统表 sysdatabases系统表:Microsoft SQL Server 上的每个数据库在表中占一行。...最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。...分别是:master、model、msdb、mssqlweb、tempdb 这五个库。用select * from master.dbo.sysdatabases 就可以查询出所有的库名。...Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。

    2.1K60

    系统下的SQL Server 创建数据库方法

    master master 数据库记录了所有的 SQL Server 数据库系统的系统级信息,如用户帐户,配置设置,并在所有其他数据库信息。 model model 数据库是一个模板数据库。...每当创建一个新的数据库(包括系统数据库的TempDB),会创建一个以 Model 数据库为副本数据库,并更改成你创建数据库时所用的名称。...msdb msdb 数据库是 SQL Server 代理的数据库,用于配置警报使用 SQL Server 代理和预定作业等。...这些系统数据库有它们特有的用处,系统数据库是我们新建数据库的模板。 开始创建一个新的数据库 下述步骤将展示如何使用 SQL Server 管理套件在 SQL Server 2014 创建数据库。...如下图所示: 新的数据库是基于模型数据库,该模型数据库是被用作每当创建一个新的数据库模板的系统数据库

    1K10
    领券