Como gerir o SQL Server Desktop Engine (MSDE 2000) ou o SQL Server 2005 Express Edition utilizando o utilitário osql

Traduções de Artigos Traduções de Artigos
Artigo: 325003 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

O SQL Server Desktop Engine (também conhecido como MSDE 2000) não tem a respectiva interface de utilizador porque principalmente foi concebido para ser executado em segundo plano. Os utilizadores interagir com o MSDE 2000 através do programa em que está incorporado. A única ferramenta que é fornecida com o MSDE 2000 é o utilitário osql . O ficheiro executável, Sql.exe, está localizado na pasta MSSQL\Binn para uma instância predefinida do MSDE 2000. Este artigo foca a gerir o MSDE 2000 utilizando o utilitário osql .

Se estiver a utilizar o SQL Server 2005, pode também utilizar o utilitário osql para gerir o SQL Server 2005 Express Edition. No entanto, esta funcionalidade será removida numa versão futura do Microsoft SQL Server 2005. Recomendamos que que não utilizar esta funcionalidade no novo trabalho de desenvolvimento e pretende modificar aplicações está a utilizar a funcionalidade. Utilize o utilitário Sqlcmd. Para obter mais informações sobre como utilizar o utilitário Sqlcmd, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms170207.aspx

O que é OSQL?

O utilitário osql é um utilitário de linha de comandos do Microsoft Windows 32 que pode utilizar para executar instruções de Transact-SQL e ficheiros de script. O utilitário osql utiliza o ODBC da base de dados programação interface de aplicações (API) para comunicar com o servidor.

Como utiliza OSQL?

Normalmente, utiliza o utilitário osql seguintes formas:
  • Os utilizadores introduzir interactivamente instruções de Transact-SQL de forma semelhante a trabalhar com a linha de comandos.
  • Os utilizadores submetem um osql através do trabalho:
    • Especificar uma única instrução Transact-SQL para executar. - ou -

    • - ou - por apontar o utilitário para um ficheiro de script que contém instruções de Transact-SQL para executar.

Introduza interactivamente instruções Transact-SQL

Para visualizar uma lista das opções do utilitário osql sensível a maiúsculas e minúsculas, escreva o seguinte numa linha de comandos e, em seguida, prima ENTER:

osql -?

Para obter mais informações sobre cada opção do utilitário osql , consulte o tópico "osql utilitário" no SQL Server Books Online.

Para introduzir interactivamente instruções de Transact-SQL, siga estes passos:

  1. Verifique se o MSDE 2000 está em execução.
  2. Ligar ao MSDE 2000 (para mais informações, consulte a secção intitulada "Ligar ao SQL Server Desktop Engine (MSDE 2000)").
  3. Na linha de comandos osql , escreva as instruções de Transact-SQL e, em seguida, prima ENTER. Quando prime ENTER no final de cada linha de entrada, osql coloca em cache as instruções nessa linha.

    • Para executar instruções actualmente em cache, escreva "Ir" e, em seguida, prima ENTER.

    • Para executar um lote de instruções de Transact-SQL, introduza cada comando Transact-SQL em linhas separadas. Em seguida, escreva "Ir" na última linha para assinalar o fim da secção de e para executar instruções actualmente na cache.

    Os resultados são apresentados na janela da consola.

  4. Para sair do osql , escreva QUIT ou EXIT e, em seguida, prima ENTER.

Submeter uma tarefa OSQL

Normalmente, submeter uma tarefa osql uma de duas formas. Pode:
  • Especifique uma única instrução Transact-SQL.

    - ou -

  • - ou - aponte o utilitário para um ficheiro de script.
Segue-se mais informações sobre cada método.

especificar uma declaração único Transact-SQL

Para executar uma instrução Transact-SQL contra a instância predefinida local do MSDE 2000, escreva um comando semelhante a esta

-E - OSQL de q "Instrução Transact-SQL"

em que

  • -E utiliza a autenticação do Microsoft Windows NT.

    - e -

  • - e - -q executa a instrução Transact-SQL mas não feche osql quando a consulta estiver concluída.
Para executar a instrução Transact-SQL e sair osql , utilize o -Q argumento em vez de -q .

ponto o utilitário para um ficheiro de script

