Gerenciar metadados ao disponibilizar um banco de dados em outro servidorManage Metadata When Making a Database Available on Another Server

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Este artigo é pertinente nas seguintes situações:This article is relevant in the following situations:

  • Configuração das réplicas de disponibilidade de um grupo de disponibilidade do Grupos de disponibilidade AlwaysOnAlways On availability groups .Configuring the availability replicas of an Grupos de disponibilidade AlwaysOnAlways On availability groups availability group.

  • Ao configurar o espelhamento de banco de dados de um banco de dados.Setting up database mirroring for a database.

  • Ao preparar a alteração de funções entre servidores primário e secundário em uma configuração de envio de logs.When preparing to change roles between primary and secondary servers in a log shipping configuration.

  • Ao restaurar um banco de dados para outra instância de servidor.Restoring a database to another server instance.

  • Ao anexar uma cópia de um banco de dados a outra instância do servidor.Attaching a copy of a database on another server instance.

Alguns aplicativos dependem de informações, entidades e/ou objetos que estão fora do escopo de um único banco de dados de usuário.Some applications depend on information, entities, and/or objects that are outside of the scope of a single user database. Normalmente, um aplicativo tem dependências no banco de dados mestre e msdb e também no banco de dados de usuário.Typically, an application has dependencies on the master and msdb databases, and also on the user database. Qualquer coisa armazenada fora de um banco de dados de usuário que seja necessária para o funcionamento correto daquele banco de dados deve estar disponível na instância do servidor de destino.Anything stored outside of a user database that is required for the correct functioning of that database must be made available on the destination server instance. Por exemplo, os logons de um aplicativo são armazenados como metadados no banco de dados mestre e devem ser recriados no servidor de destino.For example, the logins for an application are stored as metadata in the master database, and they must be re-created on the destination server. Se um plano de manutenção de um banco de dados ou aplicativo depender de trabalhos do SQL ServerSQL Server Agent cujos metadados estão armazenados no banco de dados msdb , será necessário recriar esses trabalhos na instância do servidor de destino.If an application or database maintenance plan depends on SQL ServerSQL Server Agent jobs, whose metadata is stored in the msdb database, you must re-create those jobs on the destination server instance. De maneira semelhante, os metadados de um gatilho em nível de servidor são armazenados no mestre.Similarly, the metadata for a server-level trigger is stored in master.

Ao mover o banco de dados de um aplicativo para outra instância de servidor, é necessário recriar todos os metadados dos objetos e entidades dependentes do mestre e do msdb na instância do servidor de destino.When you move the database for an application to another server instance, you must re-create all the metadata of the dependant entities and objects in master and msdb on the destination server instance. Por exemplo, se um aplicativo de banco de dados usar gatilhos em nível de servidor, apenas a anexação ou a restauração do banco de dados no novo sistema não será suficiente.For example, if a database application uses server-level triggers, just attaching or restoring the database on the new system is not enough. O banco de dados não funcionará conforme esperado a não ser que os metadados desses gatilhos sejam recriados manualmente no banco de dados mestre .The database will not work as expected unless you manually re-create the metadata for those triggers in the master database.

Informações, entidades e objetos que são armazenados fora de bancos de dados de usuárioInformation, Entities, and Objects That Are Stored Outside of User Databases

O restante deste artigo resume os problemas potenciais que podem afetar um banco de dados que está sendo disponibilizado em outra instância de servidor.The remainder of this article summarizes the potential issues that might affect a database that is being made available on another server instance. Talvez você precise recriar um ou mais dos tipos de informações, entidades ou objetos apresentados na lista a seguir.You might have to re-create one or more of the types of information, entities, or objects listed in the following list. Para ver um resumo, clique no link do item.To see a summary, click the link for the item.

Server Configuration SettingsServer Configuration Settings

SQL Server 2005 (9.x)SQL Server 2005 (9.x) e versões posteriores instala seletivamente e inicia serviços e recursos chave.and later versions selectively install and starts key services and features. Isso ajuda a reduzir a área da superfície de um sistema sujeita a ataque.This helps reduce the attackable surface area of a system. Na configuração padrão de novas instalações, muitos recursos não estão habilitados.In the default configuration of new installations, many features are not enabled. Se o banco de dados depende de qualquer serviço ou recurso que esteja desativado por padrão, esse serviço ou recurso deve ser habilitado na instância do servidor de destino.If the database relies on any service or feature that is off by default, this service or feature must be enabled on the destination server instance.

Para obter mais informações sobre essas configurações e como habilitá-las ou desabilitá-las, veja Opções de configuração de servidor (SQL Server).For more information about these settings and enabling or disabling them, see Server Configuration Options (SQL Server).

CredenciaisCredentials

Uma credencial é um registro que contém as informações de autenticação necessárias para conectar-se a um recurso fora do SQL ServerSQL Server.A credential is a record that contains the authentication information that is required to connect to a resource outside SQL ServerSQL Server. A maioria das credenciais consiste em um logon e uma senha do Windows.Most credentials consist of a Windows login and password.

Para obter mais informações sobre esse recurso, veja Credenciais (Mecanismo de Banco de Dados).For more information about this feature, see Credentials (Database Engine).

OBSERVAÇÃO: Contas proxy do SQL ServerSQL Server Agent usam credenciais.NOTE: SQL ServerSQL Server Agent Proxy accounts use credentials. Para saber a identificação da credencial de uma conta proxy, use a tabela do sistema sysproxies .To learn the credential ID of a proxy account, use the sysproxies system table.

