首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IT大咖说

    系统库-SQL Server MSDB探究

    ◆ 概述 MSDB 数据库是 4 个可见系统数据库之一,另外3个分别是master、model 和 TempDB 。MSDB目的是跟踪一系列常见 DBA 活动历史记录,如备份和恢复。 下面探讨一下MSDB一些特性 ◆ MSDB特性 ◆ 1、备份和恢复历史存储在 msdbmsdb 包含备份还原历史记录。因此,我们可以通过查询相应的表来获得几乎所有关于已执行备份的信息。 msdb 数据库中。 为了轻松找到并突出显示脚本中使用的 msdb 数据库的存储过程,我们只需在搜索框中 键入msdb : 由此可见,msdb数据库的sp_add_job和sp_add_jobstep 存储过程是用来创建作业和作业步骤的 : ◆ 5、msdb 数据库包含与日志传送相关的信息 日志传送相关信息和存储过程也存储在 msdb 数据库中。

    2.5K20编辑于 2022-10-09
  • 来自专栏数据库相关

    在Grafana上绘制SQL Server备份集看板

    sql server 每次在备份的时候都会把相关信息记录到msdb库下面的表里面,为了更直观的查看备份的情况,我们可以在grafana上配置相关图表进行展示。 bs LEFT JOIN msdb.dbo.backupmediafamily bf ON bs. [media_set_id] INNER JOIN msdb.dbo.backupmediaset bms ON bs.[media_set_id] = bms. bs LEFT JOIN msdb.dbo.backupmediafamily bf ON bs. [media_set_id] INNER JOIN msdb.dbo.backupmediaset bms ON bs.[media_set_id] = bms.

    1.2K10编辑于 2024-01-30
  • 来自专栏数据库相关

    sqlserver查看备份历史记录

    获取有关每个数据库的成功备份的信息 select * from [msdb].[dbo]. , msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_finish_date, CASE msdb..backupset.type , msdb.dbo.backupmediafamily.physical_device_name, msdb.dbo.backupset.name AS backupset_name FROM msdb.dbo.backupmediafamily INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id

    1.2K10编辑于 2024-08-01
  • 来自专栏个人分享

    Hive metastore源码阅读(三)

    1 public Partition alterPartition(final RawStore msdb, Warehouse wh, final String dbname, 2 从代码中我们可以看到:   1、通过Table tbl = msdb.getTable(dbname, name); get到该表的整个元数据的封装信息。    oldPartName.equals(newPartName)) { 18 msdb.deletePartitionColumnStatistics(dbName, tableName, oldPartName, partVals, null); 19 } else { 20 Partition oldPartition = msdb.getPartition 而且太晚了,后续补上....)代码如下: 1 try { 2 destPath = new Path(wh.getTablePath(msdb.getDatabase

    1.3K30发布于 2018-09-06
  • 来自专栏.net core新时代

    使用作业自动清理数据库日志文件

    DECLARE @ReturnCode INT SELECT @ReturnCode = 0 --添加类别 IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name='添加作业' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category DECLARE @JobID BINARY(16) DECLARE @ErrMsg NVARCHAR(500) SELECT @JobID = job_id FROM msdb.dbo.sysjobs ( @JobID IS NOT NULL ) BEGIN -- 检查此作业是否为多重服务器作业 IF ( EXISTS ( SELECT * FROM msdb.dbo.sysjobservers fsinterval<>1 set @time=0 set @ffactor=case @freqtype when 'day' then 0 else 1 end EXEC msdb

    1.3K60发布于 2018-01-05
  • 定时同步服务器上的数据的例子:

    创建作业 --定时执行数据同步的存储过程 if exists(SELECT 1 from msdb..sysjobs where name='数据处理') EXECUTE msdb.dbo.sp_delete_job @job_name='数据处理' exec msdb..sp_add_job @job_name='数据处理' --创建作业步骤 declare @sql varchar(800),@dbname varchar(250) select @sql='exec p_synchro' --数据处理的命令 ,@dbname=db_name() --执行数据处理的数据库名 exec msdb..sp_add_jobstep database_name=@dbname, @command = @sql, @retry_attempts = 5, --重试次数 @retry_interval = 5 --重试间隔 --创建调度 EXEC msdb

    42410编辑于 2025-04-05
  • 来自专栏深蓝居

    使用T-SQL配置日志传送

    添加计划的脚本如代码: DECLARE @schedule_id int  EXEC msdb.dbo.sp_add_jobschedule @job_name =N'LSBackup_logTrans1 active_end_time=235959,  @schedule_id = @schedule_id OUTPUT  select @schedule_id 【注意:sp_add_jobschedule存储过程是在msdb active_end_time=235959,  @schedule_id = @schedule_id OUTPUT  select @schedule_id  --设置还原作业的计划  EXEC msdb.dbo.sp_add_jobschedule 启用作业仍然使用sp_update_job存储过程,具体操作如代码: EXEC msdb.dbo.sp_update_job  @job_name='LSCopy_logTrans1',  @enabled =1  EXEC msdb.dbo.sp_update_job  @job_name='LSRestore_logTrans2',  @enabled=1 通过以上10部操作就完成了对日志传送的配置。

    53910编辑于 2022-06-16
  • 来自专栏SQL数据库开发

    SQL中的邮件配置!

    override go exec sp_configure 'database mail xps',1 reconfigure with override go --创建邮件帐户信息 exec msdb.dbo.sysmail_add_account_sp , -- 用户名 @PASSWORD = '邮件密码' -- 密码 GO --数据库配置文件 exec msdb.dbo.sysmail_add_profile_sp SQLServer_DotNetCrazy1', -- 配置名称 @description = '数据库邮件配置文件' -- 配置描述 go --用户和邮件配置文件相关联 exec msdb.dbo.sysmail_add_profileaccount_sp sequence_number = 1 -- account 在 profile 中顺序(默认是1) go (提示:可以左右滑动代码) 发送邮件脚本: exec msdb.dbo.sp_send_dbmail

    41910编辑于 2024-04-24
  • 来自专栏跟着阿笨一起玩NET

    SQL Server复制需要有实际的服务器名称才能连接到服务器

    (Microsoft SQL Server,错误: 20582) 解决处理 select * from msdb.dbo.MSdistpublishers DELETE FROM msdb.dbo.MSdistpublishers select * from msdb.dbo.MSdistpublishers exec sp_droplinkedsrvlogin 'LC04',null exec sp_dropserver

    4.8K10发布于 2018-09-18
  • 来自专栏个人分享

    Hive metastore整体代码分析及详解

    也就是HiveAlterHandler的name,那么具体,我们来看下它alterTable时的实现,前方高能,小心火烛:) 1 public void alterTable(RawStore msdb ());           //如果columns不一致,则删除已有的column统计信息 66 updatePartColumnStatsForAlterColumns(msdb , oldt, newt); 163 // now finally call alter table 164 msdb.alterTable(dbname, name, newt success) { 139 msdb.rollbackTransaction(); 140 } 141 if (success && newPartLoc ! (); 157 msdb.alterPartition(dbname, name, new_part.getValues(), oldPart); 158

    4.6K51发布于 2018-09-06
  • 来自专栏数据和云

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

    --这些系统表只存在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. 查询某个存储过程被哪些job调用了 SELECT * FROM msdb.dbo.sysjobs JOB WITH( NOLOCK) INNER JOIN msdb. dbo.sysjobsteps STP 命令执行某个job EXECUTE msdb.dbo.sp_start_job N'job_name' 45. 查询ssis包的信息 select * from msdb.dbo.sysssispackages 72.

    3K20发布于 2020-04-02
  • 来自专栏ellipse数据库技术

    三级考点摘要

    SQL Server 数据库中的系统数据库 master 数据库配置用户信息等系统信息 model 模板库,系统所创建的所有数据库的模板 msdb 提供sqlserver代理程序调度警报和作业时使用 tempdb 保存临时表和临时存储过程 系统数据库master、model、msdb因为被修改地比较少,且对数据库系统影响较大,所以每次修改后应该及时备份; tempdb是系统临时文件的数据库,每次启动后都会清空

    68450发布于 2019-08-16
  • 来自专栏网络安全攻防

    Attacking SQL Server CLR Assemblies

    database use msdb -- Enable show advanced options on the server sp_configure 'show advanced options [cmd_exec]; GO 现在您应该能够通过"msdb"数据库中的"cmd_exec"存储过程执行操作系统命令,如下例所示 完成后,您可以使用下面的TSQL删除过程和程序集 DROP PROCEDURE :tempcmd_exec.txt 如果一切顺利,"c:tempcmd_exec.tx"文件应该包含以下TSQL命令,在示例中十六进制字符串已被截断,但您的字符串应该更长 -- Select the MSDB database USE msdb -- Enable clr on the server Sp_Configure ‘clr enabled’, 1 RECONFIGURE GO -- Create 您可以使用下面的TSQL查询来验证您的CLR程序集是否设置正确,或者开始寻找现有的用户定义的CLR程序集 注意:这是我在这里找到的一些代码的修改版本 USE msdb; SELECT SCHEMA_NAME

    2.5K20编辑于 2022-06-23
  • 来自专栏Ms08067安全实验室

    利用MSSQL模拟提权

    仅原生的数据库msdb启用了这个属性。 要演示这个权限提升技术,guest用户必须在msdb授予模拟dbo的权限。 要执行模拟测试,首先切换到msdb数据,然后执行"EXECUTE AS USER"语句。 通过USER_NAME()可以看到当前用户的上下文: use msdb; EXECUTE AS USER = 'dbo'; SELECT USER_NAME(); go EXECUTE AS USER模拟

    40910编辑于 2024-06-25
  • 来自专栏华来四Azure混合云

    和我从头学SQL Server Integration Services

    两个默认文件夹被命名为文件系统和MSDB。 SQL Server msdb数据库。 在Stored Packages的MSDB节点下,可以看见刚才生成的SSIS包,在包上点击右键,选择Run Pakcage 运行Execute Package Utility ? ? ? ? ? 再次去打开msdb节点,我们发现了用dtutil导出的包,然后依照前文所说的方法运行包,可以观察生成新的文本文件的导出。 ? ?

    4.6K50发布于 2019-04-24
  • 来自专栏机器学习-大数据

    python的数据库操作

    ,每一步都算数 预备知识: 需要准备的包:pymssql import pymssql 连接数据库: db = pymssql.connect(host='localhost', database='msdb cursor.execute(sql) db.commit() 完整代码: import pymssql db = pymssql.connect(host='localhost', database='msdb

    41030编辑于 2023-05-03
  • 来自专栏文渊之博

    具体问题解决:分离脚本

    + Char(10) FROM master.sys.master_files WHERE Db_name(database_id) NOT IN ( 'master', 'model', 'msdb master.sys.master_files x, master.sys.master_files y WHERE Db_name(x.database_id) NOT IN ( 'master', 'model', 'msdb

    64680发布于 2018-01-30
  • 来自专栏个人分享

    Hive metastore源码阅读(一)

    AlterHandler extends Configurable { 2 3 /** 4 * handles alter table 5 * 6 * @param msdb thrown if there is any other error 21 */ 22 public abstract void alterTable(RawStore msdb handles alter table, the changes could be cascaded to partitions if applicable 28 * 29 * @param msdb thrown if there is any other error 46 */ 47 public abstract void alterTable(RawStore msdb

    3.4K21发布于 2018-09-06
  • 来自专栏文渊之博

    理解OVER子句

    通过定义一套确定分区的值来区分查询到子集,这些值可以使列,标量函数,子查询或者变量 举例如下: SELECT COUNT(*) FROM [msdb].sys.indexes; 查询结果如下: 这种情况下查询仅仅返回一个数字,这就是msdb数据库的索引的数量。 现在让我们加入OVER子句到这个查询中: SELECT object_id, index_id, COUNT(*) OVER () FROM [msdb].sys.indexes; 结果集如下: PARTITION BY子句来看看结果如何改变: SELECT object_id, index_id, COUNT(*) OVER (PARTITION BY object_id) FROM [msdb

    2.5K90发布于 2018-01-30
  • 来自专栏个人分享

    Hive metastore源码阅读(二)

    (疑问)我们跟进去会发现,其调用了updatePartColumnStats方法: private void updatePartColumnStats(RawStore msdb, String String newTableName = HiveStringUtils.normalizeIdentifier(newPart.getTableName()); Table oldTable = msdb.getTable oldPartName.equals(newPartName)) { msdb.deletePartitionColumnStatistics(dbName, tableName, oldPartName , partVals, null); } else { Partition oldPartition = msdb.getPartition(dbName, tableName MetaStoreUtils.areSameColumns(oldCols, newPart.getSd().getCols())) { updatePartColumnStatsForAlterColumns(msdb

    1.5K30发布于 2018-09-06
领券