我可以毫无问题地远程连接到我的数据库,无论是从我们的网络服务器上的 PHP 脚本还是使用 PGAdmin3。
不幸的是,当我尝试在服务器本身上本地运行 pg_dump 备份时,我得到:
pg_dump --username=postgres -W omega | gzip > omega.10.10.13.gz
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)pg_dump: [archiver (db)] connection to database "omega" failed: FATAL: Peer authentication failed for user "postgres"
以前我的数据库根本没有密码,但为了尝试解决这个问题,我实际上给了 postgres 用户一个密码。仍然没有骰子,对等身份验证每次都失败。
这是我的 pg_hba.conf 文件中的设置...请告诉我可以做什么来解决这个问题。真的想在我的数据库上运行一些备份。
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections: …Run Code Online (Sandbox Code Playgroud) 我正在从 mysqldump 恢复备份,并注意到如果我向数据库添加了内容(以新表的形式),它们会在恢复后保留下来。我可以返回并删除这些表以恢复到原始状态,但由于我需要测试迁移,我希望在转储期间将数据库恢复到其状态,而无需手动进入并删除表。
我想我可以DROP Database XXX在恢复之前做一个,但这会妨碍我当前的恢复方法吗?
在我的 SQLS Server 2005 日志中,当备份发生时,我会看到类似以下内容:
Database backed up. Database: blahblah, creation date(time): 2011/08/11(15:49:19), pages dumped: 1, first LSN: 142:489:1, last LSN: 142:491:1,
number of dump devices: 1, device information: (FILE=1, TYPE=VIRTUAL_DEVICE: {'{9A325509-4285-4C8A-E1B2-2F4815C4C4DF}15'}). This is an informational message only. No user action is required.
关于虚拟设备规范,{9A325509-4285-4C8A-E1B2-2F4815C4C4DF}15'}:
该虚拟设备字符串在哪个系统表中?如果重要的话,我问的原因是我对最新备份有疑问并且需要根据虚拟设备进行过滤。
我已经查看了所有明显的地方,例如:
msdb.dbo.backupmediaset
msdb.dbo.backupmediafamily
msdb.dbo.backupfile
msdb.dbo.backupfilegroup
sys.backup_devices
但没有运气。如果它确实存储在某个地方,那么位置在 SQL 版本之间是否会发生变化?
任何帮助表示赞赏。
TIA
巴曼
使用 Microsoft SQL Server,有没有办法备份生产数据库的子集?我只想要数据库结构,以及几个选定表的极少量交易数据。
我想用这个备份文件来刷新开发数据库。
对于 Oracle,我看到这是使用此 Powershell 脚本实现的:
userid="/ as sysdba"
compression=all
directory=TEST_DIR
flashback_time=systimestamp
dumpfile=XX.dmp
logfile=xx.log
schemas=XXXXX
query=SCHEMA.TABLE:"where <condition>
exclude=TABLE:"IN (x)"
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 SQL 2017 中配置备份加密,但遇到了一些问题。
我在一台机器上创建主密钥和证书没有问题。我在另一台机器上安装证书并读取备份也没有问题,但是,如果另一台机器运行的服务帐户与创建证书的服务帐户不同,这将不起作用。
以下是我正在采取的步骤(我也尝试恢复主密钥,但也会引发错误):
/* Server 1 */
/* Create the master key */
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'SomeRandomSecureString';
GO
/* Create the certificate to be used for backups */
CREATE CERTIFICATE BackupCert
WITH SUBJECT = 'Backup Encryption Certificate';
GO
/* Backup the master key */
BACKUP MASTER KEY TO FILE = '\\FileShare\DatabaseMasterKey_Master.key'
ENCRYPTION BY PASSWORD = 'SomeRandomPwd';
BACKUP CERTIFICATE BackupCert TO FILE = '\\FileShare\BackupCert.cer'
WITH PRIVATE KEY (FILE = '\\FileShareBackupCert.pvk',
ENCRYPTION BY …Run Code Online (Sandbox Code Playgroud) 我尝试搜索此内容,但找不到关于此的现有问题。我正在考虑实施 Brent Ozar 的建议,为我们的关键数据库进行细致的备份。我没有一个很好的测试环境,我可以在其中尝试并获得有用的结果。我想知道日志备份作业是否运行超过一分钟,下一个每分钟备份作业会发生什么情况。在这些情况下,我假设作业会失败,但我担心它们会排队,我可能会陷入一个恶性循环,我永远无法赶上备份。其他人可以建议 SQL Server 将如何处理这种情况吗?此外,如果作业失败,它是否会“优雅地”失败(即,备份链没有中断,我可以继续使用日志进行恢复),还是会搞砸并破坏备份链?
另外,如果我在一天中也安排了完整和差异,并且正在运行一个详细的日志,它会保留完整和差异以供运行吗?
我很感激你们能提供的任何帮助。
有人告诉我,对于数据文件备份在范围级别操作,对于日志文件,备份在页面级别操作。
我知道数据文件的文件类型总是“行数据”并以范围(混合或统一范围)的形式存储,而日志以日志的形式存储,即 VLF(虚拟日志文件)。
可以请某人稍微详细地阐明这个概念,因为我对备份如何区分数据和日志感到有些困惑。如果是完整备份,它将存储写入数据文件的所有已提交更改,用于差异 - 自数据文件的上次完整备份以来的所有更改。对于日志备份 - 所有已提交但未写入数据文件的更改。
感谢您对此的宝贵意见。
我有一个使用 SQL Server 2017 的 ASP.NET 应用程序。某处有一个错误导致某些记录被删除,我正在尝试恢复数据并找到错误的原因。我们进行每日备份,我有一个查询来查找哪些记录应该存在但不存在,所以我想遍历并在每个备份上运行查询。备份相当大,但我只需要整个数据库中的 2 个表来进行查询。在一个多月的备份中执行此操作的最有效方法是什么?
出于某种原因,我需要从 T-SQL 日志备份中读取 LSN,而不恢复它们甚至它们的标头(我假设即使只恢复它们的标头也会改变数据库端的 LSN,但我不确定)。
那么T-SQL日志备份文件是加密的还是有特殊结构的?关于我应该从哪里开始的任何信息?
任何人都可以确认或否认仅恢复标头不会影响 sys.fn_dblog 或其他任何东西吗?
我是 DBA 任务的新手。
我正在尝试使用我们公司每天每小时通过 FTP 站点获得 24 次的事务日志(以 SQB 文件格式)恢复数据库,然后我必须使用“RedGate 的 SQL 备份”应用程序将它们转换为 BAK 文件格式。
然后,我计划使用“NoRecovery”恢复每个事务日志,因为我们必须每小时恢复一次。
我发现有一种文件编号“..04”的模式,与其他每小时事务日志相比,它确实很大。
我没有从提供数据的供应商文档中获得有关此文件“..04”的具体说明。
我很好奇我是否应该将此特定文件视为常规事务日志,还是像“差异备份文件”一样对待它?
backup ×10
sql-server ×8
restore ×3
dump ×1
encryption ×1
mysql ×1
postgresql ×1
recovery ×1
schema ×1
sp-blitz ×1