Cross-Database QueriesCross-Database Queries

Por padrão, as opções de banco de dados DB_CHAINING e TRUSTWORTHY estão OFF.The DB_CHAINING and TRUSTWORTHY database options are OFF by default. Se qualquer uma delas estiver configurada como ON para o banco de dados original, talvez seja necessário habilitá-las no banco de dados na instância do servidor de destino.If either of these are set to ON for the original database, you may have to enable them on the database on the destination server instance. Para obter mais informações, veja ALTER DATABASE (Transact-SQL).For more information, see ALTER DATABASE (Transact-SQL).

As operações de anexação e desanexação desabilitam o encadeamento de propriedades de bancos de dados para o banco de dados.Attach-and-detach operations disable cross-database ownership chaining for the database. Para obter informações sobre como habilitar o encadeamento, veja Opção cross db ownership chaining de configuração de servidor.For information about how to enable chaining, see cross db ownership chaining Server Configuration Option.

Para obter mais informações, veja também Configurar um banco de dados espelho para usar a propriedade confiável (SQL Server)For more information, see also Set Up a Mirror Database to Use the Trustworthy Property (Transact-SQL)

Database OwnershipDatabase Ownership

Quando um banco de dados é restaurado em outro computador, o logon SQL ServerSQL Server ou usuário Windows que iniciou a operação de restauração torna-se automaticamente o novo proprietário do banco de dados.When a database is restored on another computer, the SQL ServerSQL Server login or Windows user who initiated the restore operation becomes the owner of the new database automatically. Quando o banco de dados é restaurado, o administrador de sistema ou o novo proprietário do banco de dados pode alterar a propriedade do banco de dados.When the database is restored, the system administrator or the new database owner can change database ownership.

Consultas distribuídas e servidores vinculadosDistributed Queries and Linked Servers

Há suporte para consultas distribuídas e servidores vinculados para aplicativos OLE DB.Distributed queries and linked servers are supported for OLE DB applications. Consultas distribuídas acessam dados de várias fontes de dados heterogêneos no mesmo ou em diferentes computadores.Distributed queries access data from multiple heterogeneous data sources on either the same or different computers. Uma configuração de servidores vinculados permite ao SQL ServerSQL Server executar comandos em relação a fontes de dados de OLE DB em servidores remotos.A linked server configuration enables SQL ServerSQL Server to execute commands against OLE DB data sources on remote servers. Para obter mais informações sobre esses recursos, veja Servidores vinculados (Mecanismo de Banco de Dados).For more information about these features, see Linked Servers (Database Engine).

Encrypted DataEncrypted Data

Se o banco de dados que está sendo disponibilizado em outra instância do servidor contiver dados criptografados e se a chave mestra do banco de dados estiver protegida pela chave mestra do serviço no servidor original, talvez seja necessário recriar a criptografia da chave mestra do serviço.If the database you are making available on another server instance contains encrypted data and if the database master key is protected by the service master key on the original server, it might be necessary to re-create the service master key encryption. A chave mestra do banco de dados é uma chave simétrica usada para proteger as chaves privadas dos certificados e as chaves assimétricas em um banco de dados criptografado.The database master key is a symmetric key that is used to protect the private keys of certificates and asymmetric keys in an encrypted database. Quando criada, a chave mestra do banco de dados é criptografada com o algoritmo DES Triplo e uma senha fornecida pelo usuário.When created, the database master key is encrypted by using the Triple DES algorithm and a user-supplied password.

Para permitir a descriptografia automática da chave mestra do banco de dados em uma instância do servidor, uma cópia dessa chave é criptografada usando a chave mestra do serviço.To enable the automatic decryption of the database master key on a server instance, a copy of this key is encrypted by using the service master key. Esta cópia criptografada é armazenada no banco de dados e no mestre.This encrypted copy is stored in both the database and in master. Normalmente, a cópia armazenada em mestre é silenciosamente atualizada sempre que a chave mestra é alterada.Typically, the copy stored in master is silently updated whenever the master key is changed. SQL ServerSQL Server tenta primeiramente descriptografar a chave mestra do banco de dados com a chave de serviço mestra da instância.first tries to decrypt the database master key with the service master key of the instance. Se essa descriptografia falhar, o SQL ServerSQL Server pesquisará o repositório de credenciais em busca das credenciais de chave mestra que têm o mesmo GUID de família do banco de dados cuja chave mestra é necessária.If that decryption fails, SQL ServerSQL Server searches the credential store for master key credentials that have the same family GUID as the database for which it requires the master key. SQL ServerSQL Server tenta descriptografar a chave mestra de banco de dados com cada credencial compatível até que a descriptografia obtenha êxito ou não haja mais credenciais.then tries to decrypt the database master key with each matching credential until the decryption succeeds or there are no more credentials. Uma chave mestra não criptografada pela chave mestra de serviço deve ser aberta usando a instrução OPEN MASTER KEY e uma senha.A master key that is not encrypted by the service master key must be opened by using the OPEN MASTER KEY statement and a password.

Quando um banco de dados criptografado é copiado, restaurado ou anexado a uma nova instância do SQL ServerSQL Server, uma cópia da chave mestra do banco de dados criptografada pela chave mestra do serviço não é armazenada no mestre na instância do servidor de destino.When an encrypted database is copied, restored, or attached to a new instance of SQL ServerSQL Server, a copy of the database master key encrypted by the service master key is not stored in master on the destination server instance. Na instância do servidor de destino, você deve abrir a chave mestra do banco de dados.On the destination server instance, you must open the master key of the database. Para abrir a chave mestra, execute a seguinte instrução: OPEN MASTER KEY DECRYPTION BY PASSWORD =“ senha .To open the master key, execute the following statement: OPEN MASTER KEY DECRYPTION BY PASSWORD ='password'. Recomendamos que você habilite a descriptografia automática da chave mestra do banco de dados executando a seguinte instrução: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY.We recommend that you then enable automatic decryption of the database master key by executing the following statement: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Essa instrução ALTER MASTER KEY fornece à instância do servidor uma cópia da chave mestra do banco de dados que é criptografada com a chave mestra do serviço.This ALTER MASTER KEY statement provisions the server instance with a copy of the database master key that is encrypted with the service master key. Para obter mais informações, veja OPEN MASTER KEY (Transact-SQL) e ALTER MASTER KEY (Transact-SQL).For more information, see OPEN MASTER KEY (Transact-SQL) and ALTER MASTER KEY (Transact-SQL).

Para obter informações sobre como habilitar a descriptografia automática da chave mestra de um banco de dados espelho, veja Configurar um banco de dados espelho criptografado.For information about how to enable automatic decryption of the database master key of a mirror database, see Set Up an Encrypted Mirror Database.

Para obter mais informações, consulte também:For more information, see also:

User-defined Error MessagesUser-defined Error Messages

Mensagens de erro definidas pelo usuário residem na exibição do catálogo sys.messages .User-defined error messages reside in the sys.messages catalog view. Essa exibição do catálogo é armazenada no mestre.This catalog view is stored in master. Se um aplicativo de banco de dados depender de mensagens de erro definidas pelo usuário e o banco de dados for disponibilizado em outra instância do servidor, use sp_addmessage para adicionar essas mensagens definidas pelo usuário à instância do servidor de destino.If a database application depends on user-defined error messages and the database is made available on another server instance, use sp_addmessage to add those user-defined messages on the destination server instance.

Notificações de eventos e o Windows Management Instrumentation (WMI) eventos (no nível de servidor)Event Notifications and Windows Management Instrumentation (WMI) Events (at Server Level)

Notificações de eventos em nível de servidorServer-Level Event Notifications

Notificações de eventos em nível de servidor são armazenadas no msdb.Server-level event notifications are stored in msdb. Portanto, se um aplicativo de banco de dados depender de uma notificação de eventos em nível de servidor, essa notificação de evento deverá ser recriada na instância do servidor de destino.Therefore, if a database application relies on a server-level event notification, that event notification must be re-created on the destination server instance. Para exibir as notificações de eventos em uma instância do servidor, use a exibição de catálogo sys.server_event_notifications .To view the event notifications on a server instance, use the sys.server_event_notifications catalog view. Para obter mais informações, consulte Event Notifications.For more information, see Event Notifications.

Além disso, notificações de eventos são entregues usando Service BrokerService Broker.Additionally, event notifications are delivered by using Service BrokerService Broker. As rotas para mensagens recebidas não estão incluídas no banco de dados que contém um serviço.Routes for incoming messages are not included in the database that contains a service. Em vez disso, rotas explícitas são armazenadas no msdb.Instead, explicit routes are stored in msdb. Se o serviço usar uma rota explícita no banco de dados msdb para encaminhar mensagens de entrada para o serviço, quando você anexar um banco de dados em uma instância diferente, será necessário recriar essa rota.If your service uses an explicit route in the msdb database to route incoming messages to the service, when you attach a database in a different instance, you must re-create this route.

Eventos da Instrumentação de Gerenciamento do Windows (WMI)Windows Management Instrumentation (WMI) Events

O Provedor WMI para Eventos do Servidor permite usar o WMI para monitorar eventos no SQL ServerSQL Server.The WMI Provider for Server Events lets you use the Windows Management Instrumentation (WMI) to monitor events in SQL ServerSQL Server. Qualquer aplicativo que dependa de eventos em nível de servidor expostos por meio do provedor WMI do qual um banco de dados dependa deve ser definido no computador da instância do servidor de destino.Any application that relies on server-level events exposed through the WMI provider on which a database relies must be defined the computer of the destination server instance. O provedor de eventos WMI cria notificações de eventos com um serviço de destino definido no msdb.WMI Event provider creates event notifications with a target service that is defined in msdb.

OBSERVAÇÃO: Para obter mais informações, veja Provedor WMI para conceitos de eventos de servidor.NOTE: For more information, see WMI Provider for Server Events Concepts.

Para criar um alerta do WMI usando o SQL Server Management StudioTo create a WMI alert using SQL Server Management Studio

Como notificações de eventos funcionam para um banco de dados espelhoHow Event Notifications Work for a Mirrored Database

A entrega de notificações de eventos entre bancos de dados envolvendo um banco de dados espelho é remota, por definição, porque o banco de dados espelho pode efetuar failover.Cross-database delivery of event notifications that involves a mirrored database is remote, by definition, because the mirrored database can fail over. Service BrokerService Broker fornece suporte especial para bancos de dados espelhados na forma de rotas espelhadas.provides special support for mirrored databases, in the form of mirrored routes. Uma rota espelhada tem dois endereços: um para a instância do servidor principal e um para a instância do servidor espelho.A mirrored route has two addresses: one for the principal server instance and one for the mirror server instance.

