锁定整个数据库?

2024-03-16

我有非常奇怪的用户需求。我试图向他们解释有更好的方法来支持他们的业务流程,但他们不想听。我很想走开,但我首先想看看是否还有其他方法。

有什么方法可以锁定整个数据库而不是行锁或表锁。我知道我也许可以将数据库置于单用户模式,但这意味着一次只有一个人可以使用它。我希望许多人能够同时阅读,但一次只有一个人能够写入。

他们正在尝试进行一些非常奇怪的数据迁移。


你想实现什么目标?

  • 您想让整个数据库只读吗?你绝对可以做到
  • 您想阻止任何新客户端连接到数据库吗?你也绝对可以做到

但就只允许一个人使用数据库而言,实际上不存在“数据库锁”的概念。据我所知,至少在 SQL Server 中不是这样。无论如何,这对你有什么好处呢?

如果您想从该数据库中迁移数据,那么将数据库设置为只读模式(或创建它的快照副本)可能就足够了,也是最简单的方法。

UPDATE:对于您提到的场景(为拥有笔记本电脑的人获取数据,然后重新同步),您绝对应该检查一下ADO.NET 同步服务 http://msdn.microsoft.com/en-us/library/bb726002.aspx- 这正是它的用途!

即使您无法使用 ADO.NET 同步服务,您仍然应该能够根据笔记本电脑中的更改有选择地、智能地更新中央数据库,而无需锁定整个数据库。 SQL Server 有多种方法可以在数据库正在使用时更新行 - 实际上没有必要仅仅为了更新几行而完全锁定整个数据库!

例如:你应该有一个TIMESTAMP http://technet.microsoft.com/en-us/library/ms182776.aspx (or ROWVERSION http://technet.microsoft.com/en-us/library/ms182776.aspx)列在每个数据表上,这可以让您轻松查看是否发生了任何更改。如果 TIMESTAMP 字段(实际上只是一个计数器 - 它与日期或时间无关)没有更改,则该行没有更改,因此不需要考虑更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

