小编swa*_*eck的帖子

我如何解释这些 DMV 的结果以帮助我评估我们的分区策略?

版本:SQL Server 2008 R2 企业版。(10.50.4000)

为了评估我们的分区策略,我编写了这个查询来获取针对分区索引的访问方法(从广义上讲,虽然我正在消除堆)。当我缩小我的重点,分区表,我相信我需要看的range_scan_countsingleton_lookup_count,但我有一个很难概念化。

SELECT 
    t.name AS table_name,
    i.name AS index_name,
    ios.partition_number, 
    leaf_insert_count,
    leaf_delete_count,
    leaf_update_count,
    leaf_ghost_count,
    range_scan_count,
    singleton_lookup_count,
    page_latch_wait_count ,
    page_latch_wait_in_ms,
    row_lock_count ,
    page_lock_count,
    row_lock_wait_in_ms ,
    page_lock_wait_in_ms,
    page_io_latch_wait_count ,
    page_io_latch_wait_in_ms
FROM sys.dm_db_partition_stats ps
    JOIN sys.tables t 
        ON ps.object_id = t.object_id
    JOIN sys.schemas s 
        ON t.schema_id = s.schema_id
    JOIN sys.indexes i 
        ON t.object_id = i.object_id
    AND ps.index_id = i.index_id
OUTER APPLY sys.dm_db_index_operational_stats(DB_ID(), NULL, NULL, NULL) ios                            
WHERE   
    ps.object_id = ios.object_id
    AND ps.index_id = ios.index_id
    AND …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008-r2 partitioning

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

Switching Data In Fails with“允许目标表上的检查约束或分区函数不允许的值”

鉴于以下

-- table ddl
create table dbo.f_word(
    sentence_id int NULL,
    sentence_word_id int NULL,
    word_id int NULL,
    lemma_id int NULL,
    source_id int NULL,
    part_of_speech_id int NULL,
    person_id int NULL,
    gender_id int NULL,
    number_id int NULL,
    tense_id int NULL,
    voice_id int NULL,
    mood_id int NULL,
    case_id int NULL,
    degree_id int NULL,
    citation nvarchar(100) NULL
);
-- create partition function
create partition function pf_f_word_source_id (int)
as range left for values 
(
    1,2,3,4,5,6,7,8,9,10,11,12,13,14,
    15,16,17,18,19,20,21,22,23
);

-- create the partition scheme
create partition scheme ps_f_word …
Run Code Online (Sandbox Code Playgroud)

sql-server partitioning sql-server-2014

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

如果我对一个数据库进行故障转移,那么共享同一镜像端点的其他数据库也会进行故障转移吗?

我们有两个数据库设置用于在单个 SQL Server 实例上进行镜像:测试数据库和生产数据库。两者都使用完全相同的端点镜像到另一台服务器。

如果我进入测试数据库的数据库属性并单击“故障转移”按钮,它是否也会故障转移生产数据库,因为两个数据库共享一个镜像端点并且它们的服务器网络地址属性相同?

在此处输入图片说明

我很担心,因为当我为第二个数据库设置镜像时,我不需要配置任何新的东西。它只是使用了所有现有信息。

如果我使用“数据库属性”中的“故障转移”按钮,是否会导致故障转移使用该端点的所有数据库,或者只是我正在查看其属性的特定数据库?

sql-server-2005 sql-server mirroring failover

11
推荐指数
2
解决办法
2190
查看次数

ALTER INDEX 和 DBCC DBREINDEX 有什么区别?

之间的唯一区别是

ALTER INDEX [index_name] on [object_name] REBUILD with (ONLINE=OFF, FILLFACTOR=90)
Run Code Online (Sandbox Code Playgroud)

DBCC DBREINDEX([dbname], 90) 
Run Code Online (Sandbox Code Playgroud)

只是 DBCC 命令将重新索引数据库中所有表的所有索引?

index sql-server index-tuning

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

用户作为系统管理员通过 Excel 连接到 SQL Server 的潜在风险?

我最近发现大部分财务部门正在使用 Excel 连接到我的 SQL Server 2000 实例,并使用 sysadmin 角色的帐户。我目前应该立即向权力机构传达哪些风险?

security sql-server

8
推荐指数
4
解决办法
2061
查看次数

NVARCHAR 列上的相等查询在 SQL Server 2012 中产生多个结果

我正在将一个宠物项目从 PostgreSQL (9.2.2) 迁移到 SQL Server (2012 Standard)。

在查询 unicode 单词时,我注意到一个有趣的现象。鉴于定义:

CREATE TABLE [word](
    [id] [int] IDENTITY(0,1) NOT NULL,
    [value] [nvarchar](255) NULL    
 );
Run Code Online (Sandbox Code Playgroud)

