数据库服务器

第九章、安全管理

天涯浪子 提交于 2020-03-06 01:06:35
第九章、安全管理 内容提要: 1.理解安全控制的基本概念 2.了解SQL Server 2008的存取控制 3.掌握SQL Server 2008的安全控制实现方式 4.了解Oracle的安全管理 第一节 安全控制概述 数据库安全性不同于数据的完整性。 安全性:保护数据以防止不合法用户故意造成破坏。 (确保用户被允许做其想做的事情。) 完整性:保护数据以防止合法用户无意中造成的破坏。 (确保用户做的事情是正确的。) 1.数据库安全控制的目标   保护数据免受意外或故意的丢失、破坏或滥用。 2.数据库安全的威胁   安全计划需要考虑:可用性损失,机密性数据损失,私密性数据损失,偷窃和欺诈,意外的损害。 3.安全控制模型 包括四阶段: 身份验证(用户) 操作权限控制(数据库应用程序与数据库管理系统) 文件操作控制(操作系统) 加密存储与冗余(数据库) 4.授权和认证   认证是一种鉴定用户身份的机制。授权是将合法访问数据库或数据库对象的权限授予用户的过程。包括认证用户对对象的访问请求。   DBMS通常采用自主存取控制和强制存储控制两种方案来解决安全控制问题。 第二节 存取控制 1.自主存取控制 又称自主安全模式, 通过SQL的GRANT,REVOKE,DENY语句来实现。 权限种类:维护权限与操作权限(语句权限与对象权限) 用户分类:系统管理员(sa)、数据库对象拥有者、普通用户。

Microsoft SQL Server 数据库服务器管理维护角色

坚强是说给别人听的谎言 提交于 2020-03-05 08:54:06
固定服务器角色: 按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: Bulkadmin:这个服务器角色的成员可以运行BULK INSERT语句。这条语句允许从文本文件中将数据导入到SQL Server 2008数据库中,为需要执行大容量插入到数据库的域账户而设计。 Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,也可能是适合开发人员的角色。 Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。 Processadmin:SQL Server 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。例 如,SQL Server 2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。这个角色的成员可以结束(在 SQL Server 2008中称为删除)进程。 Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQL Server 2008登录名的密码。 Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。例如SQL Server

Azkaban 安装

我怕爱的太早我们不能终老 提交于 2020-03-05 04:35:01
Azkaban安装部署 准备工作 Azkaban Web服务器 azkaban-web-server-2.5.0.tar.gz Azkaban执行服务器 azkaban-executor-server-2.5.0.tar.gz MySQL 目前azkaban只支持 mysql,需安装mysql服务器,本文档中默认已安装好mysql服务器,并建立了 root用户,密码 root. 下载地址:http://azkaban.github.io/downloads.html Oozie == azkaban 安装 将安装文件上传到集群,最好上传到安装 hive、sqoop的机器上,方便命令的执行 在当前用户目录下新建 azkabantools目录,用于存放源安装文件.新建azkaban目录,用于存放azkaban运行程序 azkaban web服务器安装 解压azkaban-web-server-2.5.0.tar.gz 命令: tar –zxvf azkaban-web-server-2.5.0.tar.gz 将解压后的azkaban-web-server-2.5.0 移动到 azkaban目录中,并重新命名 webserver 命令: mv azkaban-web-server-2.5.0 ../azkaban cd ../azkaban mv azkaban-web-server-2

Azkaban集群部署

情到浓时终转凉″ 提交于 2020-03-05 04:34:09
工作流调度系统产生背景 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等。 各个任务单元之间存在时间先后依赖关系。 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 简单的任务调度: 直接使用linux的crontab来定义,但是缺点也是比较明显,无法设置依赖。 复杂的任务调度:Azkaban Azkaban 调度器 azkaban一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流 Azkaban集群部署 1.准备工作 Azkaban Web服务器 azkaban-web-server-2.5.0.tar.gz Azkaban执行服务器 azkaban-executor-server-2.5.0.tar.gz MySQL 本文档中默认已安装好mysql服务器。 2.上传安装包 将安装包上传到集群,最好上传到安装hive、sqoop的机器上,方便命令的执行。 新建azkaban目录,用于存放azkaban运行程序。 3.azkaban web 服务器安装 解压azkaban-web-server-2.5.0.tar.gz 命令: tar –zxvf

跨服务器跨数据库操作

半腔热情 提交于 2020-03-04 13:40:49
测试环境及同步要求: 有数据库服务器srv1和srv2,两台电脑能互相访问,有数据 srv1.库名..author有字段:id,name,phone, srv2.库名..author有字段:id,name,telphone,adress 要求: srv1.库名..author增加记录则srv1.库名..author记录增加 srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新 --*/ --大致的处理步骤 --1.在 srv1 上创建连接服务器,以便在 srv1 中操作 srv2,实现同步 ******************************注 意**************************************** ***以dba用户执行以下两句脚本,(注意只有dba用户有权限执行以下脚本)*** exec sp_addlinkedserver 你的数据库连接名字 ,'','SQLOLEDB',你的数据库url及端口 exec sp_addlinkedsrvlogin 你的数据库连接名字,'false',null,数据库用户名,数据库用户密码 ************************************************************************** exec

