J'utilise SQL Server 2008 Management Studio. Le compte de connexion actuel appartient au groupe d'administrateurs locaux de l'ordinateur. J'utilise le mode de sécurité intégrée de Windows dans SQL Server 2008.
Mon problème est, après la connexion à SQL Server Management Studio, je sélectionne mon nom de connexion sous Sécurité / Connexions, puis sélectionnez l'onglet Rôles du serveur, puis sélectionnez le dernier élément - sysadmin pour me faire appartenir à ce groupe / rôle, mais il dit que je n'ont pas assez de permission. Des idées ce qui ne va pas? Je pense que l'administrateur local devrait pouvoir faire n'importe quoi. :-)
sql-server
security
sql-server-2008
George2
la source
la source
Réponses:
La connexion de la session où vous essayez de définir des autorisations doit avoir des autorisations.
Ainsi, la connexion que vous utilisez est un administrateur local? Cela signifie que le groupe d'administrateurs local ne dispose pas de droits suffisants.
L'interface graphique l'exécutera également sp_addsrvrolemember . Bien que cela indique
Ainsi, le groupe d'administrateurs local n'est pas membre de sysadmin.
Éditer:
Pour résoudre: Utilisez une connexion qui a des droits. vous pouvez en trouver un en utilisant sp_helpsrvrolemember
la source
Dans un autre bon article Résolution des problèmes: connexion à SQL Server lorsque les administrateurs système sont verrouillés , l'auteur nous dit que tout ce que nous avons à faire pour reprendre le contrôle de notre SQL Server est de
Malheureusement, ce que signifie démarrer en mode mono-utilisateur n'est pas une question intuitive. De plus, du moins d'après mon expérience, l'appartenance au groupe d'administrateurs local de mon ordinateur n'a pas accordé le statut d'administrateur système à mon compte "utilisateur".
Cette histoire avait commencé quand résoudre un problème d'appartenance à mon domaine par un serveur non DC (une conséquence du changement de FAI), j'ai reconstruit le DC dans Windows Server 2008 R2 à partir de 2008. Cela a résolu quelques problèmes mineurs mais n'a pas résolu la question de l'appartenance au serveur errant. Il a fallu un correctif suggéré dans ServerFault pour y parvenir (dans mon cas, il s'agissait de réinitialiser winsock et tcpip).
SQL Server 2008 réside sur ce deuxième serveur, désormais membre du domaine. Voici le problème. Comme quelqu'un le fait remarquer sur ServerFault, il est courant de pousser "laisser l'utilisateur actuel devenir sysadmin" lors de l'installation de Server 2008. Commune aussi pour ne considérer personne d'autre. Étant donné que cette identité d'utilisateur unique était membre d'un domaine d'un domaine qui n'existait plus, personne n'était autorisé à administrer Sql Server.
Je me suis connecté en tant qu'administrateur de serveur local qui existait lors de l'installation de Sql Server, mais bien que cela me permette d'accéder à Management Studio, j'ai rapidement découvert que BUILTIN \ Administrators n'avait que le rôle de serveur "public".
Après de nombreuses recherches et expérimentations, je suis tombé sur un article donnant les spécificités de la connexion à un seul utilisateur http://technet.microsoft.com/en-us/library/ms180965.aspx :
Pour vous préparer à cette étape, vous devez arrêter Sql Server (qui s'exécute par défaut dans la plupart des cas). Utilisez SQL Configuration Manager pour arrêter «Sql Server».
Ensuite, dans une invite de commandes, accédez à cet emplacement de fichier programme (ou équivalent sur votre ordinateur) et exécutez la commande "sqlservr.exe -m". Si vous voyez un flux d'activité enregistré dans votre invite de commande, vous réussissez. S'il ne démarre pas, vous avez probablement déjà SQL Server en cours d'exécution. Ferme-le.
Autorisez l'instance mono-utilisateur à attacher ses bases de données. Une fois l'activité du journal terminée, ouvrez Management Studio. Vous serez automatiquement en mode mono-utilisateur, et donc quel que soit le compte que vous représentez sera un administrateur système. Utilisez ce pouvoir pour ajuster les connexions de sécurité et les rôles de serveur.
Dans mon cas, j'ai dû recréer les comptes de domaine dans le nouveau domaine, puis supprimer leurs homonymes dans SQL Server et les reconstruire (en raison de la situation SID / GUID), en réaffectant des autorisations à des bases de données particulières si nécessaire.
la source
C'est vrai, MAIS dans ce cas, vous pouvez récupérer de cette situation en démarrant le service SQL Server en mode mono-utilisateur (mode d'urgence), et tout administrateur local pourra se connecter.
Voir MSDN .
la source
Par défaut, SQL ajoute le groupe BUILTIN \ Administrators au rôle sysadmin, ce qui signifie que tout administrateur NT local est automatiquement un administrateur sys SQL. Sous Vista, en raison de l'UAC, vous devez exécuter en mode «en tant qu'administrateur» pour bénéficier de ce privilège.
la source
Par défaut, SQL Server 2008 n'ajoute plus BUILTIN \ Administrators en tant que membres du rôle serveur fixe sysadmin. Lorsque vous passez par le programme d'installation, il vous demande quel compte ou quels comptes doivent avoir les droits d'administrateur système. Il y a un bouton qui dit essentiellement "faites-moi un administrateur système" qui ajoutera le compte de l'utilisateur effectuant l'installation en tant qu'administrateur système.
S'ils n'ont ajouté aucun autre utilisateur en tant qu'administrateur système, seul cet utilisateur est actuellement un administrateur système. Vous devrez demander à cette personne de se connecter à SQL Server et d'accorder les droits d'administrateur système aux administrateurs de base de données.
la source
J'ai réfléchi au même problème après une nouvelle installation jusqu'à ce que j'enregistre le serveur, sur SQL Server 2008, puis tout s'est déroulé comme il se doit
la source