INF: Alterações ao SQL Server 6.5 que afectam 6.0 aplicações

Traduções de Artigos Traduções de Artigos
Artigo: 152032 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo contém uma lista das alterações efectuadas ao Microsoft SQL Server versão 6.5, que poderão afectar as aplicações de versão 6.0 do SQL Server existentes.

Conteúdo:
  1. Alterações da tabela de sistema
  2. Sistema armazenadas procedimento alterações e alterações no formato
  3. Predefinições de instalação de novo
  4. Palavras-chave
  5. FROM cláusula e nomes de tabelas
  6. SELECT DISTINCT com ORDER BY
  7. REFERÊNCIAS permissão necessária para criar a chave externa
  8. SELECT INTO ou CREATE VIEW sem nome da coluna
  9. Conjuntos de RAISERROR @@ erro para 0 se gravidade 10 ou menos
  10. Procedimento de arranque: sp_sqlregister
  11. Predefinição de cursores só de reencaminhamento para Cursores dinâmicos
  12. Planos de cursores em procedimentos armazenados estão em cache
  13. Novo serviço: MSDTC
  14. Declaração de USE in EXECUTE repõe na conclusão
  15. Definições do controlador ODBC
  16. Sintaxe JOIN e o sinalizador de rastreio 204
  17. Objectos criados numa transacção
  18. SELECT INTO é agora uma operação atómico
  19. Ligações de ISQL/W reduzidas devido à maiores tamanhos de pacote
  20. Variáveis globais não permitidos em CHECK e restrições de acesso predefinido
  21. Online livros: Visualizador de novo
  22. VBSQL.ocx substitui VBSQL.vbx
  23. Tem sido removido Showplan gráfica
  24. Expandido procedimentos armazenados
  25. Considerações sobre futuras

Mais Informação

Alterações da tabela de sistema 1.

Ocorreram algumas alterações a tabelas de sistema: foram adicionadas novas colunas, o significado ou conteúdo de algumas colunas foram alterado e algumas novas tabelas de sistema foram adicionadas. Para 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 armazenadas procedimento alterações e alterações no formato

Foram várias alterações para procedimentos de armazenado do sistema. Em muitos casos, a funcionalidade foi expandida para incluir novas funcionalidades do SQL Server versão 6.5. Em alguns casos, o formato dos resultados foi modificado para fornecer uma apresentação das informações mais claras. Para 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. Novas predefinições de instalação

O directório de raiz predefinido em novas instalações é MSSQL vez SQL60 (como na 6.0) ou SQL (tal como no 4.2 x). Quando actualiza um x 4.2 ou instalação 6.0, o nome de directório existente é mantido.

Palavras-chave 4.

As seguintes palavras, reservadas em 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 em SQL Server 6.5.

Todos os objectos de base de dados são automaticamente verificados para está em conflito com estas novas palavras-chave executando ChkUpg65.exe.

5. FROM cláusula e nomes de tabelas

No SQL Server 6.5, são comunicados erros quando tabela redundante nomes aparecem na cláusula FROM. Por exemplo, as instruções SELECT fornecidas abaixo foram suportadas em versões anteriores mas gerar erros no SQL Server 6.5. Na primeira instrução SELECT, as tabelas foram consideradas duas tabelas diferentes. A segunda instrução SELECT perdem referência o autor segunda.
   SELECT * FROM pubs..authors, pubs.dbo.authors
   SELECT * FROM authors, authors
				

Anteriormente, SQL Server utilizado comparações de cadeias individualmente para determinar se dois nomes de tabela identificado na 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, os ID de base de dados e o ID da tabela são comparados com para determinar se é ou não são a mesma tabela. Anteriormente numa instrução de actualização do SQL Server simplesmente iria localizar a primeira tabela na cláusula FROM que correspondem a um nome de coluna e não qualificados e partem do princípio que estava a tabela o utilizador pretendia. Agora este tipo de consulta irá provocar um erro, porque é certo que tabela deve ser actualizada. Sinalizador de rastreamento 110 irá desactivar todas estas alterações.

6. SELECT DISTINCT com ORDER BY

Versões anteriores do SQL Server permitidas consultas SELECT DISTINCT que contêm ordenar colunas na cláusula ORDER BY não estivessem na lista de selecção. Por exemplo:
   SELECT DISTINCT au_id FROM authors ORDER BY au_lname
				

