属性大小不可用于数据库

Pet*_*ter 16 sql-server permissions sql-server-2008-r2

我最近将一个数据库恢复到它从(SQL Server 2008 R2 Enterprise)备份的同一个实例,发现我无法访问数据库属性。

我做了以下工作:

  • 使用sp_helpdb.检查数据库所有者设置是否正确。
  • 将数据库所有者更改为sa. 不是修复。
  • 将数据库所有者改回我的sysadmin用户。不是修复。
  • DBCC updateusage针对受影响的数据库发出。不是修复。
  • DBCC CheckDB在恢复的副本上运行到另一个实例。没有发现腐败。访问数据库属性窗口时,恢复的副本(来自同一个备份文件)没有抛出任何错误。

任何人都可以帮忙吗?

尝试查看属性时收到的错误消息是:

无法显示请求的对话框。(SqlMgmt)
属性大小不可用于数据库“[DBNAME]”。
此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo)

我是sysadmin这个实例的一个。

更新:按照建议,我创建了一个新用户,将其设为 sysadmin 并将数据库所有者更改为它。不幸的是不是修复。我将查看探查器跟踪是否会产生任何有用的信息。

更新:Aaron - 原始数据库已重命名并脱机,但仍在该实例上。然后使用原始名称恢复该数据库的备份。新数据库文件的文件名与原始文件名不同,因为它们与原始 mdf/ldf 位于同一文件夹中。恢复的数据库目前正在正常驱动我们的关键应用程序。

Pet*_*ter 10

不幸/幸运的是,我通过重新启动 SQL Server 服务解决了这个问题。

我最初的想法是分离/附加数据库。并不是说我认为这实际上可以解决问题,我只是在某处的论坛中阅读了该内容。这没有效果。

遗憾的是,我没有按照 PJ Mahoney 的建议去做:运行跟踪。我希望我能再次看到这个问题,这样我就可以找出跟踪是否显示任何内容。谢谢你的建议。

至少回答我自己的问题意味着我不必看到关于更改数据库所有者的另一个建议;P

谢谢


小智 5

我在尝试修改生产数据库日志文件的文件增长属性时遇到了同样的错误。我尝试使用 SSMS 并出现相同的错误:

属性大小不适用于 XXX 数据库。

我使用 T-SQL 来修改数据库日志文件。

USE [master]
GO
ALTER DATABASE [MyDatabase] MODIFY FILE ( NAME = N'MyDatabase_log', FILEGROWTH = 524288KB )
GO
Run Code Online (Sandbox Code Playgroud)

命令完成后,我能够在 SSMS 中打开数据库属性。我希望这对其他人有用。