INF: Altera para SQL Server 6.5 que afetar 6.0 aplicativos

Traduções deste artigo Traduções deste artigo
ID do artigo: 152032 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo contém uma lista das alterações feitas para o Microsoft SQL Server versão 6.5 que pode afetar seus aplicativos de versão 6.0 do SQL Server existentes.

Conteúdo:
  1. Alterações de tabela de sistema
  2. Sistema Stored Procedure Changes e alterações no formato
  3. Novos padrões de instalação
  4. Palavras-chave
  5. FROM cláusula e nomes de tabela
  6. SELECT DISTINCT com ORDER BY
  7. Permissão de referências necessária para criar a chave externa
  8. SELECT INTO ou CREATE VIEW sem nome da coluna
  9. Conjuntos de RAISERROR @@ erro como 0 se gravidade 10 ou menos
  10. Procedimento de inicialização: sp_sqlregister
  11. Padrão de cursores de somente de encaminhamento para cursores dinâmicos
  12. Planos para cursores em procedimentos armazenados são armazenados em cache
  13. Novo serviço: MSDTC
  14. Instrução de uso na EXECUTE retorna em conclusão
  15. Configurações do driver ODBC
  16. Sintaxe JOIN e o sinalizador de rastreamento 204
  17. Objetos criados em uma transação
  18. SELECT INTO agora é uma operação atômica
  19. Conexões ISQL/W reduzidas devido a maiores tamanhos de pacotes
  20. Variáveis globais não permitidos em CHECK e restrições padrão
  21. Livros online: Visualizar novo
  22. VBSQL.ocx substitui VBSQL.vbx
  23. Showplan gráfica foi removida
  24. Procedimentos armazenados estendidos
  25. Preocupações futuras

Mais Informações

Alterações de tabela de sistema 1.

Há algumas alterações a tabelas do sistema: novas colunas foram adicionadas, o significado ou conteúdo de algumas colunas foram alterados e algumas novas tabelas de sistema foram adicionadas. Para obter mais informações, consulte SQL Server 6.5 Books Online, o que há de novo para o SQL Server 6.5, parte 4: "O que há de novo para Transact-SQL".

2. Sistema Procedure Changes e alterações armazenados no formato

Houve várias alterações para procedimentos armazenados do sistema. Em muitos casos, a funcionalidade foi expandida para incluir novos recursos do SQL Server versão 6.5. Em alguns casos, o formato da saída foi modificado para fornecer uma apresentação mais clara das informações. Para obter mais informações, consulte SQL Server 6.5 Books Online, o que há de novo para o SQL Server 6.5, parte 4: "O que há de novo para Transact-SQL".

3. Novos padrões de instalação

O diretório de raiz padrão em novas instalações é MSSQL em vez de SQL60 (como no 6.0) ou SQL (como no 4.2 x). Quando você atualiza um 4.2 x ou 6.0 instalação, o nome do diretório existente é preservado.

Palavras-chave 4.

As seguintes palavras, reservadas no SQL Server 6.0, são palavras-chave no SQL Server 6.5:
   AUTHORIZATION     FULL      OUTER          SCHEMA
   CASCADE           INNER     PRIVILEGES     WORK
   CROSS             JOIN      RESTRICT
   ESCAPE            LEFT      RIGHT
				

A palavra DISTRIBUTED também é uma nova palavra-chave no SQL Server 6.5.

Todos os objetos de banco de dados são verificados automaticamente para conflitos com essas novas palavras-chave executando ChkUpg65.exe.

5. FROM cláusula e nomes de tabela

No SQL Server 6.5, são relatados erros quando tabela redundante nomes aparecem na cláusula FROM. Por exemplo, as instruções SELECT fornecidas abaixo foram suportadas nas versões anteriores mas geram erros no SQL Server 6.5. Na primeira instrução SELECT, as tabelas foram tratadas como duas tabelas diferentes. Na segunda instrução SELECT referência do autor segunda será descartada.
   SELECT * FROM pubs..authors, pubs.dbo.authors
   SELECT * FROM authors, authors
				

Anteriormente, o SQL Server usado comparações de seqüência de caracteres sozinho para determinar se dois nomes de tabela identificado a mesma tabela. Por exemplo, pubs.dbo.authors e pubsOs autores foram considerados tabelas diferentes. Agora se dois nomes de tabela não forem idênticos, as identificações de banco de dados e identificações de tabela são comparadas para determinar se ou não são a mesma tabela. Anteriormente em uma instrução Update SQL Server poderia encontrar a primeira tabela na cláusula FROM que corresponde a um nome de coluna não qualificados e assumir que era a tabela simplesmente o usuário deve. Agora esse tipo de consulta causará um erro, porque ele é sabe qual tabela deve ser atualizada. Sinalizador de rastreamento 110 desativará todas essas alterações.

