Questions tagged «sql»

结构化查询语言(SQL)是一种用于在关系数据库管理系统中管理数据的语言。该标签用于一般的SQL编程问题。它不适用于Microsoft SQL Server(为此,请使用sql-server标记),也不能单独引用SQL的特定方言。

2
如何使用多个应用程序实例安全地运行数据库迁移?
我们有一个应用程序,它既有快速的迁移(<1秒)又有缓慢的数据库迁移(> 30秒)。现在,我们正在将数据库迁移作为CI的一部分来运行,但是我们的CI工具必须知道我们的应用程序(在多个环境中)的所有数据库连接字符串,这并不理想。我们希望更改此过程,以便应用程序在启动时运行自己的数据库迁移。 情况如下: 我们有此应用程序的多个实例-在生产中大约有5个实例。我们称他们为node1, ..., node5。每个应用程序都连接到一个SQL Server实例,并且我们不使用滚动部署(就我所知,所有应用程序都是同时部署的) 问题:说我们的迁移时间很长。在这种情况下,先node1启动,然后开始执行迁移。现在node4开始,并且长时间运行的迁移尚未完成,因此node4也开始运行迁移->可能的数据损坏?您将如何预防该问题,或者该问题甚至足够重要而值得担心? 我当时正在考虑使用分布式锁(使用etcd或类似的方法)解决此问题。基本上,所有应用程序都尝试获取锁,只有其中一个可以获取并运行迁移,然后解锁。当其余的应用程序启动并进入关键部分时,所有迁移都已运行,因此迁移脚本将退出。 但是,我的直觉是说:“这太过分了,必须有一个更简单的解决方案。”因此,我想问一下这里是否有其他更好的主意。

1
如何使用样本数据正确记录算法?
我想知道算法文档应包含什么?找不到合适的指导方针可以遵循。我想包括 算法总结 算法说明 流程图 伪代码 样本输入数据集(多个) 输出数据 单元测试 实验 客户要求提供这样的文档,以便:对我们自己的号码保持信心,并向潜在客户描述我们的流程,以便他们知道我们正在采取步骤来检查和验证我们的计算。 这样的文档看起来如何?(示例PDF) 您将在本文档中进一步包括什么? 我列举的是那么好,还是应该以不同的方式记录下来? 您将如何在Google中搜索此类文档样本?

1
关系代数/演算证明可以用于测试/验证SQL吗?
使用证明形式的关系代数和/或关系演算来测试/验证SQL语句,函数和存储过程的正确性,是否可行甚至可能? 在我看来,至少应该有这种可能,但是我不知道是否缺少细节,使证明与代码之间的1:1映射不正确。 你们有没有尝试过这样的方法?奏效了吗?您的经历如何?

6
从2000年代开始的软件解决方案,我应该尝试修补还是重新制作整个产品吗?
我被派去讨论某个公司当前正在使用的系统以及应该如何处理。 该公司生产各种纸箱展示架。开发该系统是为了跟踪客户,订单和价格。自从创建系统以来,发生了很多事情,并且正如经理所描述的那样,系统现在已“ 锁定 ”和“ 有问题 ”,我将其翻译为“非动态”和“不稳定”。 有关系统的一些信息 它是在2000年左右开发的 相当小的系统,2-5个用户,6个表格,〜8个表,平均数据量 建立在早期的Visual Basic上,是通过拖放设计创建的表单。界面基本上只是一个带有菜单和某些形式的窗口 使用MSSQL数据库(SQL2005服务器)存储数据并使用ODBC驱动程序进行查询,在此系统之前,数据是从excel迁移而来,在excel之前,它是用手工和纸来处理,计算和编写的 用户在Microsoft XP环境(及更高版本)中工作 他们的主要问题是他们无法正确地调整和计算价格,无法添加新的纸箱类型等,因为它们无法(或者更确切地说,他们不知道如何)触摸服务器上的数据。 我建议了3种可能的解决方案 尝试修补当前系统 创建一个全新的界面(最好是类似的环境,基于VB.net或VB) 考虑到它是一个很小的系统,请将其重新带到Excel解决方案中 可能还有更多选择,但是这些是我能想到的。 我的问题是 我应该推荐什么,为什么? 这些替代方案的利弊是什么? 还有其他(可能更好)的选择吗?

4
在C#中从MS SQL Server查询数据的最佳实践?
在C#中从MS SQL Server查询数据的最佳方法是什么? 我知道在代码中进行SQL查询不是一种好习惯。 是创建存储过程并从C#中使用参数调用它的最佳方法吗? using (var conn = new SqlConnection(connStr)) using (var command = new SqlCommand("StoredProc", conn) { CommandType = CommandType.StoredProcedure }) { conn.Open(); command.ExecuteNonQuery(); conn.Close(); }
9 c#  sql  sql-server 

3
您如何处理不断变化的数据库尺寸?
在过去大约两个月的时间里,我一直在寻找解决方案或实践来处理数据库中的发布管理。我正在寻找人们认为是处理此问题的最佳过程。 我们的数据库有3个环境: 发展历程 用户验收测试(UAT) 生产 问题是有时我们要对开发数据库中的某些内容进行更改,并需要进行部署,因此某些功能可能尚未准备好发布到UAT。 最近,我们开始使用Red Gate SQL Source控件存储所有实体(具有常规提交)。 我曾考虑过要基于变更集(例如,从变更集X到后端的所有内容现在都被推送到UAT),但这意味着人们只在将我们的代码部署到源代码管理中之前,才进行可能会造成混淆的部署(特别是因为人们健忘)。使用变更集方法的另一个问题是,如果存储过程中存在需要修复的错误,变更集编号最终将超出修订的最大变更集范围,因此,如果需要根据最大变更集重新创建数据库,我们将再次推出该错误。 关于流程有什么建议吗? 谢谢
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.