Com a configuração de rotas espelhadas, você faz com que o Service BrokerService Broker reconheça o espelhamento do banco de dados.By setting up mirrored routes, you make Service BrokerService Broker routing aware of database mirroring. As rotas espelhadas permitem que o Service BrokerService Broker redirecione conversações transparentemente para a instância de servidor principal atual.The mirrored routes enable Service BrokerService Broker to transparently redirect conversations to the current principal server instance. Por exemplo, considere um serviço, Service_A que é hospedado por um banco de dados espelho, Database_A.For example, consider a service, Service_A, which is hosted by a mirrored database, Database_A. Assuma que você precisa de outro serviço, Service_B, que é hospedado pelo Database_B, para dialogar com o Service_A.Assume that you need another service, Service_B, which is hosted by Database_B, to have a dialog with Service_A. Para que esse diálogo seja possível, o Database_B deve conter uma rota espelhada para o Service_A.For this dialog to be possible, Database_B must contain a mirrored route for Service_A. Além disso, o Database_A deve conter uma rota de transporte TCP não espelhada para o Service_B, que, ao contrário de uma rota local, permaneça válida após um failover.In addition, Database_A must contain a nonmirrored TCP transport route to Service_B, which, unlike a local route, remains valid after failover. Essas rotas permitem que ACKs sejam retornados após um failover.These routes enable ACKs to come back after a failover. Como o serviço do remetente é sempre nomeado da mesma maneira, a rota deve especificar a instância do agente.Because the service of the sender is always named in the same manner, the route must specify the broker instance.

O requisito de rotas espelhadas se aplica independentemente do fato de o serviço no banco de dados espelho ser o serviço iniciador ou o serviço de destino:The requirement for mirrored routes applies for regardless of whether the service in the mirrored database is the initiator service or the target service:

  • O serviço de destino está no banco de dados espelho, o serviço iniciador deve ter uma rota espelhada para retorno ao destino.If target service is in the mirrored database, the initiator service must have a mirrored route back to the target. No entanto, o destino pode ter uma rota normal de retorno ao iniciador.However, the target can have a regular route back to initiator.

  • Se o serviço iniciador estiver no banco de dados espelho, o serviço de destino deverá ter uma rota espelhada de retorno ao iniciador para entregar confirmações e respostas.If initiator service is in the mirrored database, the target service must have a mirrored route back to initiator to deliver acknowledgements and replies. No entanto, o iniciador pode ter uma rota normal para o destino.However, the initiator can have a regular route to the target.

Extended Stored ProceduresExtended Stored Procedures

IMPORTANTE:IMPORTANT! Este recurso está em modo de manutenção e talvez seja removido em uma versão futura do Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Em vez disso, use a Integração CLR .Use CLR Integration instead.

Procedimentos armazenados estendidos são programados usando a API de Procedimento Armazenado Estendido do SQL ServerSQL Server .Extended stored procedures are programmed by using the SQL ServerSQL Server Extended Stored Procedure API. Um membro da função de servidor fixa sysadmin pode registrar um procedimento armazenado estendido em uma instância do SQL ServerSQL Server e conceder permissão aos usuários para executar o procedimento.A member of the sysadmin fixed server role can register an extended stored procedure with an instance of SQL ServerSQL Server and grant permission to users to execute the procedure. Os procedimentos armazenados estendidos só podem ser adicionados ao banco de dados mestre .Extended stored procedures can be added only to the master database.

Os procedimentos armazenados estendidos executam diretamente no espaço de endereço de uma instância do SQL ServerSQL Servere podem produzir vazamentos de memória ou outros problemas que reduzem o desempenho e a confiabilidade do servidor.Extended stored procedures run directly in the address space of an instance of SQL ServerSQL Server, and they may produce memory leaks or other problems that reduce the performance and reliability of the server. Você deve pensar em armazenar procedimentos armazenados estendidos em uma instância do SQL ServerSQL Server que seja separada da instância que contém os dados referenciados.You should consider storing extended stored procedures in an instance of SQL ServerSQL Server that is separate from the instance that contains the referenced data. Você também deve considerar o uso de consultas distribuídas para acessar o banco de dados.You should also consider using distributed queries to access the database.

Importante

Antes de adicionar procedimentos armazenados estendidos ao servidor e conceder permissões de EXECUTE a outros usuários, o administrador do sistema deve examinar detalhadamente cada procedimento armazenado estendido para verificar se ele não contém código nocivo ou mal-intencionado.Before adding extended stored procedures to the server and granting EXECUTE permissions to other users, the system administrator should thoroughly review each extended stored procedure to make sure that it does not contain harmful or malicious code.

Para obter mais informações, veja GRANT Object Permissions (Transact-SQL), DENY Object Permissions (Transact-SQL) e REVOKE Object Permissions (Transact-SQL).For more information, see GRANT Object Permissions (Transact-SQL), DENY Object Permissions (Transact-SQL), and REVOKE Object Permissions (Transact-SQL).

Full-Text Engine for SQL Server PropertiesFull-Text Engine for SQL Server Properties