6. SELECT DISTINCT com ORDER BY

Versões anteriores do SQL Server permitem consultas SELECT DISTINCT contendo colunas de classificação na cláusula ORDER BY, que não estavam na lista de seleção. Por exemplo:
   SELECT DISTINCT au_id FROM authors ORDER BY au_lname
				

SQL Server 6.5 é compatível com o ANSI padrão, resultando em erro 145:
Itens por ordem devem aparecer na lista de seleção se SELECT DISTINCT for especificado.

Sinalizador de rastreamento 204 permite que o comportamento antigo, não-ANSI (bem como outros comportamentos de não-ANSI envolvendo subconsultas e assim por diante do SQL Server 6.0).

Permissão de 7. referências necessária para criar a chave externa

No SQL Server 6.5, se você criar uma chave externa em uma tabela que você não possui, você deve ter permissão de referências na tabela; isso é compatível com o ANSI padrão. No SQL Server 6.0, a permissão SELECT apenas foi necessária na tabela de referência. Sinalizador de rastreamento 237 permite que o comportamento antigo.

8. SELECT INTO ou CREATE VIEW sem nome da coluna

No SQL Server versão 6.5, ocorrerá um erro se nenhum nome de coluna é fornecido a uma coluna criada por uma instrução SELECT INTO ou CREATE VIEW. Por exemplo, CREATE VIEW testview como SELECT au_id, upper(au_lname) FROM autores resulta em mensagem de erro 4511:
Crie modo de exibição falhou porque nenhum nome de coluna foi especificado para coluna 2.
Um alias de coluna deve ser especificado para a segunda coluna.

SQL Server 6.0 permitiu isso; sinalizador de rastreamento 246 permite que o comportamento antigo.

Conjuntos RAISERROR 9. @@ erro para zero se gravidade dez ou menos

A instrução RAISERROR agora define @@ erro como zero se a gravidade é entre um e dez inclusive (mensagens com gravidade níveis dez e em não são erros, mas eles fornecem informações adicionais). Se você definir o msg_id usando a opção WITH SETERROR, a instrução RAISERROR atribui o msg_id para @@ erro independentemente da gravidade.

No SQL Server versão 6.0, @@ erro é definido como 50.000 para mensagens com dez níveis de gravidade e em.

Para reverter para SQL Server versão 6.0 comportamento, use o sinalizador de rastreamento 2701 ou SETERROR opção.

Procedimento de inicialização 10.: sp_sqlregister

No SQL Server 6.5 sp_sqlregister procedimento armazenado é instalado como um procedimento de inicialização padrão. Na inicialização, sp_sqlregister reúne informações de configuração básica do sistema operacional, rede e do SQL Server e, em seguida, transmite a presença do SQL Server na rede. Qualquer servidor desempenhando xp_sqlinventory pode coletar as informações em uma tabela. O procedimento armazenado sp_unmakestartup pode ser executado para remover sp_sqlregister como um procedimento de inicialização armazenado.

11. Forward-only padrão de cursores para cursores dinâmicos

No SQL Server 6.5, cursores forward-only são dinâmicos por padrão, que permite que mais rápido abrir cursor e também permite que os resultados definido para exibir atualizações feitas para as tabelas base. Cursores dinâmicos são mais rápidos na versão 6.5 e não requer índices exclusivos.

Sinalizador de rastreamento 7501 desativa os aperfeiçoamentos de cursor dinâmico e reverte para comportamento de versão 6.0.

12. Planos para cursores em procedimentos armazenados são armazenados em cache

SQL Server 6.5 armazena em cache planos para cursores para alguns procedimentos armazenados estendidos; isso fornece um ganho de desempenho para muitas operações de cursor. No entanto será também usado cache de procedimento para manter esses planos, talvez afetar um aplicativo cache comportamento (e desempenho). Sinalizador de rastreamento 7502 desativa este cache de planos de cursor.

13. Novo serviço: MSDTC

Um novo serviço é instalado com o SQL Server 6.5. O serviço MSDTC é o coordenador de transações distribuídas que fornece recursos de transação entre servidores (confirmação de duas fases automático). Normalmente o serviço MSDTC não deve afetar aplicativos existentes (diferente de automático consistência transacional), no entanto, ele requer alguma memória e alguns tempo de processamento, portanto, ele pode afetar aplicativos existentes. O serviço pode ser interrompido se seus recursos não forem necessários.

14. USE instrução na EXECUTE retorna em conclusão

No SQL Server 6.5, após a conclusão do EXECUTEing uma seqüência que contém uma instrução USE, o banco de "dados atual" automaticamente será redefinido para o banco de dados que estava sendo usado antes de executar. No SQL Server 6.0, o banco de "dados atual" configuração persistentes após o EXECUTE.