Aponte o utilitário para um ficheiro de script, siga estes passos:
  1. Crie um ficheiro script que contém um conjunto de instruções de Transact-SQL (tais como myQueries.sql).
  2. Abra uma linha de comandos, escreva um comando semelhante à seguinte e, em seguida, prima ENTER

    osql -E -i input_file

    em que

    input_file é o caminho completo do ficheiro de script. Por exemplo, se o myQueries.sql do ficheiro de script está localizado na pasta C:\Queries, substitua o parâmetro input_file com C:\Queries\myQueries.sql.

    Os resultados do ficheiro de script são apresentados na janela da consola. Se pretender direccionar os resultados para um ficheiro, adicione o argumento de output_file - o para o comando mostrado anteriormente. Por exemplo:

    osql -E -i input_file -o output_file

    em que

    output_file é o caminho completo do ficheiro de saída.

    Para remover a numeração e pedir símbolos na saída, adicione a opção - n para o comando mostrado anteriormente. Por exemplo:

    osql -E -i input_file -o output_file - n

Ligar ao SQL Server Desktop Engine (MSDE 2000)

Para ligar ao MSDE 2000, siga estes passos:
  1. Verifique se o MSDE 2000 está em execução.
  2. Abra uma linha de comandos no computador que aloja a instância do MSDE 2000 para o qual pretende ligar.
  3. Escreva o seguinte comando e, em seguida, prima ENTER:

    osql -E

    Este modo fica ligado à instância predefinida local do MSDE 2000 utilizando autenticação do Windows.

    Para ligar a uma instância nomeada do MSDE 2000, escreva:

    OSQL -E-S servername\instancename

    Se receber a seguinte mensagem de erro, o MSDE 2000 pode não estar em execução ou que tiver fornecido um nome incorrecto para a instância nomeada do MSDE 2000 está instalado:
    [Memória partilhada]SQL Server não existe ou o acesso negado.
    [Memória partilhada]ConnectionOpen (Connect()).
    Se estiver ligado com êxito para o servidor, será apresentada a seguinte mensagem:

       1>
    						
    Este aviso indica que osql é iniciado. Agora, pode introduzir interactivamente instruções de Transact-SQL e os resultados são apresentados na linha de comandos.

Gerir o MSDE 2000

Dar as restantes secções deste artigo é brevemente a conhecer os comandos de Transact-SQL mais frequentemente utilizados para gerir o MSDE 2000.

Criar um novo início de sessão

Um utilizador não é possível ligar ao SQL Server sem fornecer um id de início de sessão válidas. O procedimento armazenado sp_grantlogin é utilizado para autorizar uma conta de rede do Windows (um grupo ou uma conta de utilizador) para ser utilizado como um início de sessão do SQL Server para ligar a uma instância do SQL Server utilizando a autenticação do Windows. O seguinte exemplo permite que um utilizador do Windows NT chamado Corporate\Test para ligar a uma instância do SQL Server:
EXEC sp_grantlogin 'Corporate\Test'
				
só os membros do sysadmin ou securityadmin fixo funções de servidor podem executar o procedimento sp_grantlogin armazenados. Para obter mais informações sobre funções, consulte o tópico "Funções, SQL Server Architecture" no SQL Server Books Online.

Para mais informações sobre o procedimento sp_grantlogin armazenadas, consulte "sp_grantlogin, referência de Transact-SQL" tópico no SQL Server Books Online.

Utilize o procedimento de sp_addlogin armazenados para criar uma nova conta de início de sessão para ligações de SQL Server utilizando a autenticação do SQL Server. O exemplo seguinte cria um login do SQL Server para um utilizador chamado "teste" com uma palavra-passe "Olá":
EXEC sp_addlogin 'test','hello'
				
só os membros do sysadmin e securityadmin fixo funções de servidor podem executar o procedimento sp_addlogin armazenados. Para mais informações sobre o procedimento sp_addlogin armazenadas, consulte "sp_addlogin, referência de Transact-SQL" tópico no SQL Server Books Online.

Aceder a uma base de dados

Depois de um utilizador ligar a uma instância do SQL Server, não podem efectuar actividades numa base de dados até dbo -los concede acesso à base de dados. Pode utilizar o procedimento armazenado sp_grantdbaccess para adicionar uma conta de segurança para um novo utilizador da base de dados actual. O seguinte exemplo adiciona uma conta para um utilizador do Microsoft Windows NT chamado Corporate\BobJ à base de dados actual e atribui-"João":
EXEC sp_grantdbaccess 'Corporate\BobJ', 'Bob'
				

O procedimento armazenado sp_adduser executa mesma função que o procedimento sp_grantdbaccess armazenados. Uma vez que o procedimento armazenado sp_adduser incluído para compatibilidade com versões anteriores, a Microsoft recomenda que utiliza o procedimento sp_grantdbacess armazenados.

Apenas os membros do sysadmin fixo db_owner fixo funções de base de dados de função de servidor e db_accessadmin possam executar o procedimento sp_grantdbaccess armazenados. Para mais informações sobre o procedimento sp_grantdbaccess armazenadas, consulte "sp_grantdbaccess, referência de Transact-SQL" tópico no SQL Server Books Online.

Como alterar a palavra-passe para um início de sessão

Para alterar a palavra-passe de um início de sessão, utilize o procedimento sp_password armazenados. O exemplo seguinte altera a palavra-passe para o início de sessão "teste"de"ok" para "Olá":
EXEC sp_password 'ok', 'hello','test'
				

Execute permissões predefinidas para a função pública para um utilizador que é alterar a palavra-passe de início de sessão próprias. Apenas os membros da função sysadmin podem alterar a palavra-passe para iniciar sessão outro utilizador. Para mais informações sobre o procedimento sp_password armazenadas, consulte "sp_password, referência de Transact-SQL" tópico no SQL Server Books Online

Criar uma base de dados

Uma base de dados MSDE 2000 é constituído por um conjunto de tabelas que contêm dados e outros objectos, tais como vistas, índices, procedimentos armazenados e activadores, que são definidos para suportar actividades executadas com os dados. Para criar uma base de dados do MSDE 2000, utilize o comando "CREATE DATABASE" Transact-SQL. Para mais informações sobre como criar uma base de dados, consulte o tópico "Criar um Database" no SQL Server Books Online.

O exemplo seguinte cria uma base de dados com o nome teste . Uma vez que não existem parâmetros adicionais estão adicionados ao comando, a base de dados teste será o mesmo tamanho da base de dados modelo :
CREATE DATABASE Test
				
permissão CREATE DATABASE predefinida para os membros do sysadmin e dbcreator fixo funções de servidor. Para mais informações sobre o comando "CREATE DATABASE", consulte o tópico "CREATE DATABASE, Transact SQL Reference" no SQL Server Books Online.

Para criar um novo objecto de base de dados, utilize o comando CREATE Transact-SQL. Por exemplo, para criar uma nova tabela, utilize o comando "CREATE TABLE" Transact-SQL. Para mais informações, consulte SQL Server Books Online.

Fazer cópia de segurança e restaurar bases de dados

O componente de cópia de segurança e restauro do SQL Server fornece uma salvaguarda importante para proteger dados críticos armazenados nas bases de dados SQL Server.

Com um planeamento adequado, poderá recuperar a partir de várias falhas, incluindo:
  • Falha de Media.
  • Erros do utilizador.
  • Perda permanente de um servidor.
Além disso, efectuar cópias de segurança e restaurar bases de dados são útil para outros fins, tais como copiar uma base de dados de um servidor para outro. Através da cópia de segurança uma base de dados de um computador e restaurar a base de dados para outro, pode rápida e facilmente efectuar uma cópia de uma base de dados.

Para mais informações sobre a base de dados de cópia de segurança e restaurar o funcionamento, consulte o tópico de "bases de fazer cópia de segurança para cima e restaurar dados" no SQL Server Books Online.

O seguinte exemplo efectua uma cópia de segurança da base de dados para uma base de dados denominada mydb , nomes mydb.bak cópia de segurança e, em seguida, armazena a cópia de segurança na pasta C:\Msde\Backup:

BACKUP DATABASE mydb TO DISK = 'C:\MSDE\Backup\mydb.bak'
				

O seguinte exemplo efectua uma cópia de segurança do registo para uma base de dados denominada mydb , nomes Mydb_log.bak cópia de segurança e, em seguida, armazena-os na pasta C:\Msde\Backup:

BACKUP LOG mydb TO DISK = 'C:\MSDE\Backup\mydb_log.bak'
				

DATABASE de cópia de segurança e registo de cópia de segurança predefinido de permissões para membros da função de servidor fixa sysadmin , proprietário e db_backupoperator corrigido funções de base de dados. Para obter mais informações sobre a instrução de cópia de segurança, consulte o tópico "Cópia de segurança, Transact SQL Reference" no SQL Server Books Online.


