我们在不同城市有三台辅助数据库服务器和一台主服务器。我的问题是我想要异步事务提交到所有三个数据库,但是提交到主数据库时会发生主键数据冲突......因为可以在所有三个服务器上生成相同的 ID。那么哪种技术可用于这种场景来维护主键冲突问题......
注意-所有三个辅助服务器都作为“复制发布者”工作,而主服务器作为订阅者(alwayson 的主要副本)工作。
我这边的解决方案- 我在辅助服务器上提交记录,我在所有辅助服务器上使用了一些技巧,例如..server 1(种子值 = 1 增量 = 3),服务器 2(种子值 = 2 增量 = 3), server 3 (seed value = 3 increment by = 3)...根据这个设置,我的主键值永远不会冲突...所以请建议我是否正确?
replication sql-server primary-key availability-groups data-synchronization
我正在为一个商场创建一个数据库。客户想要手动设置前 10 个品牌或商店。他想随时手动设置订单,例如:
store_Name priority
Puma 1
Reebok 2
Dominos 3
Nike 4
NumeroUno 5
Run Code Online (Sandbox Code Playgroud)
产品将按优先顺序展示给用户。优先级 1 将显示在顶部。
我的问题是当我想更改商店名称的优先级时,例如我希望耐克显示在搜索顶部。
当我将耐克的优先级设置为 1 时,自动现有的 1 个位置变为 2,2 个位置变为 3,依此类推。如何在 SQL Server(存储过程或触发器)中执行此机制?
我正在使用 SQL Server 2014,我的表有数千个商店。我想要 10 个选择性存储,显示在移动应用程序的顶部。
SQL Server 在名为tempdb 的数据库中工作以处理大量任务。连接和聚合等查询操作发生在那里。在线索引重建、排序依据、聚合函数、触发器也在tempdb 中完成。
如何衡量何时应该添加另一个 tempdb 数据文件?需要多少个 tempdb 数据文件?
我有一个 After Update 触发器,其中触发器在同一个表中插入一个值以查找持续时间列。我的目标是每当插入 end_time 值时,触发器将找到hh:mm:ss格式的持续时间并插入到持续时间列中。
问题-触发器导致如此多的死锁,从而阻塞了另一个进程。
列数据类型信息..
Start_time datetime, End_time datetime, Duration time(3)
ALTER TRIGGER [dbo].[GET_DURATION] ON [dbo].[INBOUND_CALL_xxx]
AFTER UPDATE AS
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
Begin Transaction
UPDATE INBOUND_CALL_xxx
SET DURATION = convert(time(0),(END_TIME- START_TIME))
FROM INBOUND_CALL_xxx with (nolock)
Commit;
Run Code Online (Sandbox Code Playgroud) performance sql-server-2008 sql-server sql-server-2012 performance-tuning