Para fazer com que o mesmo comportamento como no SQL Server 6.0, cada instrução deve ser executada no banco de dados usado deve ser executada como uma seqüência de caracteres com a instrução de uso anterior. O seguinte lote seria saída "pubs" no SQL Server 6.0; no SQL Server 6.5 saídas "mestre:"
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb)
   go
   SELECT db_name()
   go
				

Para obter o comportamento do SQL Server 6.0 no SQL Server 6.5, o seguinte lote deve ser usado:
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb + 'SELECT db_name()')
   go
				

Esse lote executa SELECT no banco de dados usado mas retorna para o banco de dados mestre após a conclusão.

Configurações do driver ODBC 15.

O artigo 149921 aborda algumas das alterações de configuração ANSI no driver ODBC Microsoft SQL Server 2.65.0201 que podem afetar aplicativos. Geralmente, esses todos são causados pelas seguintes opções SET forçar conformidade com ANSI:
   SET TEXTSIZE 2147483647
   SET ANSI_DEFAULTS ON
   SET CURSOR_CLOSE_ON_COMMIT OFF
   SET IMPLICIT_TRANSACTIONS OFF
				

16. JOIN sintaxe e o sinalizador de rastreamento 204

Embora os operadores de associação externa * = e = * de versões anteriores do SQL Server sejam suportadas, você não pode usar os operadores de associação externa e tabelas do SQL ANSI estilo associado na mesma consulta.

Quando o sinalizador de rastreamento 204 está ativado, somente sintaxe da instrução SELECT do SQL Server versões 6.0 e anteriores é permitido; tabelas associadas, tabelas derivadas e outros recursos ANSI não são permitidos.

17. Objetos criados em uma transação

SQL Server 6.5 permite que objetos ser criados dentro de uma transação. Essas operações são protegidas pelas regras padrão transacionais e podem ser confirmadas ou revertidas volta conforme necessárias. No entanto, criar um objeto em uma transação faz com que bloqueios seja mantido nas tabelas de sistema no banco de dados até que a transação criar é confirmada ou revertida. Use cuidado quando você cria objetos dentro de uma transação; isso inclui a criação de objetos temporários no banco de dados tempdb.

18. SELECT-INTO agora é uma operação atômica

SELECT INTO é agora uma operação atômica e mantém bloqueios exclusivos nos syscolumns, sysindexes e sysobjects para a duração do SELECT INTO, ou toda a transação se dentro de uma transação.

Conexões de 19. ISQL/W reduzidas devido a maiores tamanhos de pacotes

O número de conexões ISQL/w em clientes Win16 é afetado pelo valor de configuração de tamanho de pacote de rede do SQL Server. Quanto menor o rede pacotes tamanho (mínimos 512 bytes), as conexões simultâneas mais você pode fazer a partir do mesmo cliente de biblioteca de banco de dados, porque quanto maior o rede tamanho do pacote, mais recursos de sistema são usados no cliente Windows 3.x. Se o tamanho de pacote de rede no lado do servidor é configurado para ser 512, você poderá fazer o mesmo número de conexões como você pode no SQL Server 6.0 do mesmo cliente. Para obter mais informações, consulte a base de Conhecimento artigo 150909 "INF: número de conexões para clientes do SQL Server 6.5 Win16."

20. Globais variáveis não permitidos em CHECK e restrições padrão

Variáveis globais (como @@ SPID e assim por diante) não podem ser usadas nas restrições CHECK ou DEFAULT (em instruções CREATE TABLE ou ALTER TABLE). Isso nunca tiver sido documentado como uma opção válida e agora está sinalizado como sintaxe inválida, produzindo Erro 112:
Não são permitidas variáveis na instrução CREATE TABLE.

Funções internas continuam a trabalhar nas restrições.

21. Livros Online: Visualizar novo

Manuais online do SQL Server 6.5 usa o programa InfoView.exe para exibir o texto em vez de MSIN32.exe usada anteriormente.

SQL Server não precisa ser instalado para ler Online Books; pode ser instaladas independentemente, fazendo o seguinte:
  1. Criar um diretório (c:\sqlbks talvez)
  2. Copie os arquivos \sqlbks65\sqlbooks.* e \i386\InfoView.exe partir do CD-ROM para esse diretório. MSIN32.EXE do 6.0 não funcionará como o leitor para 6.5 livros, será necessário InfoView.exe (ele não precisa quaisquer DLLs).
  3. Crie um item do Gerenciador de programas com:

    Uma linha de comando de c:\sqlbks\infoview.exe sqlbooks.mvb A pasta de trabalho de c:\sqlbks
Você deve, em seguida, poderá ler os livros on-line.

22. VBSQL.ocx substitui VBSQL.vbx