和数据:

insert into word (value) values (N'????');
insert into word  (value) values (N'???');
insert into word  (value) values (N'???');
insert into word (value) values  (N'???');
insert into word (value) values  (N'???');
insert into word (value) values  (N'???');
insert into word (value) values  (N'???');
insert into word (value) values  (N'???');

insert into word  (value) values (N'??????');
insert into …
Run Code Online (Sandbox Code Playgroud)

postgresql sql-server

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

为什么这两个 HADR DMV 报告不同的状态?

SQL Server 2012 (11.0.5058.0) 企业版

我们在 2(HA)+1(DR) 集群中有 8 个可用性组,我们的监控 DMV 报告的结果让我感到困惑。6 个可用性组用于 HA 和 DR,1 个仅用于 HA,1 个仅用于 DR。

6 个 HA/DR 可用性组中的每一个都将“SQLB”作为主副本,将“SQLA”作为辅助(同步)HA 副本,将“SQLC”作为辅助(异步)副本。

在两个辅助节点上:

SELECT dhags.group_id, dhags.synchronization_health_desc
FROM sys.dm_hadr_availability_group_states dhags
Run Code Online (Sandbox Code Playgroud)

报告所有可用性组复制同步运行状况NOT_HEALTHY

select replica_id,synchronization_health_desc
from sys.dm_hadr_availability_replica_states
Run Code Online (Sandbox Code Playgroud)

报告所有副本的同步健康状况为HEALTHY.

主副本报告同步运行状况为 的所有可用性组和副本HEALTHY

虽然我知道一个报告副本同步健康状况,另一个报告 AG 同步健康状况,但在我看来,如果更细化 (AG) 状态不健康,这将影响更广泛上下文(副本)的整体健康状况,这似乎是合乎逻辑的. 我找不到描述如何在每个级别确定运行状况的 MSDN 文档。

为什么辅助节点会报告NOT_HEALTHY可用性组同步健康状况,但会报告HEALTHY副本同步健康状况,为什么这与主要报告不同?

dmv sql-server-2012 availability-groups

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

有没有办法拒绝对来自链接服务器的连接进行 CRUD 操作?

我有一个 SQL Server 实例RPT1(2008 R2),它是为“高级用户”设置的,可以运行他们自己的查询。此服务器链接到我们的生产报告服务器PRD1(SQL Server 2008 实例),具有直接RPT1查询链接服务器 ( PRD1) 的视图 (on ) 。

已使用需要在服务器上进行 CRUD 的帐户创建链接服务器(用于报告审核等)。

随着用户的成熟,他们也会请求更大的权限(例如创建自己的视图)。我想确保他们不会在链接的服务器上执行任何 CRUD 操作,但链接的帐户具有这些权限。

我看到的第一个解析路径是创建一个不同的用户,权限较低,然后重新链接服务器。

我的第二条路径是查看是否有办法DENYPRD1服务器上为来自链接服务器的连接显式CRUD 。

是否可以仅从链接中明确拒绝 CRUD?或者我应该简单地将服务器与不同的帐户重新链接?我忽略了另一个明显的解决方案吗?

sql-server-2008 sql-server permissions sql-server-2008-r2 linked-server

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

从 LocalDB 解决方案到 Enterprise 实例的迁移/部署路径是什么?

鉴于现存定义的SQL Server 2012的的LocalDB作为

SqlLocalDB 是 SQL Server 2012(和未来版本)的本地、低开销数据库引擎,它允许开发人员专注于开发而不是实例配置或安全。

我很好奇从 LocalDB 开发到生产实例的路径会是什么样子,尤其是考虑到用户实例(大约 SQL 2005)的问题,并且试图将其中一个实例提升到生产和开发人员会忘记哪个实例他们实际上是在努力推广。对StackOverflow的快速搜索以各种形式暴露了此类问题。在这种情况下,LocalDB 是否改进/简化了部署?

sql-server-2012 sql-server-localdb

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

如何验证完整数据库还原是否反映了 SQL Server 中的确切源数据库?

我们正在停用旧的 SQL Server 2000 Ent。支持 SQL Server 2008 R2 Ent 的实例。我计划的迁移路径是:

  1. 终止客户端连接 (2000)
  2. 完整备份 (2000)
  3. 还原 (2008 R2)

我被要求提供确凿的证据,证明每笔交易都“成功”,并且数据是 2000 年实例上存在的内容的精确复制。

我希望我可以使用以下文档作为证据:

但是,如果这还不够,我唯一能想到的就是遍历每个数据库的每个表的每一行并计算校验和(在两个实例上)以及获取每个数据库中每个表的行数。

有没有更好的方法来满足“精确副本”验证标准?我也愿意接受更好的文档。

sql-server restore

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