AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 6752
Accepted
sh-beta
sh-beta
Asked: 2011-10-13 08:52:29 +0800 CST2011-10-13 08:52:29 +0800 CST 2011-10-13 08:52:29 +0800 CST

É possível desanexar um banco de dados do SQL Server mantendo as permissões de arquivo?

  • 772

Quando um usuário desconecta um banco de dados do MS SQL Server, ele define o proprietário dos dados e arquivos de log para esse usuário. Ele também remove todas as permissões de não proprietário dos arquivos. Isso é parcialmente explicado em http://msdn.microsoft.com/en-us/library/ms189128.aspx

Eu testei isso nas seguintes versões do SQL Server

  • 2005
  • 2008
  • 2008 R2

É possível alterar esse comportamento para que as permissões de arquivo sejam mantidas quando um banco de dados é desanexado?

sql-server permissions
  • 3 3 respostas
  • 2382 Views

3 respostas

  • Voted
  1. Best Answer
    Tevo D
    2011-11-23T07:38:38+08:002011-11-23T07:38:38+08:00

    Embora não seja uma resposta concreta, não encontro nenhuma opção de configuração ou configuração para substituir esse comportamento. Parece que está assado.

    Em todos os lugares , desanexar e anexar bancos de dados é mencionado na documentação aponta para a página Protegendo dados e arquivos de log mencionada acima. O cenário nesta página deixa bem claro o que está acontecendo e por que os arquivos devem ser protegidos como tal.

    Talvez você possa usar um usuário ou conta de serviço diferente para executar a operação? SE o arquivo pertencer à conta adequada (como a conta de serviço do SQL Server), tudo isso pode não ser um problema.

    • 7
  2. James
    2015-05-08T09:42:55+08:002015-05-08T09:42:55+08:00

    Por design, não é possível alterar esse comportamento por meio do SQL Server Management Studio (SSMS). Existem documentos da Microsoft ( aqui e aqui ) que explicam “claramente” esse comportamento. Embora os artigos estejam relacionados ao MSSQL 2008, ainda é válido para o MSSQL 2005/2012 (é necessário verificar para 2014): “As permissões de acesso a arquivos são definidas durante várias operações de banco de dados, incluindo desanexar ou anexar um banco de dados. Para obter informações sobre as permissões de arquivo definidas sempre que um banco de dados é desanexado e anexado, consulte Protegendo dados e arquivos de log nos manuais online do SQL Server 2008 R2.” segundo link acima.

    Uma solução possível para resolver essas situações é:

    • Crie um arquivo em lote para corrigir as permissões de arquivo.

    Usando ICACLS você pode executar algo assim:

        icacls c:\data\* /grant:r “OWNER RIGHTS”:FMRX
        icacls c:\data\* /grant:r Administrators:FMRX
        icacls c:\data\* /grant:r “NT SERVICE\MSSQLSERVER”:FMRX
    
    • 3
  3. David Storfer
    2015-06-26T13:51:55+08:002015-06-26T13:51:55+08:00

    Eu gosto da resposta dada em uma pergunta semelhante :

    Habilitar o sinalizador de rastreamento de inicialização 1802 permitirá que o SQL Server retenha permissões herdáveis ​​quando um banco de dados for desanexado.

    Obviamente, acho que o método de DBA preferido para fazer isso é simplesmente fazer backup e restaurar em um banco de dados diferente. Mas desanexar-copiar-reanexar é apenas uma operação de arquivo longa, em vez de 2 operações de arquivo longas (backup, restauração).

    • 1

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve