我们的数据库服务器由另一家公司托管。它们提供每天发生一次的文件级备份。它们还允许日志传送。我的公司正在利用他们的 Logshipping 选项作为其备份和恢复解决方案的主要部分。
我想要一个更好的备份系统,让我们能够将数据恢复到故障点。通常,这将是数据库的完整备份模型和事务日志的备份以及完整和增量。但是,供应商告诉我,向我们提供事务日志备份会导致日志传送出现问题。
是否有备份策略可以让我恢复到故障点并使用日志传送?
我有两个数据库 - Database1 和 Database2。
两个数据库都包含一个结构相似的表,示例如下:
================================================== ========================================== | 身份证 | 姓名 | 电话无格式 | 拨打国家/地区代码 | 国际拨号代码 | 互联网顶级域名 | ================================================== ========================================== | | | | | | | ================================================== ==========================================
但是,由于某种原因,(a) 一个数据库中的一个表的数据与 (b) 另一个数据库中的另一个表中包含的数据不完全相同。
所以,我怎么可以比较Database1.Table1反对Database2.Table1?
我尝试使用以下查询,但什么也没发生,所以想知道是否必须重写它:
SELECT MIN(TableName) as TableName,
ID,
Name,
PhoneNoFormat,
DialingCountryCode,
InternationalDialingCode,
InternetTLD
FROM
(
SELECT 'Table A' as TableName,
A.ID,
A.Name,
A.PhoneNoFormat,
A.DialingCountryCode,
A.InternationalDialingCode,
A.InternetTLD
FROM [D:\DATABASE1.MDF].[dbo].[Table1] AS A
UNION ALL
SELECT 'Table B' as TableName,
B.ID, B.Name,
B.PhoneNoFormat,
B.DialingCountryCode, …Run Code Online (Sandbox Code Playgroud) 今天,在我们的 sql server 上的一个驱动器空间不足之后。该驱动器包含事件跟踪器日志,所以我认为这没什么大不了的,但后来我注意到当我将一条记录插入到数据库中时,它会将它插入到以前的记录之上而不是附加它。
当我做select *的时候,插入的记录首先出现。我能做些什么来解决这个问题吗?
section_d section
-------------------
15 SDSD
16 SDSD2
17 SDSD2
18 adf
(4 row(s) affected)
insert into test2 values ('inserted row')
section_d section
-----------------------
19 inserted row
15 SDSD
16 SDSD2
17 SDSD2
18 adf
(5 row(s) affected)
Run Code Online (Sandbox Code Playgroud) 可能的重复:
为什么事务日志不断增长或空间不足?
我有一些 sql server 数据库,其恢复模式设置为完整。现在对于某些数据库,ldf 大小已经变大。我尝试定期进行日志备份,但我没有发现 ldf 的物理大小减少。我遵循了 stan20 在此链接中所说的http://social.msdn.microsoft.com/Forums/en-US/databasedesign/thread/704bcfbc-9251-4f4e-9a80-04bc7fe9ae78 但它只减少了逻辑文件大小。那么我如何管理ldf文件的大小?
我的母语不是英语,我已经阅读了 BOL 中的描述,但仍然无法理解它们到底是什么。谁能用通俗易懂的方式解释一下?
谢谢。
我在我的 ldf 文件中收到错误 833,而且我收到了很多错误。
请参阅以下内容。发生这种情况时,我的应用程序已经挂起。
我知道错误 833 已被多次报告,但是如果它始终指向我无法访问的 LDF 文件,这意味着什么?是不是因为LDF文件已经很大了?
我在 Windows 2008 环境中使用 SQL Server 2008 R2。数据库处于无响应状态,重启是唯一删除挂起 I/O 的方法。一旦开始,它还没有结束。
对此有什么可能的解释?请查看 sql 错误日志中的日志文件。
可能也是因为这个错误吗?
http://support.microsoft.com/kb/2708012
顺便说一句,sql server 一直没有响应,这发生在夜间。只有重新启动才能使服务器再次响应。
01/21/2013 12:22:09,spid3s,Unknown,SQL Server has encountered 19 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [E:\MSSQL.1\MSSQL\DATA\test_database_log.LDF] in database [test_database] (6). The OS file handle is 0x00000000000008B8. The offset of the latest long I/O is: 0x00001028a8ac00
01/21/2013 12:15:29,spid3s,Unknown,SQL Server has encountered 17 occurrence(s) of I/O requests taking longer than …Run Code Online (Sandbox Code Playgroud) 我想知道在SQL Server 2012/2008 的setup.exe 中选择哪个选项?我这里有的是 Windows Active/Active 集群设置,其中配置了一个仲裁和一个 msdtc。我通过选择“新 SQL Server 故障转移群集安装”安装了我的第一个节点,现在我不确定在第二个节点上选择什么。在第二个节点上,我应该选择相同的“新 SQL Server 故障转移群集安装”还是选择“将节点添加到 SQL Server 故障转移群集”选项。请记住,它将是 A/A SQL Server 群集。感谢您的回答。
sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012
我有一个有 33 GB 事务日志的数据库。这是因为数据库处于完全恢复模式,在第一次备份之前已经使用了 5 年以上。
我想使用以下命令截断和缩小日志文件
Backup log dbname with truncate_only
go
DBCC shrinkfile('logicalfilename',100)
Run Code Online (Sandbox Code Playgroud)
我想知道在我运行了上面的命令之后,将来我是否能够恢复到 Future full backup 1 和 2 之间的时间点?
时间线
谢谢,
我想更改我的 SQL Server 的名称。
目前我正在连接到SERVER1\SQLSERVER. SERVER1是机器名称。我想更改它,以便我可以连接SERVER2\SQLSERVER并保留SERVER1为机器名称。
我试过:
sp_dropserver 'SERVER1\SQLSERVER'
sp_addserver 'SERVER2\SQLSERVER', local
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了服务器。
如果我验证我得到新的服务器名称:
select @@servername
Run Code Online (Sandbox Code Playgroud)
看起来名称已更改,但SERVER2\SQLSERVER在SERVER1\SQLSERVER连接仍然有效时我无法连接。
我在这里错过了什么......这甚至可能吗?
sql-server ×10
backup ×3
audit ×1
except ×1
hang ×1
log-shipping ×1
order-by ×1
restore ×1
ssms ×1