Usuário com melhor resposta
Permissão de usuários - atachar bancos

Pergunta
-
Salve galera !!!
Estou com um problema na distribuição de minha aplicação que utiliza o sqlexpress como banco de dados.
O que acontece é que no meu instalador (Inno Setup) faz a instalação do banco bem como dos meus componentes (Visual basic ). Tudo está funcionando corretamente, porém tem clientes que tem sqlserer2005 e que utilizar a instância dele não utilizar a instância que meu instalador cria.
Muito bem ...
Neste caso, estou criando dentro do meu instalador uma opção onde meu cliente tem condições de escolher se vai ser criada uma nova instância ou se vai utilizar a instância dele. Caso ele opte pela instalação de uma nova instância está tudo pronto, porém se ele escolher que deseja instalar em uma instância dele eu terei que fazer algumas validações do tipo:
- Qual servidor ele quer instalar
- Qual usuário será utilizado para que os bancos sejam criados ou até mesmo atachados
- Qual a senha deste usuário
Minha idéia é que após ele informar o nome do servidor, usuário e senha eu tenha condições de validar se o servidor existe (tentando fazer uma conexão com ele) e se o usuário informado tenha permissão para criar bancos ou atachar bancos.
Enfim ...
Gostaria de saber como identifico se um usuário pode criar bancos de dados ou atachar bancos?
Valeu !!!
Respostas
Todas as Respostas
-
Boa Tarde,
Você poderia verificar se o usuário é SysAdmin ou está na Role DBCreators, mas se estamos falando de SQL Server 2005 é melhor olharmos um pouco pra frente. Conecte-se no servidor com o usuário desejado e rode o seguinte comando:
Code SnippetSELECT has_perms_by_name(null, 'Database', 'CREATE DATABASE');Se retornar 1 é por que o login pode criar bancos de dados. Se retornar 0 é porque o login não pode criar bancos de dados.
[ ]s,
Gustavo
-
-