As propriedades são definidas no Mecanismo de Texto Completo por meio de sp_fulltext_service.Properties are set on the Full-Text Engine by sp_fulltext_service. Verifique se a instância do servidor de destino tem as configurações necessárias para essas propriedades.Make sure that the destination server instance has the required settings for these properties. Para obter mais informações sobre essas propriedades, veja FULLTEXTSERVICEPROPERTY (Transact-SQL).For more information about these properties, see FULLTEXTSERVICEPROPERTY (Transact-SQL).

Além disso, se o componente de separadores de palavras e lematizadores ou o componente de filtros de pesquisa de texto completo tiver versões diferentes nas instâncias de servidor original e de destino, o índice e as consultas de texto completo poderão se comportar de maneira diferente.Additionally, if the word breakers and stemmers component or full-text search filters component have different versions on the original and destination server instances, full-text index and queries may behave differently. O dicionário de sinônimos também é armazenado em arquivos específicos da instância.Also, the thesaurus is stored in instance-specific files. Você deve transferir uma cópia desses arquivos para um local equivalente na instância do servidor de destino ou recriá-los na nova instância.You must either transfer a copy of those files to an equivalent location on the destination server instance or re-create them on new instance.

OBSERVAÇÃO: Quando você anexa um banco de dados do SQL Server 2005 (9.x)SQL Server 2005 (9.x) que contém arquivos de catálogo de texto completo a uma instância de servidor do SQL ServerSQL Server , os arquivos de catálogo são anexados de seus locais anteriores junto com os outros arquivos de banco de dados, assim como ocorre no SQL Server 2005 (9.x)SQL Server 2005 (9.x).NOTE: When you attach a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database that contains full-text catalog files onto a SQL ServerSQL Server server instance, the catalog files are attached from their previous location along with the other database files, the same as in SQL Server 2005 (9.x)SQL Server 2005 (9.x). Para obter mais informações, veja Atualizar pesquisa de texto completo.For more information, see Upgrade Full-Text Search.

Para obter mais informações, consulte também:For more information, see also:

TrabalhosJobs

Se o banco de dados depender de trabalhos do SQL ServerSQL Server Agent, será necessário recriá-los na instância do servidor de destino.If the database relies on SQL ServerSQL Server Agent jobs, you will have to re-create them on the destination server instance. Os trabalhos dependem de seus ambientes.Jobs depend on their environments. Se você planeja recriar um trabalho existente na instância do servidor de destino, a instância do servidor de destino talvez precise ser modificada para corresponder ao ambiente daquele trabalho na instância do servidor original.If you plan to re-create an existing job on the destination server instance, the destination server instance might have to be modified to match the environment of that job on the original server instance. Os seguintes fatores ambientais são significativos:The following environmental factors are significant:

  • O logon usado pelo trabalhoThe login used by the job

    Para criar ou executar trabalhos do SQL ServerSQL Server Agent, é necessário primeiro adicionar todos os logons do SQL ServerSQL Server exigidos pelo trabalho à instância do servidor de destino.To create or execute SQL ServerSQL Server Agent jobs, you must first add any SQL ServerSQL Server logins required by the job to the destination server instance. Para obter mais informações, veja Configurar um usuário para criar e gerenciar trabalhos do SQL Server Agent.For more information, see Configure a User to Create and Manage SQL Server Agent Jobs.

  • SQL ServerSQL Server AgentAgent service startup account

    A conta de inicialização do serviço define a conta do MicrosoftMicrosoft Windows na qual o SQL ServerSQL Server Agent é executado, bem como suas permissões de rede.The service startup account defines the MicrosoftMicrosoft Windows account in which SQL ServerSQL Server Agent runs and its network permissions. SQL ServerSQL Server Agent é executado como uma conta de usuário especificada.Agent runs as a specified user account. O contexto do serviço do Agent afeta as configurações do trabalho e seu ambiente de execução.The context of the Agent service affects the settings for the job and its run environment. A conta deve ter acesso aos recursos, como compartilhamentos de rede, exigidos pelo trabalho.The account must have access to the resources, such as network shares, required by the job. Para obter informações sobre como selecionar e modificar a conta de inicialização de serviço, veja Selecionar uma conta para o serviço SQL Server Agent.For information about how to select and modify the service startup account, see Select an Account for the SQL Server Agent Service.

    Para operar corretamente, a conta de inicialização do serviço deve ser configurada para ter o domínio, o sistema de arquivos e as permissões do Registro corretos.To operate correctly, the service startup account must be configured to have the correct domain, file system, and registry permissions. Além disso, um trabalho pode precisar de um recurso de rede compartilhado que deve ser configurado para a conta de serviço.Also, a job might require a shared network resource that must be configured for the service account. Para obter informações, veja Configurar contas de serviço e permissões do Windows.For information, see Configure Windows Service Accounts and Permissions.

  • SQL ServerSQL Server Agent que está associado a uma instância específica do SQL ServerSQL Servertem seu próprio hive do Registro e seus trabalhos normalmente são dependentes de uma ou mais configurações no hive do Registro.Agent service, which is associated with a specific instance of SQL ServerSQL Server, has its own registry hive, and its jobs typically have dependencies on one or more of the settings in this registry hive. Para se comportar da maneira pretendida, um trabalho requer essas configurações do Registro.To behave as intended, a job requires those registry settings. Se você usar um script para recriar um trabalho em outro serviço do SQL ServerSQL Server Agent, seu Registro talvez não tenha as configurações corretas para aquele trabalho.If you use a script to re-create a job in another SQL ServerSQL Server Agent service, its registry might not have the correct settings for that job. Para que trabalhos recriados se comportem corretamente em uma instância do servidor de destino, os serviços do SQL ServerSQL Server Agent original e de destino devem ter as mesmas configurações do Registro.For re-created jobs to behave correctly on a destination server instance, the original and destination SQL ServerSQL Server Agent services should have the same registry settings.

    Cuidado

    A alteração de configurações do Registro no serviço do SQL ServerSQL Server Agent de destino para tratar um trabalho recriado poderá ser problemática se as configurações atuais forem necessárias para outros trabalhos.Changing registry settings on the destination SQL ServerSQL Server Agent service to handle a re-created job could be problematic if the current settings are required by other jobs. Além disso, a edição incorreta do Registro pode danificar seriamente o sistema.Furthermore, incorrectly editing the registry can severely damage your system. Antes de fazer alterações no Registro, é recomendável fazer backup dos dados importantes no computador.Before you make changes to the registry, we recommend that you back up any valued data on the computer.

  • SQL ServerSQL Server AgentAgent Proxies

    Um proxy do SQL ServerSQL Server Agent define o contexto de segurança de uma etapa de trabalho especificada.A SQL ServerSQL Server Agent proxy defines the security context for a specified job step. Para que um trabalho seja executado na instância do servidor de destino, todos os proxies requeridos por ele devem ser recriados manualmente naquela instância.For a job to run on the destination server instance, all the proxies it requires must be manually re-created on that instance. Para obter mais informações, veja Criar um Proxy do SQL Server Agent e Solucionar problemas de trabalhos multisservidor que usam proxies.For more information, see Create a SQL Server Agent Proxy and Troubleshoot Multiserver Jobs That Use Proxies.