SQL Server 6.5 em conformidade com o ANSI padrão, resultando em erro 145:
Itens por ordem tem aparecem na lista de selecção se SELECT DISTINCT for especificado.

Sinalizador de rastreamento 204 permite o comportamento antigo, que não seja ANSI (bem como outro comportamento que não seja ANSI que envolvam subconsultas e assim sucessivamente do SQL Server 6.0).

7. Referências permissão necessária para criar a chave externa

No SQL Server 6.5, se criar uma chave externa numa tabela que não lhe pertençam, tem de ter permissão de referências na tabela; isto em conformidade com ANSI padrão. No SQL Server 6.0, permissão SELECT só foi necessário em tabela referenciada. 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, ocorre um erro não se for especificado nenhum nome de coluna a uma coluna criada por uma instrução SELECT INTO ou CREATE VIEW. Por exemplo, CREATE VIEW testview AS SELECT id_au, upper(au_lname) FROM autores resulta na mensagem de erro 4511:
Crie vista falhou porque não foi especificado nenhum nome de coluna para coluna 2.
Deve ser especificado um alias de coluna para a segunda coluna.

SQL Server 6.0 permitidos isto; sinalizador de rastreamento 246 permite que o comportamento antigo.

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

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

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

Para reverter ao comportamento do SQL Server versão 6.0, utilize a opção SETERROR ou sinalizador de rastreamento 2701.

Procedimento de arranque 10.: sp_sqlregister

No SQL Server 6.5 sp_sqlregister procedimento armazenado é instalado como um procedimento de arranque predefinida. No arranque, sp_sqlregister reúne informações de configuração básica do sistema operativo, rede e do SQL Server e, em seguida, difunde presença o SQL Server na rede. Qualquer servidor executar xp_sqlinventory pode recolher as informações numa tabela. O procedimento armazenado sp_unmakestartup pode ser executado para remover sp_sqlregister como um procedimento de arranque armazenada.

11. Reencaminhar apenas padrão de cursores para Cursores dinâmicos

No SQL Server 6.5, cursores só de reencaminhamento são dinâmicos por predefinição, o que permite abrir mais rápido do cursor e também permite que os resultados definido para apresentar actualizações efectuadas as tabelas subjacentes. Cursores dinâmicos são mais rápidos na versão 6.5 e já não necessitam de índices exclusivos.

Sinalizador de rastreamento 7501 desactiva os melhoramentos de cursor dinâmico e reverte para o comportamento da versão 6.0.

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

SQL Server 6.5 coloca em cache planos para cursores para alguns procedimentos armazenados estendidos; Isto fornece um ganho no desempenho de muitas operações do cursor. No entanto também utilizará procedimento cache para manter estes planos, talvez afectar uma aplicação cache comportamento (e desempenho). Sinalizador de rastreamento 7502 desactiva a esta cache dos planos de cursor.

13. Novo serviço: MSDTC

Um novo serviço é instalado com o SQL Server 6.5. O serviço MSDTC está o coordenador de transacções distribuídas que fornece capacidades de transacção do servidor de acesso a sites (consolidação de duas fases automática). Normalmente o serviço MSDTC não deverá afectar as aplicações existentes (diferente de automática consistência transaccional), no entanto, requerer alguma memória e algum tempo de processamento, pelo que poderá afectar aplicações existentes. O serviço pode ser interrompido se as respectivas funcionalidades não forem necessárias.

Declaração de 14. USE in EXECUTE repõe na conclusão

No SQL Server 6.5, após a conclusão de uma cadeia que contém uma instrução de USE EXECUTEing a base de "dados actual" será automaticamente reposto para a base de dados que estava a ser utilizada antes de executar. No SQL Server 6.0, a base de "dados actual" Definir mantidas depois do executar.

Para fazer com que o mesmo comportamento que no SQL Server 6.0, cada instrução que deve ser executada na base de dados utilizado tem ser executada como uma cadeia com a instrução USE precedente-lo. A secção seguinte seria saída "pubs" no SQL Server 6.0; no SQL Server 6.5 produz "principal:"
   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, deve utilizar a secção seguinte:
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb + 'SELECT db_name()')
   go
				

Este processo executa SELECT a base de dados utilizado mas devolve a base de dados principal após a conclusão.

Definições do controlador ODBC 15.

O artigo 149921 discute algumas das alterações de definição ANSI no controlador de ODBC do Microsoft SQL Server 2.65.0201 que poderá afectar aplicações. Geralmente, são todas provocados pelas seguintes opções SET forçar estão em 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 rastreio 204

Apesar dos operadores de associação externa * = e = * das versões anteriores do SQL Server são suportadas, não é possível utilizar os operadores de associação externa e tabelas de estilo associado do ANSI SQL na mesma consulta.

Quando o sinalizador de rastreamento 204 está activado, é permitido apenas sintaxe da instrução SELECT de SQL Server versões 6.0 e versões anteriores; não são permitidas tabelas associadas, tabelas derivadas e outras funcionalidades do ANSI.

17. Objectos criados numa transacção

SQL Server 6.5 permite que objectos ser criadas numa transacção. Estas operações estão protegidas pelas regras de transacções padrão e podem ser consolidadas ou distribuídas novamente conforme necessárias. No entanto, criar um objecto numa transacção faz com que bloqueios ser mantidos em tabelas de sistema na base de dados até que a criar transacção é consolidada ou recupera. Utilização atenção quando criar objectos dentro de uma transacção; Isto inclui a criação de objectos temporários da base de dados tempdb.

18. SELECT-INTO é agora uma operação atómico

SELECT INTO é agora uma operação atómicas e contém exclusivos bloqueios sysindexes, sysobjects e syscolumns para a duração do SELECT-INTO ou toda a transacção se dentro de uma transacção.

Ligações de 19. ISQL/W reduzidas devido à maiores tamanhos de pacote

O número de ligações de ISQL/w Win16 clientes é afectado pelo valor de configuração do tamanho de pacotes de rede do SQL Server. Quanto menor for o rede tamanho de pacote (mínimos 512 bytes), as ligações mais em simultâneo pode efectuar a partir do mesmo cliente de biblioteca de base de dados, uma vez que quanto maior for o rede tamanho do pacote, mais recursos do sistema são utilizados no cliente Windows 3.x. Se o tamanho de pacotes de rede no lado do servidor estiver configurado para ser 512, deverá conseguir efectuar o mesmo número de ligações, tal como foi no SQL Server 6.0 do mesmo cliente. Para mais informações, consulte de artigo da base de dados de conhecimento da Microsoft 150909 "INF: número de ligações para clientes do SQL Server 6.5 Win16."

Variáveis de 20. globais não permitidos em CHECK e restrições de acesso predefinido

Variáveis globais (tais como @@ SPID e assim sucessivamente) não podem ser utilizadas em CHECK ou DEFAULT restrições (CREATE TABLE ou ALTER TABLE instruções). Isto nunca tiver sido documentado como uma opção válida e agora está sinalizado como uma sintaxe inválida, produzindo o erro 112:
As variáveis não são permitidas na instrução CREATE TABLE.

Funções incorporadas continuam a trabalhar em restrições.

21. Livros Online: Visualizador de novo

O SQL Server 6.5 Books Online utiliza o programa InfoView.exe para visualizar o texto em vez MSIN32.exe utilizado anteriormente.

SQL Server não tem de estar instalado para ler o livros online; pode ser instalados independentemente, efectuando o seguinte procedimento:
  1. Criar um directório (c:\sqlbks talvez)
  2. Copie os ficheiros \sqlbks65\sqlbooks.* e \i386\InfoView.exe partir do CD-ROM para esse directório. MSIN32.EXE do 6.0 não funcionará como o leitor para os 6.5 livros, terá InfoView.exe (não tenha qualquer dll).
  3. Crie um item de Gestor de programas com:

    Uma linha de comandos do directório de trabalho do c:\sqlbks\infoview.exe sqlbooks.mvb A de c:\sqlbks
Em seguida, deverá conseguir ler os livros online.

22. VBSQL.ocx substitui VBSQL.vbx

Um projecto de Visual Basic 3.0 utiliza a base de dados-biblioteca de 16 bits antiga para o Visual Basic, VBSQL.vbx, deve ser transportado para a nova base de dados-Library para OLE do Visual Basic controlo personalizado, VBSQL.ocx. Para mais informações, consulte SQL Server 6.5 Books Online, "Migrar uma biblioteca de base de dados antiga para o projecto do Visual Basic."

23. Gráfica Showplan tem sido removido

Devido a alterações na saída SHOWPLAN, os separadores ShowPlan gráficos já não estão disponíveis na ferramenta de consulta o SQL Enterprise Manager e no ISQL/w.

24. Expandido procedimentos armazenados

Devido às alterações às estruturas subjacentes, todos os procedimentos armazenados estendidos escritos na linguagem de programação C tem de ser novamente compilados contra o código origem C e relinked em Microsoft SQL Server versão 6.5 para OPENDS60.LIB.

Apesar de SQL Server 6.0 pode chamar novamente para o servidor a partir de um XP, este era não suportado. Essas ligações "loopback" são suportadas no SQL Server 6.5 através da utilização do dependentes ligações em que várias ligações podem partilhar mesmo espaço de bloqueio da transacção e a mesma transacção e podem trabalhar nos mesmos dados sem conflitos de bloqueio.

Considerações sobre 25. futuras

SQL Server 6.5 inclui novas funcionalidades que substituem a funcionalidade de algumas funcionalidades anteriores. Apesar de todas as funcionalidades do SQL Server 6.0 continuam a ser suportados em 6.5, futuras versões do SQL Server podem não suportar algumas instruções em que a mesma funcionalidade pode ser alcançado utilizando outros meios. Por exemplo, as seguintes funcionalidades são suportadas por 6.5, mas poderão ser descontinuadas em versões futuras:
  • Modo de procura: Embora SELECT para BROWSE for suportada 6.5, a funcionalidade da cláusula FOR BROWSE in instruções SELECT pode agora ser alcançada mais eficientemente utilizando cursores.
  • Espelhamento de dispositivo no SQL Server: Se a instalação do SQL Server está actualmente a utilizar espelhamento do SQL Server, recomenda-se que utilize o espelhamento funcionalidade do Windows NT ou baseada em hardware mirror em vez disso.
  • Sintaxe de associação externa: Com o SQL Server 6.5, o ' * = ' e ' = * ' sintaxe para associações externas de uma cláusula WHERE pode ser substituída com o padrão ANSI associação sintaxe na cláusula FROM, utilizando:

    LEFT OUTER JOIN, RIGHT OUTER JOIN e FULL OUTER JOIN.
  • Cadeias de Quoted duplas: A utilização do carácter de aspas deve ser reservada para delimitado ou entre aspas identificadores. Apesar de ainda podem ser utilizada de aspas para delimitar uma cadeia de caracteres (em vez um nome de objecto), se SET o QUOTED_IDENTIFIER ON é executado, qualquer cadeia delimitada por aspas duplas irá ser considerada um identificador.
  • Não é igual (! =): O ANSI sintaxe padrão para representar 'iguais' é '<>'. Isto deve ser utilizado em vez de '! = ' em todos os casos.
  • Comparação de nulo (= NULL): Padrão ANSI O é IS NULL e deve ser utilizado em todos os casos. Na realidade, se SET ON ANSI_NULLS está em efeito, "= NULL" devolverá FALSO em todos os casos, uma vez que ANSI Especifica que nenhum valor é igual a NULL (nulo mesmo próprio).
  • Sinalizadores de rastreio: Rastreio de SQL deve ser utilizado para monitorizar a memória intermédia de recepção em vez de utilizar sinalizadores de rastreio 4030 e 4032.

    Acordo com Books Online, sinalizadores de rastreio devem ser utilizados para resolver um problema temporariamente até uma solução permanente é implementada. Apesar das informações fornecidas pelo sinalizadores de rastreio podem ajudar a diagnosticar problemas, tenha em atenção que os sinalizadores de rastreio não fazem parte do conjunto de funcionalidade suportada. Isto significa que a compatibilidade futura ou utilização continuada não é garantia.
Interromper a utilização das seguintes funcionalidades deve também ser considerada:
  • Segmentos: Segmentos definida pelo utilizador são frequentemente utilizados para que objectos de base de dados a ser colocado em determinados dispositivos por motivos de desempenho. Normalmente, a utilização de dispositivos RAID multi-disk fornecerá um aumento maior desempenho com um custo administrativo associado inferior.
  • A base de dados-biblioteca Two-Phase biblioteca de consolidação: O Distributed transacções coordenador agora fornece esta capacidade automaticamente.

Propriedades

Artigo: 152032 - Última revisão: 7 de fevereiro de 2014 - 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 152032

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