O tamanho da propriedade não está disponível para o banco de dados


14

Recentemente, restaurei um banco de dados na mesma instância da qual foi feito backup (SQL Server 2008 R2 Enterprise) e descobri que não conseguia acessar as propriedades do banco de dados.

Eu fiz o seguinte:

  • Verificado se o proprietário do banco de dados foi configurado corretamente usando sp_helpdb.
  • O proprietário do banco de dados foi alterado para sa. Não é uma correção.
  • O proprietário do banco de dados foi alterado novamente para o meu sysadminusuário. Não é uma correção.
  • Emitido DBCC updateusageno banco de dados afetado. Não é uma correção.
  • Execute DBCC CheckDBuma cópia restaurada para outra instância. Nenhuma corrupção encontrada. A cópia restaurada (do mesmo arquivo de backup) não gerou erros ao acessar a janela de propriedades do banco de dados.

Alguém pode ajudar?

A mensagem de erro que recebo ao tentar visualizar propriedades é:

Não é possível mostrar a caixa de diálogo solicitada. (SqlMgmt)
O tamanho da propriedade não está disponível para o banco de dados '[DBNAME]'.
Esta propriedade pode não existir para este objeto ou pode não ser recuperável devido a direitos de acesso insuficientes. (Microsoft.SqlServer.Smo)

Eu sou um sysadminneste caso.

Atualização: Como sugerido, criei um novo usuário, o tornei sysadmin e alterei o proprietário do banco de dados para ele. Infelizmente não é uma correção. Vou ver se um rastreamento do criador de perfil produz algo útil.

Atualização: Aaron - o banco de dados original foi renomeado e colocado offline, mas ainda está nessa instância. O backup desse banco de dados foi restaurado usando o nome original. Os nomes dos arquivos dos novos arquivos de banco de dados são diferentes do original, pois vivem na mesma pasta que o original mdf / ldf. O banco de dados restaurado está atualmente conduzindo nossos aplicativos críticos normalmente.


@ Shanky Estou usando o SSMS 2014 e tentei isso de vários clientes / servidores.
Peter

Talvez também execute um rastreamento do criador de perfil no banco de dados em que ele funciona e veja o que há de diferente também no que funciona e não funciona - algo precisa ser diferente?
Pimp Juice IT

Recentemente, tive esse problema depois de restaurar um banco de dados grande. Lamento dizer que se limpou embora. Pode ser uma pergunta boba, mas você verificou o log de erros em busca de algo indesejável?
dwjv

Respostas:


8

Resolvi isso reiniciando o serviço SQL Server, infelizmente / felizmente.

Minha idéia inicial foi desanexar / anexar o banco de dados. Não que eu pensasse que isso resolveria o problema, acabei de ler isso em um fórum em algum lugar. Isso não teve efeito.

Lamentavelmente, não fiz o que PJ Mahoney sugeriu: executar um rastreamento. Espero ver esse problema novamente para descobrir se um traço revela alguma coisa. Obrigado pela sugestão.

Responder pelo menos a minha própria pergunta significa que não preciso ver outra sugestão sobre como alterar o proprietário do banco de dados; P

obrigado


5

Eu tive esse mesmo erro ao tentar modificar as propriedades de crescimento do arquivo de log de um banco de dados de produção. Eu tentei usar o SSMS e tive o mesmo erro:

O tamanho da propriedade não está disponível para o banco de dados XXX.

Eu usei o T-SQL para modificar o arquivo de log do banco de dados.

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

Após a conclusão do comando, consegui abrir as propriedades do banco de dados no SSMS. Espero que isso funcione para os outros.


interessante! Comente aqui se isso funcionou para você #
Peter Peter

funcionando bem e certo?
Kiquenet

1

Isso pode acontecer em bancos de dados muito ocupados ou mesmo se o banco de dados não estiver ocupado em geral, mas no momento está executando uma instrução que está alterando rapidamente o tamanho do arquivo de log. Por exemplo, se você tentar excluir um número muito grande de linhas (milhões) de uma tabela, o mecanismo precisará registrar todas as linhas para fins de reversão, o que forçará o crescimento do arquivo de log rapidamente. Enquanto isso estiver em andamento, se você tentar abrir as propriedades do banco de dados no SSMS, verá a mensagem de erro "o tamanho da propriedade não está disponível .."

Outra maneira de reproduzir é a seguinte: pegue um banco de dados muito grande (mais de 100 milhões de linhas) e execute uma instrução ALTER TABLE nele (por exemplo, converta uma coluna char em um varchar). Veja seu arquivo de log explodir em centenas de megs ou mesmo gigabytes por segundo. Novamente, enquanto isso estiver acontecendo, o SSMS não poderá fornecer o tamanho do banco de dados, pois está mudando muito rápido para ser preciso.

Escusado será dizer que, por favor, não tente isso em servidores ao vivo. :)


1

Acabei de descobrir isso e, a partir de um rastreamento, aparentemente isso foi bloqueado por uma operação INDEX REBUILD que estava sendo executada

Meu erro específico foi

A propriedade SpaceAvailable não está disponível para o Banco de Dados '[dbOverwatch]'. Esta propriedade pode não existir para este objeto ou pode não ser recuperável devido a direitos de acesso insuficientes. (Microsoft.SqlServer.Smo)

SELECT
(SELECT SUM(CAST(df.size as float)) FROM sys.database_files AS df WHERE df.type in ( 0, 2, 4 ) ) AS [DbSize],
(SUM(a.total_pages) + (SELECT ISNULL(SUM(CAST(df.size as bigint)), 0) FROM sys.database_files AS df WHERE df.type = 2 )) AS [SpaceUsed]
FROM
sys.partitions p join sys.allocation_units a on p.partition_id = a.container_id left join sys.internal_tables it on p.object_id = it.object_id

Ele deve ter um valor de tempo limite muito baixo, mas talvez você possa verificar se alguma coisa está sendo bloqueada ao tentar acessar as propriedades


Interessante. Vou testar isso.
Peter

0

Recebo essa mensagem de erro durante a implantação de uma solução de ferramentas de banco de dados do SQL Server no banco de dados (no SQL Server 2008 R2). Após a conclusão da implantação, o erro desaparece. É um pouco desagradável, porque nem o banco de dados está no modo de usuário único ou somente leitura (é claro) ou qualquer outra coisa que indique o motivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.