Para obter mais informações, consulte também:For more information, see also:

Para exibir trabalhos existentes e suas propriedadesTo view existing jobs and their properties

Para criar um trabalhoTo create a job

Práticas recomendadas para usar um script para recriar um trabalhoBest Practices for Using a Script to Re-create a Job

Recomendamos iniciar gerando o script de um trabalho simples, recriando o trabalho no outro serviço SQL ServerSQL Server Agent e executando-o para ver se ele funciona conforme pretendido.We recommend that you start by scripting a simple job, re-creating the job on the other SQL ServerSQL Server Agent service, and running the job to see whether it works as intended. Isso permite identificar incompatibilidades e tentar resolvê-las.This will let you identify incompatibilities and try to resolve them. Se um trabalho com script não funcionar conforme pretendido no novo ambiente, é recomendável criar um trabalho equivalente que funcione corretamente naquele ambiente.If a scripted job does not work as intended in its new environment, we recommend that you create an equivalent job that works correctly in that environment.

LogonsLogins

O logon em uma instância do SQL ServerSQL Server requer um logon do SQL ServerSQL Server válido.Logging into an instance of SQL ServerSQL Server requires a valid SQL ServerSQL Server login. Esse logon é usado no processo de autenticação que verifica se a entidade pode conectar-se à instância do SQL ServerSQL Server.This login is used in the authentication process that verifies whether the principal can connect to the instance of SQL ServerSQL Server. Um usuário de banco de dados para o qual o logon do SQL ServerSQL Server correspondente não está definido ou está definido incorretamente em uma instância do servidor não pode fazer logon na instância.A database user for which the corresponding SQL ServerSQL Server login is undefined or is incorrectly defined on a server instance cannot log in to the instance. Esse usuário é um usuário órfão do banco de dados nessa instância do servidor.Such a user is said to be an orphaned user of the database on that server instance. Um usuário de banco de dados pode se tornar órfão após um banco de dados ser restaurado, anexado ou copiado em uma instância diferente do SQL ServerSQL Server.A database user can become orphaned if after a database is restored, attached, or copied to a different instance of SQL ServerSQL Server.

Para gerar um script para alguns ou todos os objetos na cópia original do banco de dados, é possível usar o Assistente para Gerar Scripts e, na caixa de diálogo Escolher Opções de Script , configurar a opção Logons de Script como True.To generate a script for some or all the objects in the original copy of the database, you can use the Generate Scripts Wizard, and in the Choose Script Options dialog box, set the Script Logins option to True.

OBSERVAÇÃO: Saiba mais sobre como configurar logons para um banco de dados espelhado em Configurar contas de logon para espelhamento de banco de dados ou para Grupos de Disponibilidade AlwaysOn (SQL Server) e Gerenciamento de logons e trabalhos após a troca de função (SQL Server).NOTE: For information about how to set up logins for a mirrored database, see Set Up Login Accounts for Database Mirroring or Always On Availability Groups (SQL Server) and Management of Logins and Jobs After Role Switching (SQL Server).

PermissõesPermissions

Os seguintes tipos de permissão podem ser afetados quando um banco de dados é disponibilizado em outra instância do servidor.The following types of permissions might be affected when a database is made available on another server instance.

  • Permissões GRANT, REVOKE ou DENY em objetos do sistemaGRANT, REVOKE, or DENY permissions on system objects

  • Permissões GRANT, REVOKE ou DENY em instância de servidor (permissões em nível de servidor)GRANT, REVOKE, or DENY permissions on server instance (server-level permissions)

