小编yru*_*hka的帖子

10 TB 数据库备份/恢复问题

我们有一个非常大的生产数据库,有 10 TB。我们正在考虑将其迁移到云服务,但我必须了解风险并估计整个过程的持续时间。我使用 Native SQL Server 2014 SP2 备份解决方案每月备份一次数据库。持续时间几乎是 720 分钟 - 12 小时。压缩比为 5,这意味着备份大小几乎为 2 TB。我们负担不起差异备份,因为累积的差异备份需要与完整备份一样多的时间和空间,因此我们进行 T-log 备份(每个 ~200 Mb)而不是每 10 分钟 ~ 每天 144 个文件。最大的问题是拥有所有这些统计数据,有没有人知道恢复包含 10 TB 数据的 2 TB 备份需要多长时间?它会比完整备份持续时间长得多吗?

sql-server backup restore

17
推荐指数
2
解决办法
5770
查看次数

SQL Server - RangeX-X 和 RangeI-N 锁

我在死锁分析中遇到了死点。根据msdn

RangeX-X 为 Exclusive range,独占资源锁;在更新范围内的键时使用。RangeI-N 是插入范围,空资源锁;用于在将新键插入索引之前测试范围。

所以我明白,如果我在 2 个键列上有一个索引 - 并且我插入一个新键,我将拥有 RangeI-N 锁,但如果我从索引更新现有键,我将拥有 RangeX-X。

但我的问题或多或少复杂。假设我在 A、B 列和 C 列上有索引 IX_keys_included。

在 Serializable 隔离模式下,我为包含的列 C 插入一个新值。索引 IX_keys_included 是否会有 RangeI-N 或 RangeX-X 锁?实际上,鉴于我为索引中包含的列插入了一个新列,是否会有任何锁定?

sql-server locked-objects locking

8
推荐指数
1
解决办法
2876
查看次数

用于 ODBC (MSDASQL) 问题的 64 位 OLEDB 提供程序

我需要从位于 Windows 64 位 2003 SP2 服务器上的 SQL 2008 SP1 64 位实例到 Mysql 服务器创建一个链接服务器。正如你们许多人知道的那样,用于 64 位系统的 MSDASQL 提供程序由 Microsoft 稍后在热修复中提供。这是我到目前为止所做的:

  1. 安装 MySQL 连接器。
  2. 安装 MSDASQL 提供程序。
  3. 使用正确的凭据创建 ODBC 连接。测试成功。

当我尝试创建指定新创建的 DSN 的链接服务器时,出现以下错误:

无法为链接服务器“MYSQL”初始化 OLE DB 访问接口“MSDASQL”的数据源对象。链接服务器“MYSQL”的 OLE DB 提供程序“MSDASQL”返回消息“由于系统错误 998(MySQL ODBC 5.1 驱动程序),无法加载指定的驱动程序。”。(Microsoft SQL Server,错误:7303)

我提到在安装包含 OLEDB 提供程序的修补程序后我没有重新启动服务器,因为它是一个生产服务器,我必须有一个很好的理由这样做。是否需要重启?

我安装了进程监视器,在抛出错误之前我看到了 SQL 尝试访问两个路径:

路径:C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll.2.Config 结果:NAME NOT FOUND

路径:C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ 结果:NAME NOT FOUND

我将 C:\Program Files\MySQL\Connector ODBC 5.1 的全部权限授予了试图获得访问权限的用户。

有谁知道我该如何解决这个问题?

谢谢,

mysql sql-server

6
推荐指数
1
解决办法
2万
查看次数

检查的第一个模式是什么?

我现在有点困惑。有人可以用一个简单的答案来回答我这个问题。

我有一个用户 [user_test],并为一个数据库 [database_test] 分配了 [db_owner] 角色。用户的默认架构是 [user_test] 并且几乎所有来自 [database_test] 的对象都是在架构 [user_test] 下创建的。在数据库中还存在 3 个具有架构 [dbo] 的对象

用户对两种模式都有权限:[dbo] 和 [user_test],无需在对象引用前面的 select 语句中明确指定它们。

当用户 [user_test] 调用对象时,SQL 检查的第一个模式是什么?

我的意思是,如果 [user_test] 从 dbo 模式中选择一个对象(前面没有模式),SQL 会先检查它指定的默认模式,然后再检查 dbo 吗?

谢谢,

sql-server-2005 sql-server-2008

5
推荐指数
1
解决办法
380
查看次数

批量插入 - 最佳用法

我需要将 1.5 亿行只有 int/bigint 列从一个 SQL 实例导出到另一个。我使用 BCP queryout 导出行和 BULK INSERT 将行导入另一个表。

我将 1.5 亿行拆分为 3 个 BCP 导出文件,每个文件有 5000 万行和 3 个 BULK INSERTS。它有效(15 分钟 BCP 输出/40 分钟批量插入),但我宁愿只导出一个文件并导入一个文件。

这在技术上是可行的,还是我可能会遇到大量行的问题?我从未从 BCP 文件中导入超过 5000 万行,我不确定这如何解决。BCP 导出或导入有限制吗?

谢谢,

sql-server-2008 insert bcp bulk

5
推荐指数
1
解决办法
2592
查看次数

涉及属性时选择 XML 值

我有一个在字段中存储 XML 值的表:OtherData。

来自一行的 XML 值:

< file path="C:\WINDOWS\system32\svchost.exe" />
Run Code Online (Sandbox Code Playgroud)

我想选择所有具有像“%svchost%”这样的属性路径的行

执行此操作的正确 SQL 查询是什么?

sql-server-2008 xml

5
推荐指数
1
解决办法
3893
查看次数