Pergunta: estou tentando usar o método open table/close table para criar minha nova SQL
com a Destreza. No entanto, na instrução 'open table', SQL erro é retornado: "Uma operação aberta na tabela xxx falhou ao acessar
SQL dados". Quando eu clicar em Mais Informações, ele diz "[Microsoft][ODBC SQL Server Driver][SQL Server] Já existe um objeto chamado PKADSY4997 no banco de dados. [Microsoft] [Driver de SQL Server ODBC] [SQL Server] Não foi possível criar restrição. Consulte erros anteriores."
O nome físico da minha tabela é PKADSY4997 que não existe nem faz nenhum dos procedimentos armazenados zDP para esta tabela. O que pode estar causando o erro?
Resposta: nesse caso, a tabela foi criada e retirada anteriormente, mas por algum motivo uma restrição na tabela
não foi removida.
No Analisador de Consultas, fizemos esta consulta: selecione * de
sysobjects onde name = 'PKADSY4997' A id retornada foi
151193332 e o parent_obj foi 173243672.
Olhando para a parent_obj, em seguida, fizemos a consulta select no objeto pai e não foi possível encontrar uma. Portanto, essa foi uma restrição órfã como esperávamos.
Nesse ponto, precisamos excluir a restrição órfã. Mas, primeiro, uma configuração precisava ser alterada.
Na janela SQL Server Propriedades, há uma caixa de seleção que deve ser marcada para permitir que essa restrição seja excluída. Permitir que modificações sejam feitas diretamente nos catálogos do sistema.
Agora, do Analisador de Consultas: exclua de
sysobjects onde name = ''PKADSY4997' Isso removeu a restrição e a tabela pode ser
re-criada corretamente a partir de
Agora.
Este artigo foi TechKnowledge Document ID:26107