数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答

1
没有故障转移群集的环境中Windows Update之后AlwaysOn可用性组错误
今天早上我们的SQL Server服务关闭,这使我们的一些网站瘫痪了。当我检查Windows事件查看器时,看到以下错误: 数据库'master'的脚本级别升级失败,因为升级步骤'SSIS_hotfix_install.sql'遇到错误942,状态4,严重性25 无法恢复主数据库。SQL Server无法运行。从完整备份还原母版,对其进行修复或重建。有关如何重建主数据库的更多信息,请参见SQL Server联机丛书。 我所做的第一件事是向Google发送错误信息。我最终找到了一个包含确切问题的论坛条目,并对其进行了修复(也在我正在寻求解决方案的博客条目上)。该问题与AlwaysOn可用性组有关,并且此修复程序要求您执行以下操作: 使用跟踪标志902启动SQL Server服务: 净启动MSSQL $ InstanceName / T902 打开SQL Server Management Studio,转到可用性组,然后从可用性数据库中删除SSISDB 打开“新建查询”,执行SSIS_hotfix_install.sql脚本,该脚本位于\ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQL $ InstanceName \ MSSQL下的Install文件夹中。 停止SQL Server服务: 净止损MSSQL $ InstanceName 从SQL Server配置管理器启动SQL Server服务 将SSISDB添加回可用性组 但是,我无法通过第2步,因为在尝试扩展“ AlwaysOn High Availability”文件夹时遇到以下错误: 在此实例上创建可用性组之前,必须为服务器实例“ InstanceName”启用“ AlwaysOn功能”。 然后,我按照说明转到“ SQL Server配置管理器”和“ …

1
Firebase对于数据库有哪些优缺点?
我目前正在开发一个网站,以跟踪从考试中获得的学分,以及这些学分如何与用户的目标学分相提并论。 我正在寻找一个数据库系统,该数据库将存储某人可以参加NCEA(新西兰的资格认证系统)的所有可能考试,并存储用户的考试目标和实际结果。 我已经考虑过将Firebase,mySQL和JSON存储与GET和POST请求一起使用,以便存储和更改数据。 使用Firebase作为数据库的优点和缺点是什么?

1
mongodb分片迁移500GB需要13天-这是缓慢的还是正常的?
我有mongodb分片群集,分片键是哈希值。它具有2个分片副本集。每个副本集有2台计算机。 我通过添加另外2个分片副本集进行了实验,然后开始重新平衡。 但是,一段时间后,我发现块迁移相当缓慢。移动1.4GB数据需要1个小时。 这让我很担心,这意味着我必须等待13天才能完成500GB的块迁移! 我对这些东西还很陌生,我没有上帝会感觉它是缓慢,快速还是正常。但是,这些数字并不能说服我。 关于实验的其他说明:-使用m3中型aws计算机-不运行其他进程,仅迁移块-默认的mongodb分片安装,无需进一步配置-分片使用对象ID(_id)的哈希值-最大块大小为64MB

3
程序集'system.web,版本= 4.0.0.0,文化=中性,publickeytoken = b03f5f7f11d50a3a'。在SQL目录中找不到
我正在尝试使用System.Web的HTTPUtility.UrlDecode方法部署SQL CLR函数,但是无法部署它。收到错误: .Net SqlClient数据提供程序:消息6503,级别16,状态12,行1程序集'system.web,version = 4.0.0.0,culture = neutral,publickeytoken = b03f5f7f11d50a3a。' 在SQL目录中找不到。 功能(作为SSDT项目的一部分): using System; using System.Web; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true)] public static SqlString udf_UrlDecode(SqlString encodedXML) { string decodedXML; decodedXML = HttpUtility.UrlDecode(encodedXML.ToString()); return new SqlString(decodedXML); } } 与这个线程有关。我是带有VS2012 SSDT和数据库项目的SQL …


1
T-SQL-选项(FAST x)和跟踪标志8722
我已经搜索了很长时间,但仍然找不到我的问题的答案。 我们的Dynamics AX生成带有查询提示OPTION(FAST x)的查询,有时会强制使用错误的执行计划。开发人员说这是默认设置,很难更改(可能会固定在所有表格上)。 因此,我正在寻找一种使用跟踪标志覆盖这些提示的方法。我发现了可爱的跟踪标志8722,据称它使SQL Server忽略了某些查询提示,尤其是OPTION子句中的那些。 但是,这对我来说不起作用。我也尝试启用跟踪标志8602(禁用索引提示),但我的查询仍在使用FAST x提示运行(这比我实际删除OPTION子句时要慢得多)。 我也尝试清除计划缓存,但无济于事。 有任何想法吗?我有什么想念的吗? PS我全局启用了跟踪标志,这是SQL Server 2012 Developer版本

1
基于客户端TCP端口的SQL Server跟踪
我有一个Windows终端服务器,其中许多用户通过RDP登录以运行应用程序。该应用程序为每个用户与SQL Server 2008 R2实例建立一个或多个连接。所有用户都使用相同的SQL登录名访问相同的数据库。我希望能够跟踪特定用户的SQL会话,但是我还没有找到一种方法来确定哪个SQL会话属于哪个用户。但是,我能够确定应用程序的每个实例使用的源TCP端口。 有没有一种方法可以基于客户端的TCP端口来跟踪SQL会话?

