尝试解决在 Windows SBS Server 2008 上安装了 SQL Server 2005 的办公室中出现的问题。设置如下:这是一间办公室,设置这一切的人却不见踪影。我最希望他们能……
他们在工作站上使用的一个程序给出了一个错误“无法为数据库“MyDatabase”中的对象‘Billing’分配空间,因为主文件组已满”当尝试在其软件中保存条目时。
我搜索了几个小时,寻找可能的解决方案。一个是检查可用磁盘空间,另一个是进行碎片整理。
我检查了服务器上的硬盘,发现有足够的可用空间。我还进行了碎片整理,这可能对问题有所帮助。很难说,因为看起来,就错误的性质而言,如果你反复尝试,你可能会真正得到保存。
我的下一步是尝试查看数据库是否启用了自动增长。这似乎是一个可能的解决方案,但我无法访问数据库!
如果我运行 SQL Management Studio,我可以以我的 Windows 用户身份登录并查看数据库列表。但是,如果我尝试执行任何操作(实际查看数据库、查看属性、添加或编辑用户),我会收到错误消息,提示我没有权限。不管怎样,我还尝试以管理员身份运行 Management Studio,以防万一。不过,没什么区别。
现在,根据我有限的 SQL 知识和在线阅读,我猜测的情况是,虽然我以 Windows 管理员身份登录,但该帐户没有 SQL 访问权限。
我确实看到了 SQL 用户列表,包括 SA,但我同样没有权限添加用户或更改现有用户的密码。办公室里没有人知道 SQL 密码是什么。
所以...这是我目前的想法:
1 - “无法分配”错误可能指向需要允许自动增长的数据库。特别是因为我已确认有足够的可用空间并且硬盘已进行碎片整理。
2 – 如果我在 SQL Management Stuido 中拥有适当的访问权限,则启用自动增长将非常容易。
这听起来像是一份分步指南,可让我获得所需的 SQL 访问权限。我猜,如果我遵循本指南,我将能够通过 Management Studio 以适当的权限登录到 SQL 服务器,并能够启用自动增长(或只是查看现有数据库的状态),并有望解决“无法分配空间”问题!
所以我想我有几个问题:
1 - 你们同意我的“诊断”吗?你们觉得我说的对吗?
2 - 按照指南重新获得 SQL 访问权限是否会损害/禁用/破坏当前的 SQL 数据库或设置?我理解,根据指南,我必须暂时关闭 SQL,因此显然在此期间无法访问。但如果有可能搞砸任何事情,那就不值得冒这个险了……
就像我说的,工作站目前正在以某种方式访问数据库,但没人知道使用什么登录信息或其他信息。基本上,它已经设置好了,它工作正常(通常),但如果他们必须重新加载软件,没人知道该怎么做。
任何反馈都将不胜感激!!这个问题对他们来说不是紧急情况,而是一种烦恼。如果我能修复它,那就太好了。但如果不能,我认为他们会设法解决,特别是因为他们最终将停止使用该软件。
非常感谢您的参与!
路加
答案1
最可能的原因是数据库和/或数据库日志文件定义了最大大小,并且已达到该大小限制,并且未启用自动增长。就您对数据库的访问级别而言,您的 Windows 登录权限与您查看和/或修改数据库的权限无关。您必须由 SQL Server 管理员在 SQL Server 中设置,才能拥有足够的权限来编辑数据库的配置。
如果您能找到具有管理员权限的人,那是最安全的选择。但如果您必须走另一条路,请谨慎行事,并确保在开始之前仔细检查并了解您要采取的步骤。一旦您拥有这些权限,无论是由现有管理员授予您,还是按照链接中的步骤操作,您都可以纠正自动增长问题。