小编UB0*_*B01的帖子

将结果限制在前 2 个排名行

在SQL Server 2008中,我使用RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)与返回的数据集RANK。但是我每个分区有数百条记录,所以我将从等级 1、2、3......999 中获取值。但我只想RANKs在每个PARTITION.

例子:

ID   Name    Score    Subject
1    Joe      100      Math
2    Jim      99       Math
3    Tim      98       Math
4    Joe      99       History
5    Jim      100      History
6    Tim      89       History
7    Joe      80       Geography
8    Tim      100      Geography
9    Jim      99       Geography
Run Code Online (Sandbox Code Playgroud)

我希望结果是:

SELECT Subject, Name, RANK() OVER (PARTITION BY Subject ORDER BY Score DESC)
FROM Table
Run Code Online (Sandbox Code Playgroud)
Subject        Name      Rank …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server t-sql window-functions rank

24
推荐指数
2
解决办法
6万
查看次数

如何为域帐户创建 Sql Server 登录?

全部,

我在域中的服务器(假设Server1)上安装了 Sql Server 2008 (假设为AD)。我还有一个名为AD\Sql1的域帐户。这不是域 ( AD )上的管理员帐户,但我希望它是Server1上的管理员。然后在 Sql Server 上为该域帐户(不是本地帐户)创建一个登录名。

我怎么做?

问题:

  1. 用户AD\Sql1,我希望他成为Server1 上的管理员。为此,我是否只需创建一个具有相同用户名的本地帐户(比如Server1\Sql1)并将本地帐户设置为机器上的管理员。该本地帐户会自动映射到具有相同名称的域帐户吗?可能我应该在这里添加CREATE LOGIN [AD\Sql1] FROM WINDOWS对我不起作用的东西。我试过并得到一个错误说user does not exist in Windows(类似的东西)
  2. 现在,如果上述技术有效。让我们假设,AD \ SQL1,成为上的管理员Sever1。所以,理论上我不需要在 Sql Server 上为那个 Windows 域帐户创建一个 Sql 登录,对吗?属于BUILTIT\Admins一部分的所有本地管理员都自动拥有对 Sql Server 的系统管理员访问权限,对吗?

我哪里做错了?请分享任何可以更好地解释这个概念的 URL。

编辑:我还应该补充说,问题 1 和 2 是独立重要的。我知道如何将域/Windows 帐户添加为sysadmin. 但我对域和本地帐户之间的映射如何工作感兴趣。我的目标不是如何将本地帐户添加为系统管理员,我可以很快完成。我的意图不是粗鲁,而是尽可能清楚。如果我的问题仍然不清楚,请告诉我,以便我可以添加更多详细信息。

谢谢,
_UB

编辑:语法

sql-server-2008

17
推荐指数
1
解决办法
7万
查看次数

Sql Server 2005 中的 DBMail 疑难解答

在 SQL Server 2005 机器上,我安装并正确配置了 DBMail。我可以使用“通知操作员”和 EXEC msdb.dbo.sp_send_dbmail 来排队电子邮件。

但问题是排队的邮件永远不会通过。我在查询时看到队列中有 10 封电子邮件

SELECT * FROM msdb.dbo.sysmail_unsentitems
Run Code Online (Sandbox Code Playgroud)

但是,如果我重新启动SQL Server 服务,所有邮件都会通过,并且我会在收件箱中收到电子邮件。

到目前为止,这是我能找到的唯一模式。

所以我的问题是:有没有办法对 DBmail 进行故障排除?我在 MSDN 上阅读了一些步骤,但它们没有太大帮助。任何可以提供帮助的文章的 URL 都非常感谢。

sql-server-2005

8
推荐指数
2
解决办法
448
查看次数

在 SQL Server 中,是否可以在同一个键上没有 CLUSTERED 或 NONCLUSTERED 索引的表上有一个 PRIMARY KEY?

在 Sql Server (2008) 中,是否可以PRIMARY KEY在一组列上有一个而没有同一组列上的任何一个CLUSTEREDNONCLUSTERED索引?

我知道PRIMARY KEYCLUSTERED INDEXkey 是不同的概念,我们可以在PRIMARY KEY没有CLUSTERED INDEX它的情况下创建(见下文)。

ALTER TABLE dbo.Sample 
ADD CONSTRAINT PK_Sample_SeqGUID_Col1 PRIMARY KEY NONCLUSTERED (SeqGUID_Col1)
Run Code Online (Sandbox Code Playgroud)

但我的问题是看看是否可以PRIMARY KEY在没有CLUSTEREDNONCLUSTERED索引的表上创建。

index sql-server-2008 clustered-index clustered-primary-key

7
推荐指数
2
解决办法
225
查看次数

如何检索添加到表中的统计信息背后的定义

有没有办法以编程方式检索添加到表列和索引的每个 STATISTICS 的定义。对于用户添加的和系统创建的索引。Sql Server 添加了许多像“__WA_Sys_*”这样的统计信息。

我需要重新编写其中一些并添加更多内容,但是有太多内容无法使用 Management Studio 手动完成。

sql-server-2005 sql-server-2008 statistics index-statistics

1
推荐指数
1
解决办法
236
查看次数

Sql Server 2008 是否支持数据库分片

Microsoft 是否支持使用 Sql Server 2008 R2(任何版本)实现数据库分片。根据我对它的有限理解,我认为我们可以使用 Sql Server Express 来实现它。但我不确定微软是否支持它。

分库资源链接

除了分布式分区视图、数据相关路由之外,还有哪些其他选项可用于横向扩展?(点对点事务复制,联合数据库?)

请分享详细描述任何实现架构的任何 URL。

谢谢,
_UB

sql-server-2008-r2

1
推荐指数
1
解决办法
1781
查看次数