跨数据库服务器查询和跨表更新

梦想与她 提交于 2020-03-04 13:39:01
一.摘要 本文通过实际业务场景讲解如何实现跨数据库服务器的数据查询, 以及跨表更新的SQL语法. 二.业务场景 想实现的功能很简单, 在我的本地一个表用来保存省的信息: T_Province 在另外一台服务器上也有一个保存省的表province,其中有我本地没有的provience_name_en和provience_id信息.我希望将它们保存到我的表中. 虽然用程序很容易实现,但是我觉得如果能直接操作数据库的话将更简单,而且还能学习到跨服务器查询的知识. 三.准备工作 首先我在本地 T_Province 表中添加了 ProvinceNameEn 和 ProvinceId 两个字段.接下来就要想办法为这两个字段填充数据. 四.跨服务器查询 首先需要解决跨服务器查询的问题. 先来看我的最终实现: --创建链接服务器 exec sp_addlinkedserver @server= 'SQL2', @srvproduct= '', @provider='SQLNCLI', @datasrc = '192.168.9.123' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'SQL2', @useself = 'false ', @locallogin = null, @rmtuser ='sa', @rmtpassword =

跨数据库服务器查询和跨表更新

我是研究僧i 提交于 2020-03-04 13:37:43
一.摘要 本文通过实际业务场景讲解如何实现跨数据库服务器的数据查询, 以及跨表更新的SQL语法. 二.业务场景 想实现的功能很简单, 在我的本地一个表用来保存省的信息: T_Province 在另外一台服务器上也有一个保存省的表province,其中有我本地没有的provience_name_en和provience_id信息.我希望将它们保存到我的表中. 虽然用程序很容易实现,但是我觉得如果能直接操作数据库的话将更简单,而且还能学习到跨服务器查询的知识. 三.准备工作 首先我在本地 T_Province 表中添加了 ProvinceNameEn 和 ProvinceId 两个字段.接下来就要想办法为这两个字段填充数据. 四.跨服务器查询 首先需要解决跨服务器查询的问题. 先来看我的最终实现: --创建链接服务器 exec sp_addlinkedserver @server= 'SQL2', @srvproduct= '', @provider='SQLNCLI', @datasrc = '192.168.9.123' --登录链接服务器 exec sp_addlinkedsrvlogin @rmtsrvname = 'SQL2', @useself = 'false ', @locallogin = null, @rmtuser ='sa', @rmtpassword =

如何修改SQL Server 2008数据库服务器名称

点点圈 提交于 2020-03-04 13:18:57
 但是在配置复制的时候却出了问题,我在MS-ZY上配置了数据库分发,配置成功,接下来想在MS-ZY2上配置订阅,可是却报错。于是我就试一下在MS-ZY2上配置分发,同样报错,报错内容为:      显然,虽然在操作系统中将机器名修改为MS-ZY2了,但是在数据库中仍然使用的MS-ZY作为服务器名。唯一的办法就是修改数据库的服务器名。 具体修改过程:   1.使用select @@ServerName可以看到当前数据库的服务器名,果然还是MS-ZY!   2.从Sys.SysServers表中可以看到当前的所有服务器名,也是MS-ZY!   3.使用 sp_dropserver 'MS-ZY' 将这个服务器名删除。   4.使用 sp_addserver 'MS-ZY2','LOCAL'将本地服务器重新添加到服务器表中,并且命名为MS-ZY2.   5.查询Sys.SysServers表,果然已经修改了。    6.重启数据库服务,修改完成,可以正常使用复制功能了 :) 本文转载 http://database.ctocio.com.cn/tips/310/8227810_1.shtml http://hi.baidu.com/yiyishuitian/item/c2495bcdfdac6547a9ba94d6 记得修改完成后,一定要重启服务。!!!!! 来源: https:/

如何修改SQL Server 2008数据库服务器名称

醉酒当歌 提交于 2020-03-04 13:14:32
在做数据库发布订阅的时候我们经常要碰到要使用服务器名称来进行。 那么我们经常会碰到的问题是,现在开始大量的使用云服,我们只需要一台服务器搭建好环境,做一个备份镜像,还原到其他的服务器上就可以了,但是问题来了,用镜像还原的服务器,数据库的名称是相同的,在做数据库复制的时候,我就发现,这样的名称都相同,根本没办法做host解析呀。 方法/步骤 登入数据库实例,并新建查询 declare @localserverName nvarchar(200) select @localserverName=@@ServerName exec sp_dropserver @localserverName,'droplogins' exec sp_addserver'WIN-MNGR','LOCAL' WIN-MNGR 这里替换成我们要修改的名称即可。 贴上我们的脚本,按F5运行,提示命令成功。 打开数据库配置工具,我们重启下SQL Server 服务。 4 让我们验证下是否修改成功了。 select @@servername 来源: https://www.cnblogs.com/lenther2002/p/6814071.html

在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)

孤街醉人 提交于 2020-03-04 09:07:37
1、启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的 启用Ad Hoc Distributed Queries的方法 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细 信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 启用Ad Hoc Distributed Queries的方法,执行下面的查询语句就可以了: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure 使用完毕后,记得一定要要关闭它,因为这是一个安全隐患