我试图想出一种理智的方法来了解max server memory (mb)设置是否合适(应该更低,或更高,或保持原状)。我知道max server memory (mb)应该总是足够低,以便为操作系统本身等留出空间。
我正在查看的环境有数百台服务器;我需要一个可靠的公式来确定缓冲池的当前大小是否合适,因为 RAM 是按分配给每个服务器的 GB 计算的。整个环境都是虚拟化的,分配给 VM 的“物理”RAM 可以轻松地向上或向下更改。
我有一个特定的 SQL Server 实例,我现在查看的 PLE 为 1,100,052 秒,相当于 12.7 天(服务器启动的时间)。服务器的最大服务器内存设置为 2560MB (2.5GB),其中实际仅提交 1380MB (1.3GB)。
我已经阅读了几篇文章,包括 Jonathan Keheyias(帖子)和 Paul Randal(帖子)的另一篇文章,以及其他几篇文章。Jonathan 主张监控每 4GB缓冲池低于 300 的 PLE太低了。对于上面的 SQL Server 实例,300 * (2.5 / 4) = 187导致目标 PLE 非常低,低于 300。此实例具有 290GB 的 SQL Server 数据(不包括日志文件),仅用于集成测试。假设在过去的12天代表该服务器的典型用法的,我想说的max server memory (mb)设置可能会降低。
在规模的另一端,我有另一个 PLE 为 …
我是代理键的粉丝。我的发现存在确认偏倚的风险。
我在这里和http://stackoverflow.com 上看到的许多问题都使用自然键而不是基于IDENTITY()值的代理键。
我的计算机系统背景告诉我,对整数执行任何比较运算都比比较字符串快。
这个评论让我怀疑我的信念,所以我想我会创建一个系统来研究我的论点,即整数比字符串更快,用作 SQL Server 中的键。
由于小数据集可能几乎没有可辨别的差异,我立即想到了一个两表设置,其中主表有 1,000,000 行,而辅助表在主表中的每一行有 10 行,总共有 10,000,000 行。次要表。我的测试的前提是创建两组这样的表,一组使用自然键,一组使用整数键,并在简单的查询上运行计时测试,例如:
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.Key = Table2.Key;
Run Code Online (Sandbox Code Playgroud)
以下是我作为测试台创建的代码:
USE Master;
IF (SELECT COUNT(database_id) FROM sys.databases d WHERE d.name = 'NaturalKeyTest') = 1
BEGIN
ALTER DATABASE NaturalKeyTest SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE NaturalKeyTest;
END
GO
CREATE DATABASE NaturalKeyTest
ON (NAME = 'NaturalKeyTest', FILENAME =
'C:\SQLServer\Data\NaturalKeyTest.mdf', SIZE=8GB, FILEGROWTH=1GB)
LOG ON (NAME='NaturalKeyTestLog', FILENAME =
'C:\SQLServer\Logs\NaturalKeyTest.mdf', SIZE=256MB, FILEGROWTH=128MB); …Run Code Online (Sandbox Code Playgroud) performance sql-server sql-server-2012 surrogate-key natural-key performance-testing
Tablespace创建表时该参数是可选的。
执行CREATE TABLE语句时,如果未定义,Oracle 会分配默认语句。
在默认数据库中有一个“USERS”表空间。如果定义了多个表空间,将分配哪一个?
是否有更有效的方法来获得从 1 到 49 的数字列表,其中一列包含单词,FIZZ当数字可以被 3 整除BUZZ时,当数字可以被 5 整除FIZZBUZZ时,当数字可以被均分时由两个3和5?
我的尝试是(注意,这会清空您的过程缓存,所以不要在生产箱上运行):
DBCC FREEPROCCACHE
GO
/*VARIANT1*/
;WITH t AS (
SELECT RowNum = ROW_NUMBER() OVER (ORDER BY o.object_id)
FROM sys.objects o
)
SELECT t.RowNum
, CASE WHEN ((t.RowNum % 3) + (t.RowNum % 5)) = 0 THEN 'FIZZBUZZ'
ELSE
CASE WHEN t.RowNum % 3 = 0 THEN 'FIZZ'
ELSE
CASE WHEN t.RowNum % 5 = 0 THEN 'BUZZ'
ELSE ''
END
END
END
FROM …Run Code Online (Sandbox Code Playgroud) 在测试期间,我取消了登录的系统管理员权限,现在无法重新添加它(因为我没有系统管理员权限)。
除[sa]帐户外,实例没有其他系统管理员帐户。
我只设置了 Windows 身份验证,所以我LoginMode在注册表中破解了2以便我可以sa使用 SQL 身份验证登录。这确实将登录模式设置为Mixed,但是sa默认情况下用户被禁用,我无法重新启用它,因为我没有系统管理员权限。
如何启用sa登录以便我可以进入并将系统管理员重新分配给我的普通帐户?是否也有一个注册表设置,或者它是否存储在主数据库中?
我在使用数据库时遇到问题。
我可以运行基本查询,尽管比正常情况慢得多。
当我尝试在 SSMS 对象资源管理器中查看表、视图或过程的层次结构树时,我得到lock request time out period exceeded.
我在此数据库中的对象上运行的 SSRS 报告不再完成。
与存储在此数据库中的过程相关的作业也不会运行。
我尝试使用sp_who2查找并终止数据库上的所有连接,但这并没有解决问题。
这里发生了什么?我该如何解决这个问题?
我正在设计一个数据库,它在我的表之间有很多关系,我需要一本很好地教授数据库设计的书。我正在寻找一本书,其中广泛涵盖了简单和复杂的表关系,也许书中有案例研究。
我们有两个生产 SQL Server 运行 SQL Server 2005 SP4 和累积更新 3。两台服务器都在相同的物理机器上运行。DELL PowerEdge R815 配备 4 个 12 核 CPU 和 512GB(是 GB)内存,以及用于所有 SQL 数据库和日志的 10GB iSCSI SAN 连接驱动器。操作系统是带有所有 SP 和 Windows 更新的 Microsoft Windows Server 2008 R2 企业版。操作系统驱动器是一个 RAID 5 阵列,包含 3 个 72GB 2.5" 15k SAS 驱动器。SAN 是一个 Dell EqualLogic 6510,带有 48 个 10K SAS 3.5" 驱动器,配置为 RAID 50,为 2 个 SQL Server 划分为各种 LUN,并且还共享带有一台 Exchange 机器和几台 VMWare 服务器。
我们有 20 多个数据库,其中 11 个使用见证服务器以高可用性镜像。见证服务器是一台运行 SQL Server 实例的低功耗机器,它除了提供见证服务外别无其他用途。最大的镜像数据库是 450GB,产生大约 100-300 iops。数据库镜像监视器报告的当前发送速率约为每秒 …
在 PostgreSQL 中创建只读备份用户是不可能的吗?
我在 IRC 频道上被告知,您根本不能拥有没有所有权权限的仅备份用户。我觉得这很奇怪,所以我想确保我没有遗漏任何东西。
下面是我尝试过的,但它没有给我我正在寻找的结果。当我pg_dump在给定的桌子上做时,我得到Permission denied for relation...:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO backup;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO backup;
GRANT SELECT, USAGE ON ALL SEQUENCES IN SCHEMA public TO backup;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, USAGE ON SEQUENCES TO backup;
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我最近了解了规范化,并了解在实现新模式时它的重要性。
如何检查我的数据库是否符合 2NF 或 3NF?
手动审查是一个确定的选择,但我正在寻找一种自动化工具。
我不是在寻找点击式工具,更多的是强调可能的优化以使表格符合 3NF。我猜它可能会使用基于良好样本数据和/或列名语义分析的统计数据。
schema normalization database-design database-recommendation
sql-server ×6
backup ×1
mirroring ×1
natural-key ×1
oracle ×1
performance ×1
permissions ×1
schema ×1