标签: sql-server

意外 DBA 的资源

在 Microsoft 平台内,大多数企业级程序(SharePoint、任何 System Center 应用程序、任何 Dyamics 应用程序等)都在 SQL Server 之上运行。对于这些程序的管理员来说,SQL Server 通常是一个黑匣子,作为他们主要关注的任何程序的先决条件安装。因此,安装的 SQL 端几乎没有(如果有)规划,导致问题在更上游的某个地方浮出水面。

  • 填充驱动器的事务日志
  • 没有维护计划(或不知情的计划,例如重新组织和重建索引的计划)
  • 不受管理的自动增长
  • 数据库和日志在同一主轴上
  • RAID 级别选择不当
  • 没有备份(或恢复计划)

那么……“偶然的 DBA”往往会遇到哪些类型的问题,哪些资源最能帮助偶然的 DBA 快速掌握 SQL 规划、管理和性能调优的基础知识?

sharepoint system-center sql-server

16
推荐指数
2
解决办法
1039
查看次数

SQL Server 中的超时保存表

我正在尝试使用 SSMS 向 SQL Server 2005 中包含大量数据的表中添加一列。

所以我浏览到表,选择修改,然后添加新列。然后,当我按保存时,我收到以下警告:

保存对包含大量数据的表的定义更改可能需要相当长的时间。保存更改时,将无法访问表数据

我没问题,数据库处于离线状态,而我一直在世界上,所以我按是。

但是,操作将在大约 30 秒后超时并显示以下消息:

无法修改表。超时已过。操作完成前超时时间已过或服务器未响应。

然后,当我按 OK 时:

用户取消保存对话框(MS Visual Database Tools)

我不明白。我已在 SSMS 连接对话框和工具 -> 选项 -> 查询执行 -> SQL Server 下将执行超时设置为 0(无限)。如果只是忽略它,设置执行超时有什么意义?

有谁知道这里使用了什么超时值,以及如何设置它?

timeout sql-server sql-server-2005 ssms

16
推荐指数
2
解决办法
3万
查看次数

为什么要让数据库脱机?

您会出于何种原因以及在何种情况下使用“脱机”/ALTER DATABASE dbName SET OFFLINE功能。

您可以使用离线数据库执行哪些任务?您只能使用离线数据库执行哪些任务?

sql-server

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

什么时候是为网站引入高可用性的合适时机?

什么时候是为网站引入高可用性的合适时机?

有很多关于高可用性选项的文章。这不是很明显,但是何时是从单服务器切换到高可用性配置的合适时机。

请考虑我的情况:
http : //www.postjobfree.com是 24/7 的网站,流量很大:http :
//www.similarweb.com/website/postjobfree.com

目前我在一台服务器上运行它:IIS 7.0 Web 服务器和 SQL Server 2008 运行在同一个硬件设备上。

偶尔(~每月一次)~5 分钟的停机时间通常是由某些 Windows Server 更新所需的重新启动引起的。通常停机时间安排在晚上。仍然令人不快,因为谷歌机器人和一些用户在晚上仍然活跃。

当前的网站收入约为 8000 美元/月。

我考虑切换到两台服务器配置(两台 Web 服务器的 Web 场和托管在两台硬件服务器上的 2 个 SQL Server 的集群)。

优点:
1)高可用性(理论上没有停机时间)。即使其中一台服务器出现故障,另一台服务器也会接管。
2)无数据丢失:没有SQL集群,硬件故障最多可以丢失1天的数据(我们每天做备份)。

缺点:
1) 设置和维护此类配置需要付出更多努力。
2)更高的托管成本。而不是〜$ 600 /月,它将约为$ 1200 /月。

你的建议是什么?

cluster iis-7 high-availability sql-server

16
推荐指数
2
解决办法
2116
查看次数

SQL Server 浏览器:为什么它被禁用?

我正在尝试通过 SQL Server 配置管理器启动 SQL Server Browser。然而,不仅是“国家”的SQL Server浏览器stopped,但选项StartStopPauseResume,和Restart(,并通过属性对话框无论是在右键快捷菜单)均无效。

(此外,在“属性”对话框中,我尝试了“内置帐户”的所有 3 个选项:本地系统、本地服务和网络服务。我还尝试了具有各种选项的“此帐户”。在所有情况下,功能保持禁用状态。)

