这并不紧急,只是好奇。
题:
我今天试图对一个缓慢的服务器进行故障排除,我遇到了一个名为PREEMPTIVE_REENLIST. 我无法在任何地方找到此文档。TOADWORLD 似乎至少知道它存在,但没有任何实际信息。MSDN 搜索或 Stack Exchange 搜索中没有任何内容。除了 TOADWORLD 链接之外,Google 上没有任何内容。
只是想知道这里是否有人遇到过它并且知道它是怎么回事。谢谢。
平台:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) 2012 年 6 月 11 日 16:41:53 版权所有 (c) Microsoft Corporation 标准版(64 位),Windows NT 6.1(内部版本 7601:Service Pack 1)(管理程序) )(在 VMWare 上虚拟化的 Windows Server 2008 R2)
Microsoft SQL Server 2016 RC3 安装在我们的服务器(不是我自己)Windows Web Server 2008 R2 64 位上。还安装了 Visual Studio 2015 Community。当我去服务器上工作时,我无法连接到 MS SQL Server,所以我去查看该服务是否正在运行,服务管理器中唯一的 MS SQL 服务是:
SQL Server VSS Writer 提供通过 Windows VSS 基础架构备份/恢复 Microsoft SQL Server 的接口。
未安装任何核心服务。当我查看开始菜单时,所有 Microsoft SQL Server 2016 RC3 程序均已安装。当我运行已安装的 SQL 功能发现报告时,它显示已安装 MS SQL 2016,但没有实例。
所以我卸载了VS,并尝试卸载MS SQL Server。我卸载了主程序和所有组件,然后尝试卸载 Microsoft SQL Server 2016 RC3 安装程序,但弹出以下消息:
警告 26003。无法卸载 Microsoft SOL Server 2016 Ro3 安装支持文件,因为安装了以下产品: SOL Server 2016 Ro3 批解析器 SOL Server 2016 Ro3 SOL 诊断 SOL Server 2016 Ro3 XE vent …
我有这种 N:M 关系:
CREATE TABLE auth_user (
id integer NOT NULL PRIMARY KEY,
username character varying(150) NOT NULL UNIQUE
);
CREATE TABLE auth_group (
id integer NOT NULL PRIMARY KEY,
name character varying(80) NOT NULL UNIQUE
);
CREATE TABLE auth_user_groups (
id integer NOT NULL PRIMARY KEY,
user_id integer REFERENCES auth_user(id) NOT NULL,
group_id integer REFERENCES auth_group(id) NOT NULL,
CONSTRAINT user_groups UNIQUE(user_id, group_id)
);
INSERT INTO auth_user VALUES (1, 'user1');
INSERT INTO auth_user VALUES (2, 'user2');
INSERT INTO auth_group VALUES …Run Code Online (Sandbox Code Playgroud) 我想查看有关表被完全扫描多少次的信息。我希望有类似sys.dm_db_index_usage_stats但表扫描的东西。博客keepitssimleandfast 中描述了一种方法,但我宁愿自服务器启动以来进行所有扫描。
我正在寻找的东西也类似于pg_stat_all_tables.seq_scanPostgreSQL。
我尝试在IndexOptimize索引数量非常多(> 250.000)的数据库上使用存储过程。存储过程收集需要处理的数据的初始步骤需要数小时,即使我设置了 @Indexes 参数来缩小工作范围。
SQL Server 维护解决方案版本:2019-02-10 10:40:47 安装了最新 CU14 的 SQL Server 2017 标准版。
在客户那里,我看到了一个包含 500.000 个以上索引的数据库。12 小时后,数据收集步骤仍在运行。
我希望如果我将 @Indexes 设置为单个索引执行应该立即开始。
这是我的存储过程调用的示例。
EXECUTE dbo.IndexOptimize
@Databases = 'db',
@Indexes = 'db.dbo.'
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 30,
@FragmentationLevel2 = 50,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y',
@LogToTable = 'Y',
@LockTimeout = 60
Run Code Online (Sandbox Code Playgroud)
有人可以与我分享他在索引数量非常多的数据库中使用 IndexOptimize 的经验吗?
index sql-server ola-hallengren index-maintenance sql-server-2017
我们有一个制造商,其软件需要对主数据库进行授权(仅数据库所有者工作)。不幸的是,制造商无法告诉我们为什么需要访问主数据库。没有此权限,应用程序将不会启动。
你有什么意见?你见过这样的软件吗?我们有 200 个不同的应用程序,但这是第一个需要永久访问的应用程序
对安全有异议吗?
作为替代方案,我们可以安装 SQL Express 实例,因为数据库非常小。如果从您的角度访问主数据库不是一个好主意。
我将如何在 SQL Express 上运行 Ola Halengren 的 sql 维护计划的各个方面?
我的理解是每个作业都应该按特定顺序运行。我确信 .bat 或 cmd 文件可以做到这一点,但不确定从哪里/如何开始。SQL Express 不显示服务器代理,因此不显示作业。
我可以以另一种方式查看它们并仍然使用调度程序,还是必须编写脚本?我是否必须从任务计划程序运行它,或者 SQL 代理计划程序可以处理这个问题?非常感谢您可以提供的任何帮助/方向。
附带说明一下,我还想知道是否可以安排作业在另一个作业完成后运行,而不是指定运行作业的时间?
sql-server scripting sql-server-express maintenance-plans ola-hallengren
我在我们的一个数据库中遇到了一个名为 SysMessages 的表的烦人问题。当我运行一个 select 语句时,我没有得到这个表的内容,而是主数据库中 sys.sysmessages 视图的内容。Ause [DBNAME]没有帮助,也没有select * from [DBNAME].dbo.SysMessages。
我正在迁移到更新的 SQL Server 版本。在 SQL Server 2008 R2 中,我没有遇到此数据库的问题,但在 SQL Server 2016 中,我无法查询自己的 SysMessages 表。
任何帮助将不胜感激。
我在 SQL Server 2008 R2 Express上运行一个相当大的数据库。最近我达到了 10GB 的限制,所以系统不允许我创建更多的对象,等等。
我已经归档了大量记录,大约是那里数据的四分之三。
数据库文件仍然在 10GB 左右,我想知道是否需要做任何事情来释放 SQL Server 中的可用空间。
MySQL 手册 - 复制:
“横向扩展解决方案 - 在多个从服务器之间分散负载以提高性能。在这种环境中,所有写入和更新都必须在主服务器上进行。但是,读取可能会在一个或多个从服务器上进行。”
我看到了如何设置看起来相对简单的复制,但我还没有看到应用程序应如何与从站通信。
我假设应用程序必须确定从哪个从设备读取?应用程序还必须知道哪个服务器正在执行写入操作?或者是否可以让应用程序将所有查询发送到主站并将读取代理到从站?
sql-server ×8
disk-space ×1
index ×1
join ×1
many-to-many ×1
mysql ×1
postgresql ×1
replication ×1
scan ×1
scripting ×1
security ×1
wait-types ×1