AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-56307

user_0's questions

Martin Hope
user_0
Asked: 2022-09-14 01:31:43 +0800 CST

如何将分布式可用性组扩展到另一个数据中心

  • 0

实际上,我有一个配置如下 SQL Server 2016 的分布式可用性组: 在此处输入图像描述

端点配置如下:

USE [master]
GO

CREATE ENDPOINT [endpoint_istance2]
    STATE=STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP=ALL)
    FOR DATA_MIRRORING (ROLE=ALL,AUTHENTICATION=WINDOWS NEGOTIATE,ENCRYPTION=REQUIRED ALGORITHM AES)
GO
 
GRANT CONNECT ON ENDPOINT::[endpoint_istance2] TO [mydomain\sqlmirrorer]
GO

现在,我需要添加另一个数据中心,而不是在同一个 Microsoft 域中。我需要得到这个:

在此处输入图像描述

  • 这第三个 AG 在 WORKGROUP 中。
  • 我无法添加信任。

我可以想象两种方式:

  1. 是否可以对 enpoint 进行混合身份验证?我知道我不能在一个实例上拥有多个端点。
  2. 我是否需要更改每个端点以仅使用证书?如何在不破坏 DAG 的情况下做到这一点?
sql-server sql-server-2016
  • 1 个回答
  • 41 Views
Martin Hope
user_0
Asked: 2017-11-18 02:28:16 +0800 CST

无法在本地磁盘上安装 SQL Server

  • 1

我正在安装 SQL Server 的新实例,但出现此错误:

instance directory (or command line option /instancedir) value for a cluster installation cannot be a directory on shared drive

很清楚,这是我的情况:

我有一个包含 3 个服务器的 Microsoft 集群。全部安装了 Windows 2012R2。SQL Server 版本为 2016 SP1。

在前两台服务器上,我有一些 SQL Server 实例在故障转移中使用专用存储。其中一个驱动器是 Y:

此 istance (IS1)无法在 server03 上移动。同样对于光盘,在故障转移集群管理器中,在高级策略下,我从可能的所有者那里删除了 server03。

现在我有另一个磁盘,在 server03 中,带有字母 Y。这是一个本地磁盘。

要配置 AlwaysON,我需要在 Server03 上有一些本地实例,并且我想使用此磁盘进行自动播种。

我怎样才能说服sql server 安装 Y 是本地磁盘?

sql-server sql-server-2016
  • 1 个回答
  • 283 Views
Martin Hope
user_0
Asked: 2017-11-04 04:01:30 +0800 CST

侦听器 IP 地址离线

  • 2

我在 Windows 2012 R2 上的 SQL Server 2016 SP1 CU5 上有一个可用性组。
它工作正常,但我需要在另一个网络上添加一个 IP 地址。

所以我添加了IP:

ALTER AVAILABILITY GROUP [AG_MOON]
MODIFY LISTENER N'AGLISTMOON'
(ADD IP (N'10.20.2.102', N'255.255.255.0')
);

命令运行成功。然后我查询视图:sys.availability_group_listener_ip_addresses:

SELECT * FROM sys.availability_group_listener_ip_addresses;

我可以看到两个地址,但旧地址处于状态 1(在线)。新地址为OFFLINE。

错误日志中没有错误或其他问题指示。

如何在线设置?

sql-server availability-groups
  • 2 个回答
  • 3936 Views
Martin Hope
user_0
Asked: 2017-08-02 01:09:37 +0800 CST

从 sys.server_file_audits 中选择返回错误的文件名

  • 2

我在 SQL Server 2016 实例上激活了审核。
版本 i SP1 CU3,企业版。
使用此查询:

SELECT * FROM sys.server_file_audits

我得到log_file_path: O:\auditfiles\
在log_file_name 中: logins_3D6DA4C0-B388-4175-88A5-D2820733CFB7.sqlaudit

但是当我查询时:

SELECT * FROM sys.fn_get_audit_file ('O:\auditfiles\logins_3D6DA4C0-B388-4175-88A5-D2820733CFB7.sqlaudit',default,default);

它什么也不返回。
在文件系统上检查文件的真实名称是:

logins_3D6DA4C0-B388-4175-88A5-D2820733CFB7_0_131451051332700000.sqlaudit

其中文件名部分_0_131451051332700000未从对 sys 模式的查询中检索到。

当我选择正确的文件名时,我得到了结果。
我需要自动执行此操作,以便从外部查询中收集数据。

如何检索正确的文件名?

sql-server audit
  • 1 个回答
  • 1499 Views
Martin Hope
user_0
Asked: 2017-07-21 07:39:38 +0800 CST

触发跟踪变化

  • 1

在 64 位 SQL Server 2008R2 企业版中,我们创建了一个数据库来跟踪 DDL 更改。
我受到这个解决方案的启发:https ://www.mssqltips.com/sqlservertip/2085/sql-server-ddl-triggers-to-track-all-database-changes/

然后我们在每个数据库上创建一个触发器,如下所示:

CREATE TRIGGER [CaptureChanges] ON DATABASE
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE
 AS ....

在 as 之后,代码在审计数据库中进行了简单的插入。

起初,它工作得很好,但是当一个用户,一个数据库的所有者,但没有审计数据库的权限,试图改变一个存储的,SQL Server 会出现一个权限不足的错误。
这是正确的,因为用户没有审计数据库的权限。

所以我使用EXECUTED AS使用具有sysadmin角色的用户:

