在 Microsoft 平台内,大多数企业级程序(SharePoint、任何 System Center 应用程序、任何 Dyamics 应用程序等)都在 SQL Server 之上运行。对于这些程序的管理员来说,SQL Server 通常是一个黑匣子,作为他们主要关注的任何程序的先决条件安装。因此,安装的 SQL 端几乎没有(如果有)规划,导致问题在更上游的某个地方浮出水面。
那么……“偶然的 DBA”往往会遇到哪些类型的问题,哪些资源最能帮助偶然的 DBA 快速掌握 SQL 规划、管理和性能调优的基础知识?
我正在尝试使用 SSMS 向 SQL Server 2005 中包含大量数据的表中添加一列。
所以我浏览到表,选择修改,然后添加新列。然后,当我按保存时,我收到以下警告:
保存对包含大量数据的表的定义更改可能需要相当长的时间。保存更改时,将无法访问表数据
我没问题,数据库处于离线状态,而我一直在世界上,所以我按是。
但是,操作将在大约 30 秒后超时并显示以下消息:
无法修改表。超时已过。操作完成前超时时间已过或服务器未响应。
然后,当我按 OK 时:
用户取消保存对话框(MS Visual Database Tools)
我不明白。我已在 SSMS 连接对话框和工具 -> 选项 -> 查询执行 -> SQL Server 下将执行超时设置为 0(无限)。如果只是忽略它,设置执行超时有什么意义?
有谁知道这里使用了什么超时值,以及如何设置它?
您会出于何种原因以及在何种情况下使用“脱机”/ALTER DATABASE dbName SET OFFLINE功能。
您可以使用离线数据库执行哪些任务?您只能使用离线数据库执行哪些任务?
什么时候是为网站引入高可用性的合适时机?
有很多关于高可用性选项的文章。这不是很明显,但是何时是从单服务器切换到高可用性配置的合适时机。
请考虑我的情况:
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 /月。
你的建议是什么?
我正在尝试通过 SQL Server 配置管理器启动 SQL Server Browser。然而,不仅是“国家”的SQL Server浏览器stopped,但选项Start,Stop,Pause,Resume,和Restart(,并通过属性对话框无论是在右键快捷菜单)均无效。
(此外,在“属性”对话框中,我尝试了“内置帐户”的所有 3 个选项:本地系统、本地服务和网络服务。我还尝试了具有各种选项的“此帐户”。在所有情况下,功能保持禁用状态。)
我最初认为这可能是端口问题。显然,SQL Server Browser 使用端口 1434。但是,使用名为 CurrPorts 的程序,我发现端口 1434 没有被任何程序使用。
任何人都可以帮忙吗?
我管理着大约 90 个 SQL Server 实例,需要查询来确定分配给每个实例的内存量。请注意,我不是在问如何设置它,只是为了在不使用 Management Studio 的情况下查看它当前的设置。
谢谢你的帮助。
当我安装 SQL Server 2008 Express 时,它会提示我创建一个实例,如果我不创建,则会中止。然后我在 SQL Server 服务上的 Sql Server 配置管理器的条目中看到该信息。什么是 SQL Server 实例?
我需要查明 SQL Server 2005 上是否安装了全文搜索。我无权登录该框并启动安装程序进行检查。但是,我可以运行 SQL Server Management Studio 并连接以使用 sysadmin 权限运行查询。
有谁知道如何检测是否安装了此功能?
我在 dev(Windows Server 2008 上的 SQL Server 2005)中有一个数据库,我需要将其转移到 prod(Windows Server 2003 上的 SQL Server 2000)。我的流程如下:
现在我已准备好恢复数据库,所以我单击“确定”并收到以下错误:
“设备 'E:...bak' 上的媒体系列格式不正确。SQL Server 无法处理此媒体系列。RESTORE DATABASE 异常终止。”
这个错误是即时的。
我尝试了一些不同的变体 - 将数据库恢复到具有不同数据库名称和日志文件名(它起源的地方)的开发机器,创建一个具有相同物理路径的空数据库,然后尝试恢复到那个,制作一些不同的 .bak 文件并确保在将它们上传到 prod 之前验证它们。我知道 prod 上存在 .mdf 和 .ldf 文件的目录,尽管文件本身不存在。如果在单击“确定”还原之前转到“选项”选项卡,则会出现以下错误:
错误 3241:设备“E:...bak”上的媒体系列格式不正确。SQL Server 无法处理此媒体系列。RESTORE FILELIST 异常终止。
有人有什么好主意吗?
使用 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)
sql-server ×10
cluster ×1
iis-7 ×1
memory ×1
permissions ×1
restore ×1
sharepoint ×1
sql ×1
ssms ×1
timeout ×1
tsql ×1