Microsoft 是否支持使用 Sql Server 2008 R2(任何版本)实现数据库分片。根据我对它的有限理解,我认为我们可能可以使用 Sql Server Express 来实现它。但我不确定微软是否支持它。
除了分布式分区视图、数据相关路由之外,还有哪些其他选项可用于横向扩展?(点对点事务复制,联合数据库?)
请分享任何详细描述任何实现架构的 URL。
谢谢,
_UB
Microsoft 是否支持使用 Sql Server 2008 R2(任何版本)实现数据库分片。根据我对它的有限理解,我认为我们可能可以使用 Sql Server Express 来实现它。但我不确定微软是否支持它。
除了分布式分区视图、数据相关路由之外,还有哪些其他选项可用于横向扩展?(点对点事务复制,联合数据库?)
请分享任何详细描述任何实现架构的 URL。
谢谢,
_UB
在 SQL Server 2008 中,DMV与.相比意味着sys.dm_db_index_physical_stats
什么?我有一张包含以下信息的表格:compressed_page_count
page_count
Object_id Index_type_desc avg_frag_in_percent page_count compressed_page_count avg_page_space_used_in_percent avg_record_size_in_bytes
5464654 CLUSTERED INDEX 0 140992 1410 99.24 111.2
4465464 NONCLUSTERED INDEX 0 52532 526 99.69 32.2
这是否意味着该表有 140992 页,但压缩后减少到 1410 页或其他?
[BOL says:]
MSDN compressed_page_count:压缩页数。
在 Sql Server (2008) 中,是否可以PRIMARY KEY
在一组列上设置一个而在同一组列上没有CLUSTERED
orNONCLUSTERED
索引?
我知道keyPRIMARY KEY
和CLUSTERED INDEX
key 是不同的概念,我们可以在PRIMARY KEY
没有CLUSTERED INDEX
它的情况下创建(见下文)。
ALTER TABLE dbo.Sample
ADD CONSTRAINT PK_Sample_SeqGUID_Col1 PRIMARY KEY NONCLUSTERED (SeqGUID_Col1)
但我的问题是看看是否可以PRIMARY KEY
在没有CLUSTERED
orNONCLUSTERED
索引的表上创建。
全部,
我在域(比如说AD )中的服务器(比如说Server1 )上安装了 Sql Server 2008 。我还有一个名为AD\Sql1的域帐户。这不是域 ( AD ) 上的管理员帐户,但我希望它是Server1上的管理员。然后在 Sql Server 上为该域帐户(不是本地帐户)创建一个登录名。
我怎么做?
问题:
CREATE LOGIN [AD\Sql1] FROM WINDOWS
对我不起作用的内容。我试过并得到一个错误说user does not exist in Windows
(类似的东西) 我哪里做错了?请分享任何可以更好地解释这个概念的 URL。
编辑:我还应该补充一点,问题 1 和 2 是独立的。我知道如何将域/Windows 帐户添加为sysadmin
. 但我对域和本地帐户之间的映射如何工作感兴趣。我的目标不是如何将本地帐户添加为系统管理员,我可以很快地做到这一点。我的意图不是粗鲁,而是尽可能清楚。如果我的问题仍然不清楚,请告诉我,以便我添加更多详细信息。
谢谢,
_UB
编辑:语法
全部,
在 上Sql Server 2008
,我Transaction Replication
从Server1
到Server3
(与Server2
as distribution
)。
我可以选择"Generate Scripts"
on Publication
on Server1
。但我没有那个选项"Generate Scripts"
for Subscription
on Server3
。
但是在具有复制功能的另一组服务器(Server6, Server7, Server8
)上,我可以"Generate Scripts"
同时选择Publication
和Subscription
。
两者都是Sql Server 2008
,但后者有Sql Serve 2008 R2
它。
这可能是原因吗?我该如何解决?
谢谢,
_UB
编辑:语法和更多语法。
在 SQL Server 2008 中,我RANK() OVER (PARTITION BY Col2 ORDER BY Col3 DESC)
使用RANK
. 但是我每个分区都有数百条记录,所以我会从排名 1、2、3......999 中获取值。但我只希望每个最多 2RANKs
个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
我希望结果是:
SELECT Subject, Name, RANK() OVER (PARTITION BY Subject ORDER BY Score DESC)
FROM Table
Subject Name Rank
Math Joe 1
Math Jim 2
History Jim 1
History Joe 2
Geography Tim 1
Geography Jim 2
我只想在每个类别中排名 1 和 2。我该怎么做呢?
有没有办法以编程方式检索添加到表列和索引的每个 STATISTICS 的定义。对于用户添加的和系统创建的索引。Sql Server 添加了许多统计信息,例如“__WA_Sys_*”。
我需要重写其中的一些并添加更多,但是有太多无法使用 Management Studio 手动完成。
在 SQL Server 2005 机器上,我安装并正确配置了 DBMail。我可以使用“通知操作员”和 EXEC msdb.dbo.sp_send_dbmail 来排队电子邮件。
但问题是排队的邮件永远不会通过。我在查询时看到队列中有 10 封电子邮件
SELECT * FROM msdb.dbo.sysmail_unsentitems
但是,如果我重新启动SQL Server 服务,所有邮件都会通过,并且我会在收件箱中收到电子邮件。
到目前为止,这是我能找到的唯一模式。
所以我的问题是:有没有办法对 DBmail 进行故障排除?我在 MSDN 上阅读了一些步骤,但它们并没有多大帮助。非常感谢任何可能有帮助的文章 URL。