我有两个表产品和职位。
产品:
id BIGINT PRIMARY KEY,
product VARCHAR(100),
criterium1 VARCHAR(100),
criterium2 VARCHAR(100)
Run Code Online (Sandbox Code Playgroud)
职位:
id BIGINT PRIMARY KEY,
position VARCHAR(100),
criterium1 VARCHAR(100),
criterium2 VARCHAR(100)
Run Code Online (Sandbox Code Playgroud)
每个表都有criterium1和criterium2。我想要一个包含职位和产品之间连接的结果集。对于每个职位,我都想要与 criterium1 或 criterium2 匹配的相应产品;当 criterium1 找不到或为 NULL 时,它需要在 criterium2 上匹配。
SQL 语句会是什么样的?
到目前为止,我已经尝试过:
SELECT * FROM positions pos
INNER JOIN products pro
ON COALESCE(pos.criterium1, pos.criterium2,'')
= COALESCE( pro.criterium1, pro.criterium2,'')
Run Code Online (Sandbox Code Playgroud)
然而,这不匹配pro.criterium1到pos.criterium1或pro.criterium2到pos.criterium2。
补充:对不起,我的要求有点模糊。让我试着完成这幅画。
我们使用的是 SQL Server 2005。
products:
id product criterium1 criterium2
1 pro1 AAA1 910
2 pro2 106 BB2 …Run Code Online (Sandbox Code Playgroud) 如何检索有关针对 SQL Server 2005 上的数据库调度的 SQL Server 代理作业的信息?
我最近修复了 70gb 数据库中一个表中的单个损坏页面。
我有一个备份,其中包含页面中包含的数据,所以我开始使用带有 REPAIR_ALLOW_DATA_LOSS 的 DBCC CHECKDB。然后我将旧数据库中的行传输回新修复的数据库。
在运行 DBCC CHECKDB WITH NO_INFOMSGS 以确保一切正常后,我运行了完整备份。备份比以前的备份少 10gb(就像我在修复前使用 CONTINUE_ON_ERRORS 进行的那个)。
这是什么原因?DBCC 修复是否对可以恢复空间或类似内容的页面进行任何重新排序?表大小看起来与以前相似,但我有点担心可能会丢失数据。
在一个应用程序中,我们以 Image 数据类型将所有图像存储在 SQL 数据库中。从另一个应用程序中,我需要检索图像并将其显示在用户界面上。
我能够存储图像。我无法阅读图像。
如何检索/读取存储在数据库中的 SQL 图像数据?
当您右键单击对象浏览器中的多个项目时,它会为您提供报告菜单选项。根据选择的项目类型,可能存在各种报告。然而,似乎没有任何用于自动交付这些报告的内置功能。它藏在某个地方?
我真正的问题是:有没有办法将其中一些设置为通过电子邮件自动发送?我的目标报告是 SQL Server 代理的“作业步骤执行历史记录”和“热门作业”报告。我使用的是 SQL Server 2005/2008
我们正在将数据库从一台运行 SQL Server 2005 的计算机转移到另一台运行 SQL Server 2008 的计算机上。
我正在按照此处找到的步骤操作,尝试使用所有用户登录名和服务器级权限复制主数据库,但是它告诉我无法恢复备份,因为它是由不同版本的服务器创建的.
有没有办法将master数据库从一个版本的 SQL Server复制到另一个版本的 SQL Server?
我有两个几乎相同的(结构上)数据库:
原来的数据库在表分区可用之前就已经存在,所以他们找到的解决方案是创建第二个数据库,并在每年之后将所有旧数据迁移到其中。现在他们想再次合并两个数据库。
我做了一些研究,我发现两个数据库在表之间只有很小的结构差异,并且没有 IDENTITY 列。
因此,除了微小的结构差异之外,我认为最有可能将旧数据库中的值插入到第一个数据库中。
数据库其实有点大,有100多张表。
我想知道的是,使用 SSIS 来做这件事有意义吗,或者 SSIS 适合这种工作吗?还是我应该只编写 T-SQL 代码来完成这项工作?
作为一个附加问题,是否有比上述前两个选项更适合此类工作的工具?
系统:
我有一个维护计划,可以为多个表(10 个表,总共 50M 条记录)重建索引。
问题:
在索引重建期间(约 20 分钟),我们无法将数据插入数据库
题:
如何减少维护计划期间的停机时间?我正在考虑确保事务日志的大小很小(每天截断 4 次),但我认为这无济于事。
我也不确定更频繁地重建索引是否会有所帮助。(因为我不知道这是否是将从最近重新索引表中受益的“批量”操作)。
注意:升级到 SQL Server 2005 Enterprise 以获得实时重新索引功能不是一个选项。
performance index sql-server-2005 maintenance transaction-log
数据条带化是否可能像此处提到的在 SQL Server 2012 等最新版本的 SQL Server中的旧 SQL Server 2005中的数据条带化?
我知道这在 2008 和 2008R2 中是可能的。
我有一个表 1800 万条记录我需要将它添加到另一个表(具有相同的结构) 我尝试了导入导出向导,问题是日志变得非常大,最终它关闭了整个服务器,我不得不在中间终止进程。
我想如果我分批进行它会更快,但我不知道该怎么做。
(我不需要旧表,可以删除已复制的记录)
编辑:批量插入阻止所有操作,有没有办法阻止他在这里阻止所有人?
sql-server-2005 ×10
sql-server ×8
backup ×1
bulkcopy ×1
index ×1
insert ×1
join ×1
maintenance ×1
migration ×1
performance ×1
restore ×1
ssis ×1