CREATE TRIGGER [CaptureChanges]  ON DATABASE
WITH EXECUTE AS 'useradmin'
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE

但现在它不起作用,因为这个错误:

Msg 916, Level 14, State 1, Procedure CaptureChanges, Line 0 [Batch Start Line 0]
The server principal "useradmin" is not able to access the database "userdatabase" under the current security context.

看起来,当您使用 EXECUTED AS 时,您被沙盒化到一个数据库: http: //www.sommarskog.se/grantperm.html#EXECUTE_AS

所以,我不能使用 EXECUTED AS,因为它不能跨数据库工作。我不喜欢创建表来跟踪用户可以是dbowner的每个数据库中的更改的想法。

我可以为每个用户分配在目标表中写入的权限,但是我需要为每个新用户记住这一点。肯定有人会忘记这一点。

我也考虑过跟踪,但它可以很容易地停止,或者它不会在服务器启动时重新启动。

是不是触发方式不对?我能以某种方式解决这个问题吗?

sql-server trigger
  • 1 个回答
  • 527 Views
Martin Hope
user_0
Asked: 2016-03-24 03:16:00 +0800 CST

识别 rman 文件并删除它们

  • 0

我需要清理空间并对数据库进行完整备份。
旧备份在磁带上是安全的。

我的备份位于 2 个特定目录(2 个通道)上。

所以我做了:

DELETE EXPIRED BACKUP;
DELETE OBSOLETE;
DELETE BACKUP;
DELETE DATAFILECOPY ALL;

接下来LIST BACKUP什么都没发现。

不过,在我的目录中我有大约 4 TB 的数据。数据库是 8 TB。

文件的名称如下:

  • 20160226historyotqusdq7_1_1.bck
  • 20151105historydata_D- HISTDB _I-3526265592_TS- history_2013 _FNO-186_pmqlg4jl.bck

依此类推,大约有数百个文件。
HISTDB 是 sid,history_2013 是表空间之一。

我如何识别这些文件是什么并以安全的方式清理它们?

oracle在redhat linux上是版本11.2.0.2,内核版本2.6.18-238.el5

oracle rman
  • 1 个回答
  • 312 Views
Martin Hope
user_0
Asked: 2016-02-16 08:06:45 +0800 CST

从旧的 rman 备份恢复数据 - ORA-01152

  • 2

我在从旧备份中恢复一些数据时遇到了一些麻烦。

原来的机器丢失了,我的任务是恢复数据。这不是一台关键机器,但一些数据仍然有用。

  • 原始服务器上的 Oracle:11.2.0.2
  • 目标服务器上的 Oracle:11.2.0.4

服务器是redhat- 5.6 原版。6.x 目的地。

在安装了 oracle 的新机器上,我做了:

export ORACLE_SID=oldsid
rman TARGET /

在 rman 中,我将 sid 设置为旧数据库:

SET DBID 3348161342;

然后从备份中恢复 controlfile 和 spfile。重要提示:这些文件比备份更新。

RESTORE CONTROLFILE from '/mount/restorepoint/3348161342_41qtltn4_1_1_20160111.bck
restore spfile from '/mount/restorepoint/sp_OLDDB-3348161342_42qtltn6_1_1_20160111.bck';

挂载数据库:

ALTER DATABASE MOUNT;

并指定备份文件的位置:

catalog start with '/mount/restorepoint/rmanfiles';

因为在原始数据库上也有 TDE。

  • 创建了一个存放钱包的目录
  • 创建了带有钱包位置指示的 sqlnet.ora 文件

修改后的系统:

alter system set encryption wallet open identified by "thetdepassword";

然后再次在 rman 中:

alter database mount;
RESTORE DATABSE;

到目前为止,一切都很好。但是当我进入 OPEN 数据库时:

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

好吧,我的坏。然后我使用:alter database open RESETLOGS; 我有错误:

ORA-01152: file 4 was not restored from a sufficiently old backup
ORA-01110: data file 4: '/ltm/data/oracle/dati/olddb/users01.dbf'

我错过了什么?
在原始备份脚本中的选项必须是:

BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE

我怎样才能再次读取该数据?

我来自 sqlserver 和 postgresql 世界,所以可能我错过了一些东西......

oracle rman
  • 3 个回答
  • 21912 Views
Martin Hope
user_0
Asked: 2015-08-22 05:24:06 +0800 CST

toast 列是否也在 shared_buffers 中压缩?

  • 1

在这里阅读我找不到明确的答案: http ://www.postgresql.org/docs/9.1/static/storage-toast.html

我需要知道是否EXTERNAL为特定列设置存储,我可以获得一点性能。我的大部分数据都是从SHARED_BUFFERS.

我很想知道是否对该字段上的每个查询都进行了解压缩。

postgresql compression
  • 1 个回答
  • 217 Views
Martin Hope
user_0
Asked: 2015-01-10 05:23:02 +0800 CST

监控oracle上不可用的索引

  • 1

我有很多数据库、大量分区表和在它们上面运行的许多进程。
在一些情况下,我遇到了无法使用的索引或它们的分区的问题。有问题的程序,或 dba 的人为错误。

当索引变得不可用时,我想发出警报。

Oracle 是 11.2 版,新安装 12。所有企业。
网格控件是12c。

我也在每台机器上安装了nagios

我发现的唯一方法是使用 nagios 插件在数据库上运行自定义查询。这是最好的方法吗?

插件: http: //labs.consol.de/lang/en/nagios/check_oracle_health/

oracle monitoring
  • 1 个回答
  • 827 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve