我不是 DBA;但是,我的小公司正在将 SQL Server 用于我们正在处理的项目。在同一个 SQL Server 实例上,有一个 MS Great Plains (Dynamics GP) 数据库 - 因为我们在两个数据库之间来回传递数据(主要是获取数据并将其传输到 GP 的抄写过程)。
我们正在使用数据库复制(快照)作为同步我们的生产和开发(以及很快的 DR)环境的一种方式。现在它设置在核心工作时间每三个小时复制一次 - 主要是为了在我们工作时为我们保持最新的生产和开发。
1)这是做这种事情的正确方法吗?有没有更好的办法?2) 这对服务器或 SQL Server 有压力吗?这是否是 GP 数据库问题的可能原因,因为它们位于同一服务器和实例上?3)复制只发生在非GP数据库上——这根本不会影响GP数据库吗?
我们的数据库应该保持相当小。在做快照时,我的理解是在复制进行时表被锁定。这些表是在整个复制完成之前保持锁定状态,还是在完成后随着过程的继续而卸载?
这发生在我刚刚测试的时候.我创建了一个表格
Create Table Test_Table
(
Field_char char(1)
);
Run Code Online (Sandbox Code Playgroud)
当我想用代码插入值
Insert Into Test_Table(Field_char)
Select 13;
Run Code Online (Sandbox Code Playgroud)
它在列中插入'*'.对于单个数字,它按原样插入.如果长度从1修改为2,则对于3位输入(例如100等)也会发生类似的情况.
为什么是这样?