我最初认为这可能是端口问题。显然,SQL Server Browser 使用端口 1434。但是,使用名为 CurrPorts 的程序,我发现端口 1434 没有被任何程序使用。

任何人都可以帮忙吗?

sql-server

16
推荐指数
1
解决办法
6万
查看次数

如何使用 T-SQL 获得 SQL 实例的最小和最大内存分配?

我管理着大约 90 个 SQL Server 实例,需要查询来确定分配给每个实例的内存量。请注意,我不是在问如何设置它,只是为了在不使用 Management Studio 的情况下查看它当前的设置。

谢谢你的帮助。

memory sql sql-server tsql sql-server-2008-r2

16
推荐指数
1
解决办法
5万
查看次数

什么是 SQL Server 实例?

当我安装 SQL Server 2008 Express 时,它会提示我创建一个实例,如果我不创建,则会中止。然后我在 SQL Server 服务上的 Sql Server 配置管理器的条目中看到该信息。什么是 SQL Server 实例?

sql-server sql-server-2008

15
推荐指数
1
解决办法
16万
查看次数

如何检测 SQL Server 中是否安装了全文搜索

我需要查明 S​​QL Server 2005 上是否安装了全文搜索。我无权登录该框并启动安装程序进行检查。但是,我可以运行 SQL Server Management Studio 并连接以使用 sysadmin 权限运行查询。

有谁知道如何检测是否安装了此功能?

full-text-search sql-server

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

SQL Server 还原备份导致错误

我在 dev(Windows Server 2008 上的 SQL Server 2005)中有一个数据库,我需要将其转移到 prod(Windows Server 2003 上的 SQL Server 2000)。我的流程如下:

  1. 登录 dev,打开 SQL Server Management Studio
  2. 右键单击数据库 | 任务 | 备份。保留所有默认选项(完整备份等)
  3. 将 .bak 文件本地移动到 prod(无网络驱动器),登录到 prod,打开 SQL Server 企业管理器。
  4. 右键单击数据库节点 | 所有任务 | 恢复数据库。
  5. 更改还原为数据库以反映相同的数据库名称。
  6. 单击单选按钮“从设备”。点击“选择设备”
  7. 单击恢复自:添加...,浏览到 .bak 文件(小 - 只有 6mb)

现在我已准备好恢复数据库,所以我单击“确定”并收到以下错误:

“设备 'E:...bak' 上的媒体系列格式不正确。SQL Server 无法处理此媒体系列。RESTORE DATABASE 异常终止。”

这个错误是即时的。

我尝试了一些不同的变体 - 将数据库恢复到具有不同数据库名称和日志文件名(它起源的地方)的开发机器,创建一个具有相同物理路径的空数据库,然后尝试恢复到那个,制作一些不同的 .bak 文件并确保在将它们上传到 prod 之前验证它们。我知道 prod 上存在 .mdf 和 .ldf 文件的目录,尽管文件本身不存在。如果在单击“确定”还原之前转到“选项”选项卡,则会出现以下错误:

错误 3241:设备“E:...bak”上的媒体系列格式不正确。SQL Server 无法处理此媒体系列。RESTORE FILELIST 异常终止。

有人有什么好主意吗?

restore sql-server sql-server-2005

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

使用 SQL Server (2008),您能否在架构内授予创建表权限?

使用 SQL Server 2008 中的安全性,我试图授予用户 CREATE TABLE 权限,但仅限于特定架构内。CREATE TABLE 权限是否仅适用于数据库级别?

我可以限制用户仅在架构内创建表吗?

我试过了:

USE [databasename]
GRANT CONTROL ON Schema :: [schemaname] TO [username]
GO
Run Code Online (Sandbox Code Playgroud)

USE [databasename]
GRANT ALTER ON Schema :: [schemaname] TO [username]
GO
Run Code Online (Sandbox Code Playgroud)

但是,用户仍然无法在目标模式中创建表。直到我运行这个,用户才能创建一个表:

USE [databasename]
GRANT CREATE TABLE to [username]
GO
Run Code Online (Sandbox Code Playgroud)

授予

授予数据库权限

permissions sql-server

15
推荐指数
2
解决办法
7万
查看次数