我们有 SQL Server 2008 R2 群集主动/主动/主动(a、b、c)和三个实例在此环境中运行。
我们对其中一个实例进行了测试,并进行了故障转移测试。
请给我一些帮助。
我已经创建了一个分区视图为3个表tb_sales2010,tb_sales2011,tb_sales2012使用检查约束(respectivly为每个表)
日期部分(年,[日期])=(2010)
日期部分(年,[日期])=(2011)
日期部分(年,[日期])=(2012)
表 2010 的架构(所有其他表都相同)
CREATE TABLE [dbo].[tb_Sales2010](
[Date] [smalldatetime] NOT NULL,
[ID] [int] NOT NULL
CONSTRAINT [PK_tb_Sales2010] PRIMARY KEY NONCLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_Sales2010] WITH CHECK ADD CONSTRAINT [CK_Date_2010] CHECK ((datepart(year,[Date])=(2010)))
GO
Run Code Online (Sandbox Code Playgroud)
我的查询是
SELECT TOP 1 *
FROM partitionedTb_sales
WHERE DATEPART(YY, DATE) = 2011
Run Code Online (Sandbox Code Playgroud)
我的问题是,执行计划表明它正在扫描所有 3 个表。而不是查看检查约束并说表 …
在调查其他人编写的存储过程时,我遇到了以下 SQL/PLSQL:
1. V_COUNT NUMBER(5,0);
.........
2. SELECT COUNT(*) INTO V_COUNT FROM TABLE1 WHERE COL1='SOMEVALUE';
3. IF V_COUNT>0 THEN
4. DELETE FROM TABLE1 WHERE COL1='SOMEVALUE';
5. END IF;
Run Code Online (Sandbox Code Playgroud)
仅第 4 行中的 DELETE 语句是否足以涵盖这 5 行中的所有逻辑?我首先想到可能 V_COUNT 用于其他地方,但事实并非如此。我想不出有什么好的理由使简单的删除语句如此复杂。您是否也认为这是一个糟糕的设计,或者有什么我看不到的地方?
我正在尝试学习镜像测试数据库,在此过程中,我在查询框中输入了一些命令。在尝试创建数据库镜像端点时,我提交了一个输入错误的命令。我被返回一个错误。我试图重新提交一个更正的命令,但后来被告知端点已经存在。然后我想我只需删除我的测试数据库并重新启动。我删除了主 SQL Server 中的数据库,但现在我的镜像 SQL Server 显示我的测试数据库正在恢复,我无法删除该数据库。
有没有办法撤销我所做的一切,回到我的 SQL Server 的安装默认值?我没有什么需要保存的,我只是在努力学习。
我将 SQL Server 2000 数据库恢复到 2005 年,然后恢复到 2012 年。我现在看不到 SQL Server 2000 中存在的系统表。
为什么?
有人可以建议我一种方法来监视我的数据库服务器上的负载吗?我应该每天监控哪些性能计数器,并确认服务器上的负载每天[或]每周[或]每个月都在增加。另外,建议我是否可以使用 DMV 来实现这一点,以便我们可以使用 SQL 代理作业将此信息存储在表中。因为作为一个 sql 人员,我会更乐意使用 TSQL 查询。
做这一切对我有帮助,向管理层提出我的论点,即该服务器可以根据数据处理这么多负载,如果服务器上的负载增加,我们可能需要更多资源(例如 CPU、更好的存储,更多 RAM 等...)或转移到具有更多功能的新服务器。
另外,请建议任何负载测试工具,以便我可以在测试环境中进行测试。
给定的 Oracle 查询通过替换变量将数据插入表中。我如何在 PostgreSQL 中实现相同的目标?
INSERT INTO control_threshold (
threshold_id, group_name, description, sql, low_value, high_value)
VALUES(
threshold_seq.nextval, '&2', '&1', TRIM('&5' || '&6' || '&7' || '&8' || '&9'),
trim('&3'), trim('&4'));
Run Code Online (Sandbox Code Playgroud) 不幸的是我的系统硬盘损坏了,现在我恢复了我的数据库。但是不能再次附加到SQL management studio 2005。错误是:
myfile.mdf is not a primary database file. (SQL server , error 5171)
Run Code Online (Sandbox Code Playgroud) 我有一个餐桌员工
id name salary city
1 ram 50000 c1
2 sham 20000 c2
3 jadu 80000 c1
4 madhu 90000 c4
5 hari 10000 c2
6 gopal 34000 c3
7 komal 55000 c3
8 bappa 98000 c4
Run Code Online (Sandbox Code Playgroud)
查询哪个城市的收入最高。我试过
SELECT city, SUM(salary) AS maxSalary
FROM employee GROUP BY city ORDER BY salary DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如果有多个最大收入城市,那么它不会输出其他最大城市,只输出第一个。
所以我试过这个查询
SELECT city, MAX(totalSalary) maxSalary
FROM( SELECT city, SUM(salary) AS totalSalary FROM employee GROUP BY city ) AS tempTable
Run Code Online (Sandbox Code Playgroud)
它正在给予
city max
c1 188000
Run Code Online (Sandbox Code Playgroud)
但正确的是 …
我需要使用 SSIS 中的 C# 和脚本任务从 SFTP 站点下载压缩文件。
我们在服务器上有多个文件,名称相同,但日期和时间戳不同。
有没有办法根据最近的日期和时间戳下载文件?
sql-server ×5
aggregate ×1
clustering ×1
corruption ×1
delete ×1
mysql ×1
oracle ×1
performance ×1
plsql ×1
postgresql ×1
psql ×1
sqlplus ×1
ssis ×1
tuning ×1