Permissões GRANT, REVOKE e DENY em objetos do sistemaGRANT, REVOKE, and DENY Permissions on System Objects

Permissões para objetos do sistema, como procedimentos armazenados, procedimentos armazenados estendidos, funções e exibições, são armazenadas no banco de dados mestre e devem ser configuradas na instância do servidor de destino.Permissions on system objects such as stored procedures, extended stored procedures, functions, and views, are stored in the master database and must be configured on the destination server instance.

Para gerar um script para alguns ou todos os objetos na cópia original do banco de dados, é possível usar o Assistente para Gerar Scripts e, na caixa de diálogo Escolher Opções de Script , configurar a opção Gerar Script de Permissões em Nível de Objeto como True.To generate a script for some or all the objects in the original copy of the database, you can use the Generate Scripts Wizard, and in the Choose Script Options dialog box, set the Script Object-Level Permissions option to True.

Importante

Se você gerar script de logons, as senhas não serão geradas no script.If you script logins, the passwords are not scripted. Se você tiver logons que usam a Autenticação do SQL ServerSQL Server , será necessário modificar o script no destino.If you have logins that use SQL ServerSQL Server Authentication, you have to modify the script on the destination.

Os objetos do sistema são visíveis na exibição de catálogo sys.system_objects .System objects are visible in the sys.system_objects catalog view. As permissões em objetos do sistema são visíveis na exibição de catálogo sys.database_permissions do banco de dados mestre.The permissions on system objects are visible in the sys.database_permissions catalog view in the master database. Para obter informações sobre como consultar essas exibições de catálogo e conceder as permissões de objeto do sistema, veja Permissões de objeto do sistema GRANT (Transact-SQL).For information about querying these catalog views and granting system-object permissions, see GRANT System Object Permissions (Transact-SQL). Para obter mais informações, veja Permissões de objeto do sistema REVOKE (Transact-SQL) e Permissões de objeto do sistema DENY (Transact-SQL).For more information, see REVOKE System Object Permissions (Transact-SQL) and DENY System Object Permissions (Transact-SQL).

Permissões GRANT, REVOKE e DENY em uma instância de servidorGRANT, REVOKE, and DENY Permissions on a Server Instance

Permissões no escopo de servidor são armazenados no banco de dados mestre e devem ser configuradas na instância do servidor de destino.Permissions at the server scope are stored in the master database and must be configured on the destination server instance. Para obter informações sobre as permissões de servidor de uma instância de servidor, consulte a exibição de catálogo sys.server_permissions, para obter informações sobre entidades de servidor, consulte a exibição de catálogo sys.server_principals, e para obter informações sobre associação de funções de servidor, consulte a exibição de catálogo sys.server_role_members.For information about the server permissions of a server instance, query the sys.server_permissions catalog view, for information about server principals query the sys.server_principalss catalog view, and for information about membership of server roles query the sys.server_role_members catalog view.

Para obter mais informações, veja Permissões de servidor GRANT (Transact-SQL), Permissões de servidor REVOKE (Transact-SQL) e Permissões de servidor REVOKE (Transact-SQL).For more information, see GRANT Server Permissions (Transact-SQL), REVOKE Server Permissions (Transact-SQL), and DENY Server Permissions (Transact-SQL).

Permissões em nível de servidor para um certificado ou chave assimétricaServer-Level Permissions for a Certificate or Asymmetric Key

As permissões em nível de servidor não podem ser concedidas diretamente a um certificado ou chave assimétrica.Server-level permissions cannot be granted directly to a certificate or asymmetric key. Em vez disso, as permissões em nível de servidor são concedidas a um logon mapeado que é criado exclusivamente para um certificado ou chave assimétrica específica.Instead, server-level permissions are granted to a mapped login that is created exclusively for a specific certificate or asymmetric key. Portanto, cada certificado ou chave assimétrica que exija permissões em nível de servidor, precisa de seu próprio logon mapeado por certificado ou logon mapeado por chave assimétrica.Therefore, each certificate or asymmetric key that requires server-level permissions, requires its own certificate-mapped login or asymmetric key-mapped login. Para conceder permissões em nível de servidor para um certificado ou chave assimétrica, conceda as permissões a seu logon mapeado.To grant server-level permissions for a certificate or asymmetric key, grant the permissions to its mapped login.

OBSERVAÇÃO: Um logon mapeado só é usado para autorização de código assinada com o certificado ou chave assimétrica correspondente.NOTE: A mapped login is used only for authorization of code signed with the corresponding certificate or asymmetric key. Logons mapeados não podem ser usados para autenticação.Mapped logins cannot be used for authentication.

O logon mapeado e suas permissões residem no mestre.The mapped login and its permissions both reside in master. Se um certificado ou chave assimétrica residir em outro banco de dados que não seja o mestre, ele deverá ser recriado no mestre e mapeado para um logon.If a certificate or asymmetric key resides in a database other than master, you must re-create it in master and map it to a login. Se você mover, copiar ou restaurar o banco de dados para outra instância de servidor, será necessário recriar seu certificado ou chave assimétrica no banco de dados mestre da instância do servidor de destino, mapeá-lo para um logon e conceder as permissões em nível de servidor necessárias ao logon.If you move, copy, or restore the database to another server instance, you must re-create its certificate or asymmetric key in the master database of the destination server instance, map to a login, and grant the required server-level permissions to the login.

Para criar um certificado ou chave assimétricaTo create a certificate or asymmetric key