MSDE inclui o serviço de Agente do SQL Server para gerir tarefas agendadas. Por exemplo, pode criar e agendar uma tarefa de cópia de segurança Transact-SQL. O serviço de agente do SQL Server gere a programação de trabalhos. Código de exemplo sobre como utilizar os vários procedimentos armazenados com o MSDE 2000 para efectuar uma cópia de segurança e agendar a cópia de segurança, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
241397Como cópia anterior de uma base de dados motor de dados do Microsoft com Transact-SQL
Para obter mais informações sobre o serviço de agente do SQL Server, consulte o tópico "SQL Server Agent Service" no SQL Server Books Online.

Cópias de uma base de dados é apenas metade do processo. É importante saber como restaurar a base de dados a partir de uma cópia de segurança. O exemplo seguinte restaura uma base de dados denominado mydb do ficheiro de cópia de segurança C:\Msde\Backup\Mydb.bak:

RESTORE DATABASE mydb FROM DISK ='C:\MSDE\Backup\mydb.bak'
				
Se a base de dados que esteja a ser restaurado não existe, o utilizador tem de ter permissões CREATE DATABASE para executar a instrução de RESTAURO. Se a base de dados existir, RESTORE permissões predefinidas para os membros dos sysadmin e dbcreator corrigido funções de servidor e o proprietário ( dbo ) da base de dados. Para mais informações sobre a instrução de RESTAURO, consulte o tópico "RESTORE, Transact SQL Reference" no SQL Server Books Online.

Ligar e desligar de uma base de dados

Os ficheiros de registo de dados e transacções de uma base de dados podem ser desligados e, em seguida, reattached para outro servidor ou mesmo para o mesmo servidor. Desligar de uma base de dados remove a base de dados do SQL Server mas deixa a base de dados intacta nos ficheiros de registo de dados e transacções que constituem a base de dados. Em seguida, é possível utilizar estes ficheiros de registo de dados e transacções para anexar a base de dados a qualquer instância do SQL Server, incluindo o servidor a partir do qual a base de dados foi desligado. Este procedimento torna a base de dados disponíveis com exactamente o mesmo estado que estava quando foi desligado. Para mais informações, consulte o tópico "Anexar e desligar um Database" no SQL Server Books Online.

O exemplo seguinte remove uma base de dados denominada mydb da instância actual do SQL Server:
EXEC sp_detach_db 'mydb'
				
só os membros da função de servidor fixa sysadmin possam executar o procedimento sp_detach_db armazenados. Para mais informações sobre o procedimento sp_detach_db armazenadas, consulte "sp_detach_db, referência de Transact-SQL" tópico no SQL Server Books Online.

O exemplo seguinte liga dois ficheiros de uma base de dados denominada mydb para a instância actual do SQL Server:
EXEC sp_attach_db @dbname = N'mydb', 
   @filename1 = N'C:\MSDE\Backup\mydb.mdf', 
   @filename2 = N'C:\MSDE\Backup\mydb.ldf'
				
a letra maiúscula N é utilizada como prefixo uma constante de cadeia Unicode. O prefixo "N" significa idioma nacional no padrão SQL-92. Para mais informações, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
239530INF: Cadeia de caracteres Unicode constantes no SQL Server pedir prefixo N
Apenas os membros do sysadmin e dbcreator fixo funções de servidor podem executar este procedimento. Para mais informações sobre o procedimento armazenado sp_attach_db , consulte "sp_attach_db, referência de Transact-SQL" tópico no SQL Server Books Online.

As seguintes informações sobre a utilização do utilitário osql também se aplica a todas as edições do Microsoft SQL Server 2000.

Referências

Para transferir uma versão actualizada do SQL Server 2000 Books Online, visite o seguinte Web site da Microsoft:
http://technet.microsoft.com/en-us/sqlserver/bb331756.aspx
Para transferir a versão do SQL Server 7.0 do SQL Server Books Online, visite o seguinte Web site da Microsoft:
http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe
Para mais informações sobre o MSDE 2000, consulte os seguintes artigos na base de dados de conhecimento da Microsoft:
319930Como ligar a uma instância do SQL Server Desktop Edition ou do SQL Server 2005 Express Edition
241397Como cópia anterior de uma base de dados motor de ambiente de trabalho do Microsoft com Transact-SQL

Propriedades

Artigo: 325003 - Última revisão: 14 de novembro de 2007 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
Palavras-chave: 
kbmt kbdownload kbhowtomaster KB325003 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: 325003
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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