锁定整个数据库? 的相关文章

  • PHP 数据库显示在具有不同锚标记的相同字段中

    我四处寻找 看看这是否可行 但却空手而归 首先 这是我的代码 div style display none div ul li li li li li li ul
  • ORDER BY id 或 date_created 显示最新结果?

    我有一个表 实际上有几个 我想首先从中获取最新条目的结果 这是我的ORDER BY条款选项 date created INT 从不改变值 id 当然是INT AUTO INCRMENT 两列应同等地代表记录插入的顺序 我自然会使用date
  • SQL Server 到 er 模型

    是否有程序可以将 SQL Server 数据库图表转换为 er 模型 或者从 SQL Server 服务器创建数据库的 er 模型 在 SQL Server 中 Management Studio 中的每个数据库都有 数据库图 功能 您可以
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • 仅当所有记录都匹配时 SQL 连接

    我有3张桌子 CP carthead idOrder CP cartrows idOrder idCartRow CP shipping idCartRow idShipping dateShipped 每个 idOrder 可以有多个 i
  • 删除 mysql 数据库中超过 3 个月的行的作业

    我们使用 mysql 服务器作为集中式日志系统 我希望有一项工作来定期删除 清理超过 3 个月的表条目 做这个的最好方式是什么 提前致谢 hinling 您是否在字段中存储项目的创建日期 If so DELETE FROM myTable
  • 使用python shelve跨平台

    我希望得到关于 Python 中的书架 数据库的一些建议 问题 我在 Mac 上创建了一个数据库 我想在 Windows 7 上使用该数据库 我使用 Python 3 2 MacOS 10 7 和 win 7 当我在 Mac 上打开并保存我
  • 使用 SqlDataReader.IsDBNull 时使用列名

    我已经得到了从 SQL DB 读取数据的代码 我不知道应该如何编辑它 以便我可以使用原始列名称而不是列索引 string query SELECT FROM zajezd WHERE event thisrow AND year klien
  • 如何识别 SQL Azure 中的死锁?

    我有一个由两个实例组成的 Windows Azure 角色 有时交易会失败并显示SqlException与以下文字 事务 进程 ID N 在锁资源上与另一个进程发生死锁 并被选为死锁牺牲品 重新运行事务 现在我已经谷歌搜索了一段时间并阅读这
  • TSQL如何在xml列中选择具有技能的员工

    在如下所示的表架构中 CREATE TABLE dbo Employee EmployeeId uniqueidentifier NOT NULL Name nvarchar 50 NOT NULL Location nvarchar 50
  • 为什么在读取字典时要锁定

    我对我正在阅读的一本关于线程的书 C 3 in a Nutshell 中的代码列表感到困惑 在 应用程序服务器中的线程安全 主题中 给出了以下代码作为 UserCache 的示例 static class UserCache static
  • SQL Server 返回了不完整的响应。连接已关闭。;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException:

    我们正在将 Spring Batch 应用程序从 Oracle DB 迁移到 Azure SQL Server 该应用程序运行几个小时50线程 下面是我的 JDBC 配置 MSSQL DRIVERCLASSNAME com microsof
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • 存储过程总是返回0

    我试图从存储过程获取返回值 但它总是返回 0 c code cmd new SqlCommand cmd CommandType CommandType StoredProcedure cmd CommandText AbsentEntry
  • 复制数据库的最佳方法是什么?

    当我想要复制数据库时 我总是创建一个新的空数据库 然后将现有数据库的备份恢复到其中 然而 我想知道这是否真的是最不容易出错 最不复杂且最有效的方法 可以跳过创建空数据库的步骤 您可以在恢复过程中创建新数据库 这实际上是我所知道的克隆数据库最
  • 什么会导致 Oracle ROWID 更改?

    AFAIK Oracle 中的 ROWID 表示相应数据文件中记录的物理位置 在什么情况下记录的ROWID可能会改变 我所知道的一个是分区表上的更新 它将记录 移动 到另一个分区 还有其他情况吗 我们的大多数数据库都是 Oracle 10
  • 使用数据库进行日志记录

    大多数日志似乎都是纯文本形式 而不是放入 MySQL 其他类型的数据库中 这是否有原因 在我看来 将它们放入数据库将使分析变得非常非常容易 但这会以牺牲速度还是其他什么为代价 我不太关心可移植性 显然你会有数据库连接的文本日志 我能想到两大
  • 创建具有动态列数的临时表

    我正在尝试创建一个具有动态列数的临时表 set cmd SELECT into temp3 from select from sometable x pivot max buildrate for name in columns as y
  • 如何使用 django-pyodbc (ubuntu 16.04) 配置数据库设置 Django-MSSQL?

    我是 Django 新手 目前正在尝试使用另一个数据库来保存我的模型 即MS SQL 我的数据库部署在docker容器中 903876e64b67 microsoft mssql server linux bin sh c opt mssq
  • SQL Server 中的嵌套事务

    sql server 允许嵌套事务吗 如果是的话那么交易的优先级是什么 来自 SQL Server 上的 MSDN 文档 嵌套交易 http msdn microsoft com en us library ms189336 SQL 90