2
多行插入与多个单行插入
在我的应用程序中,我会尽可能执行多行插入操作,因为这会减少数据库与应用程序之间的往返次数。 但是,我很好奇,还有其他优势吗?例如,如果像这样一次插入多行: insert into tbl (c1, c2) values (v1, v2) (v3, v4) 与: insert into tbl (c1, c2) values (v1, v2) insert into tbl (c1, c2) values (v3, v4) 并且该表具有索引,在第一种情况下该索引是计算一次,在第二种情况下是两次计算?还是每次插入总是一次?假定两个查询都在同一事务中。 我正在使用PostgreSQL。

2
从查询中插入缺少的日期
如何从我创建的查询中插入缺少的日期。结果如下: Date Frequency 2014-05-18 5 2014-05-20 7 2014-05-25 7 2014-05-27 6 我希望结果缺少具有0值的日期,如下所示: Date Frequency 2014-05-18 5 2014-05-19 0 2014-05-20 7 2014-05-21 0 2014-05-22 0 2014-05-23 0 2014-05-24 0 2014-05-25 7 2014-05-26 0 2014-05-27 6 请注意,我对服务器具有只读访问权限。

4
不知道如何将变量实体转换为关系表
简介和相关信息: 以下示例说明了我面临的问题: 动物有种族,可以是猫或狗。猫可以是暹罗语或波斯语。狗可以是德国牧羊犬或拉布拉多犬。 动物是一个强大的实体,而其种族是可以具有两个提供的值(猫或狗)之一的属性。 这两个值都很复杂(我在这里仅添加了dog / cat的类型来说明问题,但也可能有cat / dog的名字和其他东西)。 问题: 我不知道如何为该示例创建关系表。 我为解决问题所做的努力: 我尝试使用Chen的符号来绘制ER图,该图代表了问题,但作为一个初学者,我不知道我是否做对了。这是我得到的: 如果我画错了,我深表歉意,如果是的话,请纠正我。我不仅希望获得“免费的解决方案”,而且希望学习如何处理该问题,以便将来自己解决。 我唯一想到的就是创建两个单独的表,一个用于猫,一个用于狗。同样,“ 动物”表中的“ 种族”属性将仅存储猫或狗的值。像这样: Animal< # Animal_ID, race, other attributes > Cat < # Cat_ID, $ Animal_ID, breed > Dog < # Dog_ID, $ Animal_ID, breed > 我对解决方案确实感觉很不好,我担心这是错误的,因此出现以下问题。 问题: 如何将示例转换为ER图? 如何将ER图转换为关系表? 如果需要更多信息,请发表评论,我将尽快更新我的帖子。也可以随意添加适当的标签,因为我在这里还很陌生。 谢谢。


1
进行还原时是否尾日志备份?
通常,在将数据库从生产服务器还原到非生产服务器时,我将使用WITH REPLACE选项,就像我忘记了有关未备份尾日志的错误时一样。 根据MSDN,在恢复之前,我确实应该备份我的尾日志: 如果数据库处于联机状态,并且您打算对数据库执行还原操作,请先备份日志尾部。为避免在线数据库出错,必须使用BACKUP Transact-SQL语句的…WITH NORECOVERY选项。 我这样做的方式有哪些危险或不利之处?为什么备份尾部日志对我来说是最有利的? 我正在使用SQL Server 2008R2,但我假设此查询与SQL Server的大多数较新版本相关,因此最初并未对其进行标记。

1
如何用双引号附加列的值(在字符串周围添加引号)
我有一个表,其列为TEXT类型。列中为数字字符。我想要实现的是将这些字符用双引号引起来。 例: NAME ID QTY Apples A1 1 Oranges O1 1 Foo F1 0 理想输出: NAME ID QTY Apples A1 "1" Oranges O1 "1" Foo F1 "0" 我尝试运行以下SELECT语句,但未获得预期的结果。也许您可以指引我正确的方向? SELECT `qty`, CHAR('"'|| qty ||'"') FROM `myTable`; 谢谢
9 mysql  concat 

1
查找服务器上SQLNET.ORA参数的活动值
如何在服务器上找到SQLNET.ORA参数的活动值? 我知道如何找到SQLNET.ORA文件,但不能保证该文件中的值会被积极使用。参数更改可能需要重新启动侦听器,有时甚至需要重新启动数据库。对于调试,我希望有一种方法可以100%确定如何设置参数,而无需重新启动任何程序。 这类似于这个问题,但是我正在寻找找到当前值的任何方法。它不必是SQL查询。 到目前为止,我一直在尝试以下这些使我相信这是不可能的: 跟踪不会生成该数据。 数据字典中似乎没有任何内容。 手册或support.oracle.com中没有任何信息。 提供了赏金,但没有接受者。(但如果有人可以回答,我将提供并奖励另一个赏金。)
9 oracle 

2
Cassandra:维护
我对Cassandra缺乏经验,但是我对基于SQL的关系数据库有一些经验。 部署后,我一直无法找到有关如何维护Cassandra的最佳实践信息。是否需要VACUUM数据库?我应该认为读/写负载会导致存储碎片化。 或更笼统地说:维护Cassandra生产部署的最佳实践是什么?必须定期执行哪些操作才能维护系统的运行状况?操作手册实际上没有讨论这方面。 谢谢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.