我觉得这是一个愚蠢的问题,但对于我的生活,我无法追踪发生了什么。我刚刚接管了几台服务器的管理工作,并且在所有这些服务器上,工作历史记录仅保留了 5 天。有一个清理维护计划,但它设置为保留 5 周。
EXEC msdb.dbo.sp_syspolicy_purge_history 每天都在运行,但是,历史保留天数设置为 0,所以我的理解是它无论如何都没有做任何事情。
必须有一些非常简单的东西我在这里遗漏了。任何人都可以指出我正确的方向吗?
我一直在测试 SQL Server 2012 中的可用性组功能,我发现当主服务器故障转移到辅助服务器时,大约有 15 秒的停机时间。在此期间执行的所有 SQL 查询都将失败,直到故障转移转换完成。
有什么方法可以将其降低到 0 秒并防止查询在故障转移转换期间失败?
换句话说,有没有办法让在失败期间运行的任何查询被重定向到主服务器而不是失败......并且有没有办法让新的数据库连接立即连接到辅助服务器而不是失败在故障转移过渡期间连接?
我目前在可用性组中设置了 2 个服务器。
我正在尝试缩小数据库文件,但遇到了错误。
使用sys.database_files作品中的 file_id ,但使用逻辑文件名会产生错误。
两个语句中的逻辑文件名相同,所以这不是问题。此外,正在连接的数据库是相同的。以下按预期工作:
declare @fileId as int = (select file_id from sys.database_files where name = 'XY')
DBCC SHRINKFILE (@fileId, 0, TRUNCATEONLY)
Run Code Online (Sandbox Code Playgroud)
然而以下...
DBCC SHRINKFILE ('XY' , 0, TRUNCATEONLY)
Run Code Online (Sandbox Code Playgroud)
...将导致错误 8985:
消息 8985,级别 16,状态 1,第 1 行
无法在 sys.database_files 中找到数据库“<我的数据库>”的文件“XY”。该文件要么不存在,要么已被删除。
背景:
我最近继承了 50 多个带有 450 多个数据库的 SQL Server。每晚备份大约为 8TB,不用说,我们使用的磁盘空间比我们想要的要多。所有数据库都设置为完全恢复,并且从未备份事务日志。我已经浏览了所有 SQL Server,并确定了只需要每晚备份的低优先级服务器,并且可以接受一天的数据丢失。
题:
我正在将许多低优先级数据库SIMPLE从FULL. 现有的事务日志是否会被截断(在创建检查点时)?一些现有的事务日志是 50-100GB;为了继续前进,确定我应该将它们缩小到什么的最佳方法是什么?我显然不想让它们那么大。或者,随着时间的推移,它们会自行缩小吗(我认为它们不会)?
我有一个存储过程,其中包含来自许多不同表的许多不同列;我想让 20 个用户通过 Excel 访问存储过程的结果。
是否可以让用户只能访问存储过程,而不能访问基础表和视图?
在我们的 Vb.net 应用程序(办公室内部本地网络连接中的用户)中,从很长时间以来,一些用户每天都会遇到错误
向服务器发送请求时发生传输级错误。(提供者:TCP 提供者,错误:0 - 远程主机强行关闭了现有连接。
我已经检查过以下
所有数据库都设置为自动关闭关闭
没发现太多网络问题,网速不错。
当我签入 SSMS 时,服务器属性下的远程查询超时设置为 600 秒
我检查了 sql server 日志,没有发现与之相关的错误或相同的错误消息
那么这个错误的原因可能是什么?以及如何解决它?
我无法使用 SQL Server 身份验证登录到 SQL Server 2008。
我只能使用 Windows 身份验证模式登录。
我在安装 SQL Server 2008 R2 时只选择了默认值。
authentication security sql-server sql-server-2008-r2 logins
我想知道 SQL Server Management Studio Express(主要用于 Microsoft SQL Server)是否安装在独立机器上(没有任何 SQL 服务和东西)以连接到远程数据库?
我运行的是 SQL Server 2012;我的一位经理告诉我,他们希望我为指定用户创建一个 Web UI 来运行查询/更新数据库;这在我的 PHP 能力范围内;但我想为方便起见,我可以提议取消对 Web UI 的需求,因为这将花费我们的服务器管理员大量时间,但是在我们的网络机器上安装 SMSE 以连接/管理我们的数据库?
这可能吗?或者我是否必须经历创建一个显示模式、表格等的 WebUI 的痛苦任务。
我有一个大约 6Gb 的备份。它是原始文件的“轻量级”备份(清除了日志表),大约为 14Gb。
我尝试在我的 SQL Express 本地服务器上恢复备份。它失败并显示类似 : 的消息System.Data.SqlClient.Error: insufficient disk space。它要求 227,891,019,776 字节,这绝对是疯狂的,几乎和我的整个硬盘一样大。
正如在其他网站上发现的那样,我尝试了RESTORE FILELISTONLY FROM DISK = 'backupfile.bak'.
数据文件(列Size)的大小为 6,888,226,816,但日志文件的大小为 221,006,987,264。该列BackupSizeInBytes返回 6,259,736,576 和 0。
因此,如果我理解正确,则在继续之前,恢复检查我是否有足够的空间来恢复日志文件的“理论”大小,而忽略实际的日志文件大小?
我怎样才能绕过它?获得备份有点困难,所以如果我能在不返回生产服务器的情况下解决我的问题,那就太好了。
谢谢 !
哦顺便说一句,我在 SQL Server 2008 R2 Express 上。
我已经看到很多人将与表相关的条件放在 JOIN 子句上。看这个例子,
SELECT i.Name
FROM sys.TABLES AS tbl
INNER JOIN sys.indexes AS i
ON (i.index_id > 0 AND i.is_hypothetical = 0)
AND (i.object_id = tbl.object_id)
WHERE (i.is_unique = 1 AND i.is_disabled = 0)
AND (tbl.Name = 'Warehouse')
SELECT i.Name
FROM sys.TABLES AS tbl
INNER JOIN sys.indexes AS i
ON (i.object_id = tbl.object_id)
WHERE (i.index_id > 0 AND i.is_hypothetical = 0)
AND (i.is_unique = 1 AND i.is_disabled = 0)
AND (tbl.Name = 'Warehouse')
Run Code Online (Sandbox Code Playgroud)
查询相同,但不同之处在于,第一个(i.index_id > 0 AND i.is_hypothetical = …
sql-server ×8
backup ×2
security ×2
disk-space ×1
logins ×1
permissions ×1
recovery ×1
restore ×1
shrink ×1
ssms ×1
tcpip ×1