随机推荐

  • PyQt - 如何打开目录文件夹?

    我搜索了很多 我知道如何打开目录对话框窗口 但我正在寻找的是在Windows操作系统下打开目录文件夹的方法 就像右键单击本地文件夹之一并选择打开一样 有什么建议么 对于 python 3 7 你可以这样做 os startfile path
  • 在c中实现时间延迟

    我不知道如何准确地描述这个搜索 所以我没有运气找到任何东西 S 我需要在 C 中实现时间延迟 例如我想做一些事情 然后等一分钟 然后继续做事情 这有道理吗 谁能帮我吗 在标准 C C99 中 您可以使用time 为此 请执行以下操作 inc
  • 将内存中的图像转换为 Blob [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我内存中有一个图像 类型 java awt Image 我想使用jdk 1 7将其转换为Blob 类型 java sql Blob 我能找
  • 为什么Python的导入不能像C的#include那样工作?

    我实际上已经尝试理解 Python 导入大约一年了 我几乎放弃了 Python 编程 因为它看起来太混乱了 我有 C 语言背景 我认为import工作就像 include 但是如果我尝试导入某些内容 我总是会遇到错误 如果我有两个这样的文件
  • 在 RMI 期间知道端口号

    有没有办法在RMI过程中同时知道客户端和服务器的端口号 当在 RMI 过程中向客户端返回结果时 客户端下次请求该结果时 客户端和服务器之间的对话是否会在与上次相同的端口上 当服务器自第一个结果返回后一直在运行时或新的端口已创建 例如 cal
  • 动态传递参数

    我正在尝试使用 ExtJS 4 将图像从数据库检索到数据视图 现在我需要动态传递参数 主要是这里 Ext define pkgName v02x003001 SV02X00300102 extend Ext view View alias
  • 下载 Excel 文件时帧加载中断

    我有一个 Angular 脚本 它会访问我的服务器并获取一些数据 该调用如下所示 http post url success function response Do some work Go to the link that the se
  • Jquery上下移动行

    我使用了给出的代码here https stackoverflow com questions 1569889 jquery move table row使用 jquery 在 gridview 中向上 向下移动行 这工作得很好 但是如何实
  • 使用 Kafka 和 NodeJS 进行实时通知

    在我的项目中 我必须设计一个实时通知系统 我就是这样做的 如下图所示 你可以看到我使用 Kafka 作为队列消息系统 并使用 NodeJS 来构建 Websocket Server 和 Kafka Consumers 生产者将收集通知数据并
  • 构建失败,显示 500,请在服务器上运行“jupyter lab build”以获得 Jupyter lab 中的完整输出

    我正在尝试在 jupyter 实验室中添加扩展 我转到扩展选项卡并单击扩展上的 安装 几秒钟后我收到一个弹出窗口说Build failed with 500 please run jupyter lab build on the serve
  • 是否可以将自定义域从一个 Web 应用程序移动到另一个 Web 应用程序?

    我为网络应用程序 webapp a 配置了一个自定义域 www abc com 我想将其转移到 webapp b 而无需停机 如果我尝试将域添加到 webapp b 我会得到 主机名 www abc com 已分配给另一个 Azure 网站
  • Boost R-tree支持层次遍历吗?

    看来R tree http www boost org doc libs 1 61 0 libs geometry doc html geometry reference spatial indexes boost geometry ind
  • Javascript:将日期时间转换为 DD/MM/YYYY - 时间?

    我有一个datetime看起来像这样 2017 04 17 18 26 03 如何使用 javascript 或 jquery 将其转换为这种格式 17 04 2017 18 26 我发现这个问题我认为可能对我有帮助 但答案是转换时间戳 但
  • 添加了空的默认 XML 命名空间 xmlns="" 属性?

    我有简单的代码 我创建根元素并将子元素附加到它 问题是孩子追加了空xmlns 属性 虽然我不期望它 这只是第一个孩子的问题 第二个嵌套级别的孩子已经可以了 所以 下面的代码 DocumentBuilder builder factory n
  • 使用 mvc 身份使用电话号码而不是电子邮件注册

    我的网络应用程序有一个要求 我需要使用电话号码而不是电子邮件和密码来注册用户 系统应输入用户的电话号码并向该电话号码发送 OTP SMS 如果 OTP 匹配 我需要创建用户 我尝试使用 asp net 身份进行 2FA 但它仅在用户已注册并
  • 如何从同一类javascript中的方法返回对象数组

    我是 JavaScript 新手 我想要一个类方法返回由同一类实例化的对象数组 怎么做 目前 基本上以下是我所讨论的代码的一般结构 class myClass constructor name password emailid id thi
  • 我可以在 schema.org 丰富摘要的 Span 标记中使用多个 ItemProps 吗?

    假设我想向以下句子添加丰富的摘要 我在纽约生活和工作 由于纽约既是我的居住地 也是我工作的城市 理论上我希望使用 schema org 标准来标记该行 div I live and work in span New York span di
  • 预先输入下拉列表中的全局页脚

    我有一个包含 2 个类别的预输入菜单 但在这些类别下我需要一个按钮 如何添加此全局页脚 以便在缺少第二个类别时可用 我所做的是在每个数据集中添加一个页脚 但使用 CSS 隐藏除最后一个之外的所有数据集 代码如下 search query t
  • 如何更改 selected.js 中警报的语言?

    When you type in an unavailable option in the multiple select box in chosen js it will generate the output No results ma
  • 锁定整个数据库?

    我有非常奇怪的用户需求 我试图向他们解释有更好的方法来支持他们的业务流程 但他们不想听 我很想走开 但我首先想看看是否还有其他方法 有什么方法可以锁定整个数据库而不是行锁或表锁 我知道我也许可以将数据库置于单用户模式 但这意味着一次只有一个