Um projeto Visual Basic 3.0 que usa o antigo DB-Library 16-bit para Visual Basic, VBSQL.vbx, deve ser portado na biblioteca de banco de dados novos para Visual Basic OLE controle personalizado, VBSQL.ocx. Para obter mais informações, consulte SQL Server 6.5 Books Online, os "Portar uma biblioteca de banco de dados antiga para o Visual Basic Project".

23. Gráfica Showplan foi removida

Devido a alterações na saída do SHOWPLAN, as guias ShowPlan gráficas não estão disponíveis na ferramenta de consulta do SQL Enterprise Manager e em ISQL/w.

Procedimentos armazenados estendidos 24.

Devido às alterações para estruturas subjacentes, todos os procedimentos armazenados estendidos na linguagem de programação C devem ser recompilados do código-fonte C e vincular novamente em Microsoft SQL Server versão 6.5 para OPENDS60.LIB.

Embora no SQL Server 6.0 você poderia chamar novamente para o servidor de um XP, isso era sem suporte. Essas conexões de "auto-retorno" têm suporte no SQL Server 6.5 através do uso de conexões acoplados em que várias conexões podem compartilhar o mesmo espaço de bloqueio de transação e a mesma transação e trabalhar com os mesmos dados sem conflitos de bloqueio.

Preocupações futuras 25.

SQL Server 6.5 inclui novos recursos que substituem a funcionalidade de alguns recursos anteriores. Embora todos os recursos do SQL Server 6.0 continuam a ter suporte no 6.5, futuras versões do SQL Server podem não oferecer suporte algumas instruções onde a mesma funcionalidade pode ser obtida usando outros meios. Por exemplo, os recursos a seguir são suportados no 6.5, mas podem ser interrompidos em versões futuras:
  • Modo de procura: Embora SELECT FOR BROWSE é suportado no 6.5, o funcionalidade da cláusula FOR BROWSE em instruções SELECT pode agora ser alcançado com mais eficiência usando cursores.
  • Dispositivo espelhamento dentro do SQL Server: se a instalação do SQL Server no momento estiver usando espelhamento do SQL Server, é recomendável que você use o espelhamento de funcionalidade do Windows NT ou baseada em hardware espelhamento em vez disso.
  • Sintaxe de associação externa: Com o SQL Server 6.5, o ' * = ' e ' = * ' sintaxe para associações externas em uma cláusula WHERE pode ser substituída com o padrão ANSI associação sintaxe na cláusula FROM, usando:

    LEFT OUTER JOIN, RIGHT OUTER JOIN e FULL OUTER JOIN.
  • Seqüências de caracteres entre aspas duplas: O uso do caractere de aspas duplas deve ser reservado para delimitado ou identificadores entre aspas. Embora ainda podem ser usada aspas duplas para delimitar uma seqüência de caracteres (em vez de um nome de objeto), se SET QUOTED_IDENTIFIER ON é executada, qualquer seqüência de caracteres delimitada por aspas duplas será considerada para ser um identificador.
  • Não igual (! =): ANSI A sintaxe padrão para representar 'não igual' é '<>'. Isso deve ser usado no lugar do '! = ' em todos os casos.
  • Nula comparação (= NULL): O ANSI padrão é IS NULL e deve ser usado em todos os casos. Na verdade, se SET ANSI_NULLS ON está em vigor, "= NULL" retornará falso em todos os casos, como ANSI Especifica que nenhum valor (até mesmo NULL próprio) é igual a nulo.
  • Sinalizadores de rastreamento: Rastreamento SQL deve ser usado para monitorar o buffer de recebimento em vez de usar sinalizadores de rastreamento 4030 e 4032.

    Acordo com Books Online, sinalizadores de rastreamento devem ser usados para solucionar um problema temporariamente até que uma solução permanente é colocada no local. Embora as informações fornecidas pelo sinalizadores de rastreamento podem ajudar você diagnosticar problemas, tenha em mente que os sinalizadores de rastreamento não fazem parte do conjunto de recurso com suporte. Isso significa que o uso contínuo ou compatibilidade futura não é garantido.
Descontinuando o o uso dos recursos a seguir também deve ser considerado:
  • Segmentos: Segmentos definidos pelo usuário costumam ser usados para fazer com que objetos de banco de dados para ser colocado em determinados dispositivos por motivos de desempenho. O uso de dispositivos RAID multi-disk geralmente fornecerá um maior aumento no desempenho com um menor custo administrativo associado.
  • A banco de dados biblioteca Two-Phase biblioteca de confirmação: O Distributed Transaction Coordinator agora fornece esse recurso automaticamente.

Propriedades

ID do artigo: 152032 - Última revisão: segunda-feira, 30 de setembro de 2013 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 6.5 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt KB152032 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 152032

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com