在 SQL Server(在本例中为 2008)中,如何快速缩小实例上所有数据库的所有文件,包括日志和数据?我可以通过 SSMS 并右键单击每个并选择任务 -> 收缩,但我正在寻找更快的东西。
我编写了一些“创建数据库”脚本,但忘记了它们的默认值已经膨胀,并且不需要为该项目中的这些文件保留太多空间。
在比较两个不同查询的执行时间时,清除缓存以确保第一个查询的执行不会改变第二个查询的性能非常重要。
在 Google 搜索中,我可以找到以下命令:
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
Run Code Online (Sandbox Code Playgroud)
事实上,在多次执行后,我的查询需要比以前更现实的时间来完成。但是,我不确定这是推荐的技术。
最佳做法是什么?
我的公司正面临为新的数据库服务器购买 SQL Server 2012 Denali 还是 SQL Server 2008 R2 的决定。我正在寻找客观的理由来选择一个。
我们的要求:
目前,我知道以下原因:
SQL Server 2012 德纳利
SQL Server 2008 R2
我似乎找不到很多技术原因来偏爱其中一个。基本上,这归结为选择成功运行的成熟技术与可用的最新和最好的版本。
做出决定的客观原因是什么?
sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012
我一直在阅读 Kimberly Tripp 撰写的一些关于 SQL Server 计划缓存的精彩文章,例如:http : //www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/
为什么甚至有“针对临时工作负载进行优化”的选项?这不应该一直开着吗?无论开发人员是否使用 ad-hoc SQL,为什么不在每个支持它的实例上启用此选项(SQL 2008+),从而减少缓存膨胀?
我想从我的数据库图表导出为 PDF 或图像类型。我怎样才能做到这一点?
我使用 SQL Server 2008 R2。
假设您需要确保依赖 SQL Server 2012 作为其数据库后端的应用程序全天候可用,即使一台服务器出现故障。
作为开发人员而不是 DBA,我很难理解何时使用哪种场景来实现故障转移/高可用性:
这些场景中的哪一个适用于什么样的工作负载,以及这些场景可以处理什么样的故障/中断?它们甚至具有可比性/可交换性吗?
sql-server clustering failover availability-groups transactional-replication
上周我一直在做 MS10775A 课程,出现了一个培训师无法可靠回答的问题是:
重新索引会更新统计信息吗?
我们发现网上的讨论都在争论它有没有。
我知道 SQL Server 中的 NUMERIC 和 DECIMAL 数据类型的工作方式相同:创建它们的语法是相同的,可以存储在它们中的值的范围是相同的,等等。
但是,MSDN 文档将两者之间的关系描述为:
数字在功能上等同于十进制。
通常,当我看到限定词“功能上等效”时,这意味着这两个东西并不完全相同,而是从外部无法区分的两种不同类型。
这个含义是真的吗?NUMERIC 和 DECIMAL 之间是否存在差异,恰好在外部观察者看来表现相同?或者它们实际上是等效的,例如 NUMERIC 只是 DECIMAL 的旧同义词吗?
GOSQL Server的语句引起了我极大的好奇,我真的不知道如何正确使用它。
我注意到有或没有的查询GO都不会返回错误并且似乎工作相同,那么它的目的是什么,我为什么要使用它?
分号;和GO查询末尾有什么区别?
为什么这个简单的查询被授予如此多的内存?
-- 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 ×10
performance ×2
cache ×1
clustering ×1
failover ×1
index ×1
index-tuning ×1
memory ×1
memory-grant ×1
shrink ×1
statistics ×1