标签: sql-server

如何快速缩小所有数据库的所有文件?

在 SQL Server(在本例中为 2008)中,如何快速缩小实例上所有数据库的所有文件,包括日志和数据?我可以通过 SSMS 并右键单击每个并选择任务 -> 收缩,但我正在寻找更快的东西。

我编写了一些“创建数据库”脚本,但忘记了它们的默认值已经膨胀,并且不需要为该项目中的这些文件保留太多空间。

sql-server-2008 sql-server shrink

50
推荐指数
4
解决办法
13万
查看次数

在运行性能比较之前清除缓存的 SQL Server 命令

在比较两个不同查询的执行时间时,清除缓存以确保第一个查询的执行不会改变第二个查询的性能非常重要。

在 Google 搜索中,我可以找到以下命令:

DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
Run Code Online (Sandbox Code Playgroud)

事实上,在多次执行后,我的查询需要比以前更现实的时间来完成。但是,我不确定这是推荐的技术。

最佳做法是什么?

performance sql-server performance-testing

50
推荐指数
4
解决办法
13万
查看次数

与 2008 R2 相比,更喜欢 SQL Server 2012 的客观商业原因是什么?

我的公司正面临为新的数据库服务器购买 SQL Server 2012 Denali 还是 SQL Server 2008 R2 的决定。我正在寻找客观的理由来选择一个。

我们的要求:

  • 标准版(出于经济原因和不需要企业功能)
  • OLTP 工作负载(这意味着我们不需要新的窗口函数和列存储索引)
  • 数据库大小 10-100 GB
  • 不需要商业智能功能。只需要关系引擎
  • 同步数据库镜像

目前,我知道以下原因:

SQL Server 2012 德纳利

  • 最新版本可用

SQL Server 2008 R2

  • 成熟的技术

我似乎找不到很多技术原因来偏爱其中一个。基本上,这归结为选择成功运行的成熟技术与可用的最新和最好的版本。

做出决定的客观原因是什么?

sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012

50
推荐指数
4
解决办法
2万
查看次数

为什么我不使用 SQL Server 选项“针对临时工作负载进行优化”?

我一直在阅读 Kimberly Tripp 撰写的一些关于 SQL Server 计划缓存的精彩文章,例如:http : //www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/

为什么甚至有“针对临时工作负载进行优化”的选项?这不应该一直开着吗?无论开发人员是否使用 ad-hoc SQL,为什么不在每个支持它的实例上启用此选项(SQL 2008+),从而减少缓存膨胀?

performance sql-server memory cache query-performance

50
推荐指数
4
解决办法
3万
查看次数

如何将 sql server 2008 图表导出为 PDF 文件类型?

我想从我的数据库图表导出为 PDF 或图像类型。我怎样才能做到这一点?
我使用 SQL Server 2008 R2。

sql-server sql-server-2008-r2

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

集群与事务复制与可用性组

假设您需要确保依赖 SQL Server 2012 作为其数据库后端的应用程序全天候可用,即使一台服务器出现故障。

作为开发人员而不是 DBA,我很难理解何时使用哪种场景来实现故障转移/高可用性:

  • Windows 故障转移群集中的两台(或更多)服务器,SQL Server 作为群集实例
  • 通过事务复制保持最新的两个(或更多)SQL Server 实例
  • SQL Server 可用性组中的两个(或更多)SQL Server,以同步提交模式配置

这些场景中的哪一个适用于什么样的工作负载,以及这些场景可以处理什么样的故障/中断?它们甚至具有可比性/可交换性吗?

sql-server clustering failover availability-groups transactional-replication

49
推荐指数
4
解决办法
4万
查看次数

重新索引会更新统计信息吗?

上周我一直在做 MS10775A 课程,出现了一个培训师无法可靠回答的问题是:

重新索引会更新统计信息吗?

我们发现网上的讨论都在争论它有没有。

index sql-server statistics index-tuning sql-server-2012

48
推荐指数
2
解决办法
5万
查看次数

NUMERIC 和 DECIMAL 之间有什么区别吗?

我知道 SQL Server 中的 NUMERIC 和 DECIMAL 数据类型的工作方式相同:创建它们的语法是相同的,可以存储在它们中的值的范围是相同的,等等。

但是,MSDN 文档将两者之间的关系描述为:

数字在功能上等同于十进制。

通常,当我看到限定词“功能上等效”时,这意味着这两个东西并不完全相同,而是从外部无法区分的两种不同类型。

这个含义是真的吗?NUMERIC 和 DECIMAL 之间是否存在差异,恰好在外部观察者看来表现相同?或者它们实际上是等效的,例如 NUMERIC 只是 DECIMAL 的旧同义词吗?

sql-server

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

SQL Server 中的 GO 语句有什么作用?

GOSQL Server的语句引起了我极大的好奇,我真的不知道如何正确使用它。

我注意到有或没有的查询GO都不会返回错误并且似乎工作相同,那么它的目的是什么,我为什么要使用它?

分号;GO查询末尾有什么区别?

sql-server

48
推荐指数
4
解决办法
8331
查看次数

过多的排序内存授予

为什么这个简单的查询被授予如此多的内存?

-- Demo table
CREATE TABLE dbo.Test
(
    TID integer IDENTITY NOT NULL,
    FilterMe integer NOT NULL,
    SortMe integer NOT NULL,
    Unused nvarchar(max) NULL,

    CONSTRAINT PK_dbo_Test_TID
    PRIMARY KEY CLUSTERED (TID)
);
GO
-- 100,000 example rows
INSERT dbo.Test WITH (TABLOCKX)
    (FilterMe, SortMe)
SELECT TOP (100 * 1000)
    CHECKSUM(NEWID()) % 1000,
    CHECKSUM(NEWID())
FROM sys.all_columns AS AC1
CROSS JOIN sys.all_columns AS AC2;
GO    
-- Query
SELECT
    T.TID,
    T.FilterMe,
    T.SortMe,
    T.Unused
FROM dbo.Test AS T 
WHERE 
    T.FilterMe = 567
ORDER BY 
    T.SortMe;
Run Code Online (Sandbox Code Playgroud)

对于估计 …

sql-server execution-plan memory-grant

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