Para mapear um certificado ou chave assimétrica para um logonTo map a certificate or asymmetric key to a login

Para atribuir permissões ao logon mapeadoTo assign permissions to the mapped login

Para obter mais informações sobre certificados e chaves assimétricas, consulte Encryption Hierarchy.For more information about certificates and asymmetric keys, see Encryption Hierarchy.

Propriedade TrustworthyTrustworthy Property

A propriedade de banco de dados TRUSTWORTHY é usada para indicar se a instância do SQL Server confia no banco de dados e em seu conteúdo.The TRUSTWORHTY database property is used to indicate whether this instance of SQL Server trusts the database and the contents within it. Quando um banco de dados é anexado, por padrão e por segurança, essa opção é definida como OFF, mesmo se essa opção foi definida como ON no servidor original.When a database is attached, by default and for security, this option is set to OFF, even if this option was set to ON on the original server. Para obter mais informações sobre essa propriedade, veja Propriedade de banco de dados TRUSTWORTHY e para obter informações sobre como ativar essa opção, veja ALTER DATABASE (Transact-SQL).For more information about this property, see TRUSTWORTHY database property and for information on turning this option ON, see ALTER DATABASE (Transact-SQL).

Replication SettingsReplication Settings

Se você restaurar um backup de um banco de dados replicado para outro servidor ou banco de dados, as configurações de replicação não poderão ser preservadas.If you restore a backup of a replicated database to another server or database, replication settings cannot be preserved. Nesse caso, é necessário recriar todas as publicações e assinaturas depois que os backups forem restaurados.In this case, you must re-create all publications and subscriptions after backups are restored. Para facilitar esse processo, crie scripts para suas configurações de replicação atuais e também para a habilitação e desabilitação da replicação.To make this process easier, create scripts for your current replication settings and, also, for the enabling and disabling of replication. Para ajudar a recriar as configurações de replicação, copie esses scripts e altere as referências ao nome do servidor para funcionarem para a instância do servidor de destino.To help re-create your replication settings, copy these scripts and change the server name references to work for the destination server instance.

Para obter mais informações, veja Fazer backup e restaurar bancos de dados replicados, Espelhamento e replicação de banco de dados (SQL Server) e Replicação e envio de logs (SQL Server).For more information, see Back Up and Restore Replicated Databases, Database Mirroring and Replication (SQL Server), and Log Shipping and Replication (SQL Server).

Service Broker ApplicationsService Broker Applications

Muitos aspectos de um aplicativo do Service BrokerService Broker são movidos com o banco de dados.Many aspects of a Service BrokerService Broker application move with the database. No entanto alguns aspectos do aplicativo devem ser recriados ou reconfigurados no novo local.However, some aspects of the application must be re-created or reconfigured in the new location. Por padrão e por segurança, quando um banco de dados é anexo de outro servidor, as opções para is_broker_enabled e is_honor_broker_priority_on são definidas como OFF.By default and for security, when a database is attached from another server, the options for is_broker_enabled and is_honoor_broker_priority_on are set to OFF. Para obter informações sobre como definir essas opções como ON, veja ALTER DATABASE (Transact-SQL).For information about how to set these options ON, see ALTER DATABASE (Transact-SQL).

Startup ProceduresStartup Procedures

Um procedimento de inicialização é um procedimento armazenado marcado para execução automática e é executado sempre que o SQL ServerSQL Server é iniciado.A startup procedure is a stored procedure that is marked for automatic execution and is executed every time SQL ServerSQL Server starts. Se o banco de dados depender de qualquer procedimento de inicialização, o procedimento deverá ser definido na instância do servidor de destino e ser configurado para ser executado automaticamente na inicialização.If the database depends on any startup procedures, they must be defined on the destination server instance and be configured to be automatically executed at startup.

Triggers (at Server Level)Triggers (at Server Level)

Os gatilhos DDL ativam procedimentos armazenados em resposta a diversos eventos DDL (Linguagem de Definição de Dados).DDL triggers fire stored procedures in response to a variety of Data Definition Language (DDL) events. Esses eventos correspondem, principalmente, a instruções Transact-SQLTransact-SQL que começam com as palavras-chave CREATE, ALTER e DROP.These events primarily correspond to Transact-SQLTransact-SQL statements that start with the keywords CREATE, ALTER, and DROP. Determinados procedimentos armazenados do sistema que executam operações do tipo DDL também podem disparar gatilhos DDL.Certain system stored procedures that perform DDL-like operations can also fire DDL triggers.

Para obter mais informações sobre esse recurso, consulte DDL Triggers.For more information about this feature, see DDL Triggers.

Consulte TambémSee Also

Bancos de dados independentes Contained Databases
Copiar bancos de dados em outros servidores Copy Databases to Other Servers
Anexar e desanexar bancos de dados (SQL Server) Database Detach and Attach (SQL Server)
Executar failover para um secundário de envio de logs (SQL Server) Fail Over to a Log Shipping Secondary (SQL Server)
Troca de função durante uma sessão de espelhamento de banco de dados (SQL Server) Role Switching During a Database Mirroring Session (SQL Server)
Configurar um banco de dados espelho criptografado Set Up an Encrypted Mirror Database
SQL Server Configuration Manager SQL Server Configuration Manager
Solução de problemas de usuários órfãos (SQL Server)Troubleshoot Orphaned Users (SQL Server)