我需要将数据库从 SQL Server 2000(32 位)移动到 SQL Server 2005。但是,当我将数据库连接到 SQL Server 2005 时,它给了我错误。(NOLOCK 错误)
另外,在我运行 dbcc check db 命令以查找数据库错误后,我收到以下错误。
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 2: Errors found in text ID 727515136
owned by data record identified by RID = (1:391:14) id = 491864819 and indid = 9.
Server: Msg 8929, Level 16, State 1, Line 1
Object ID 2: Errors found in text ID 727646208
owned by data record identified by RID = (1:391:16) id …Run Code Online (Sandbox Code Playgroud) 我目前有 2 个 SQL Server 2000 数据库实例(每个都运行在不同的物理服务器上),每个实例包含大约 12 个数据库(并非所有数据库都处于活动状态)。我们正计划升级到 SQL Server 2008 R2,并且出于多种原因(易用性、更少的客户端 DSN、更便宜的许可)调查将这 2 个实例压缩为 1 个实例的可能性。这两台服务器相互引用为链接服务器(并且该链接被大量使用),并且涉及其他服务器,这些服务器也是链接服务器。
我知道我需要重构所有引用链接服务器的存储过程和视图,但是我应该注意哪些其他潜在问题?我应该检查/做些什么来确定这是否是一个好主意?
我必须将数据库从 SQL Server 7 和 SQL Server 2000 升级到 SQL Server 2008。此外,我必须能够在法庭上证明迁移前的数据与迁移后的数据完全相同。
有任何想法吗?
我们从 SQL Server 2000 升级到 SQL Server 2008。但是由于我们的医疗保健应用程序中的一些遗留脚本/查询仅在 2000 年运行,我们不得不在向后兼容模式下运行 2008 版。
我的问题是,如果我必须在潜在冲突/问题等方面将其打开到完全兼容模式,我需要注意什么。升级顾问工具在我的情况下是否仍然有用,因为我们已经升级但以向后兼容性运行模式。运行该工具是否有价值?
任何人都可以分享的任何其他信息都会很有用。
我刚开始一份新工作,正在审查数据库维护计划。我在编写 SQL 方面有相当多的经验,但在数据库管理方面经验不足。我上一份工作是在一家大公司,他们不让普通人接触那种东西。
我们被锁定在 SQL Server 2000(它嵌入在一些很旧的软件中,我们还不能升级)。当前维护计划(完全恢复模式)执行以下操作:
从早上 6 点到晚上 11 点,每小时:
backup log Accounting to Accounting_Logs with noinit
每天凌晨 1 点,会发生这种情况:
backup Log Accounting WITH TRUNCATE_ONLYDBCC SHRINKDATABASE (Accounting, TRUNCATEONLY)backup database Accounting_ReadOnly to Accounting with init
然后在凌晨 3 点:
- 重建所有索引
这是一个体面的计划吗?这会给我们提供易于恢复的良好备份吗?我知道我要求很多,但任何想法/评论/建议将不胜感激。
如果您需要更多信息,请告诉我。谢谢!
我有 SQL Server 2000 作为发布者和 SQL Server 20008 R2 作为订阅者。
我想将数据从 SQL Server 2000 复制到另一台机器上的 SQL Server 2008 R2。
某些表上未定义主键字段,因此无法选择事务复制。
我认为合并复制不是一种选择,因为订阅服务器 SQL Server 版本高于发布服务器。
我能做什么?
replication sql-server-2008 sql-server sql-server-2000 merge-replication
我们在我客户的 Prod Server 上的 SQL Server 2000 上有 OLTP 数据库。计划在同一台服务器上创建数据仓库,但使用 SQL Server 2012。我可以安装而不出现任何问题吗?
我们今天必须重新启动我们的 SQL Server,我们没有对其进行任何更改。
当它恢复时,我们立即开始从服务器收到此错误
日期/时间:2014/2/27 下午 3:09:31
描述:对象“SQLServer:Locks”的 SQL Server 性能计数器“死锁数/秒”(实例“数据库”)现在高于阈值 1.00(当前值为 2.00)。
评论:(无)
作业运行:(无)
我们运行了DBCC TRACEON (1204)命令并查看了日志,但它没有报告任何死锁。
知道什么会触发它关闭吗?我们每分钟都收到警报,但找不到任何实际的死锁。
编辑:我应该补充一点,在这次重启之前,我们从未收到过这个错误
编辑 2:我们也使用 SQL Server Profiler 来查找死锁,让它运行 5 分钟,在此期间我们收到了 5 个错误警报,当我们检查详细信息时,我们没有发现死锁。
编辑 3:2014 年 3 月 6 日:运行查询并且它起作用了,但它报告了我们的其他详细信息所说的我们没有锁定我们仍然在整个时间内收到错误。
再次感谢你的帮助!

编辑 4:2014 年 3 月 6 日:我运行了查询,这里是结果集的一个样本,我承认我不确定我在这里看的是什么,也就是说我不确定它是否显示了一些东西我可以采取或不采取行动。

编辑 5:2014 年 3 月 7 日:下图显示了突然生成此错误的警报。

谢谢
我看到 2005/2008/2012 都可以共存,但在 2000 和 2012 上找不到任何东西。
我想获得连续多列的最小值和最大值。我使用 CROSS APPLY、UPIVOT 和 VALUES 找到了各种工作查询,例如:
select column1, column2, code1,
(qty2), (qty3), (qty4), (qty5),
MinVal, MaxVal
from dummydata
cross apply (select MIN(NULLIF (d ,0)) MinVal,
Max(d) MaxVal
FROM (VALUES (qty2),
(qty3),
(qty4),
(qty5)
) AS a(d)
) A
Run Code Online (Sandbox Code Playgroud)
这些都在 SQL Server 2005 或更高版本中工作,但我需要 SQL Server 2000(数据库兼容级别 80)的解决方案。我怎样才能做到这一点?
DDL:
CREATE TABLE [dbo].[dummydata](
[column1] [nvarchar](255) NULL,
[column2] [nvarchar](255) NULL,
[code1] [nvarchar](255) NULL,
[qty2] [float] NULL,
[qty3] [float] NULL,
.......
[qty20] [float] NULL)
Run Code Online (Sandbox Code Playgroud)
查询输出:
sql-server-2000 ×10
sql-server ×6
backup ×1
deadlock ×1
maintenance ×1
migration ×1
replication ×1