2010-10-08 7 views
0

Avant d'entrer dans ma question permettez-moi de vous donner un peu de contexte sur moi d'abord. Je suis un programmeur ASP et j'en connais assez sur SQL Server (côté utilisateur) pour manipuler des enregistrements pour vérifier mes écrans.effacer un enregistrement

Comme le titre le suggère, je ne suis pas en mesure de supprimer un enregistrement d'une table sql et j'ai pu le faire il y a environ 2 mois. Il y a environ 6 mois, le DBA a dû effectuer quelques changements de réglages sur ma machine et tout était bon. Les 2 derniers mois, j'ai travaillé sur un autre projet. Puis il y a environ 3 jours je suis allé supprimer un enregistrement et il ne me laisserait pas. La seule chose que je peux imaginer est qu'il y a 2 mois quand j'ai dû demander à quelqu'un de réinitialiser mon profil d'utilisateur sur ma machine, cela annulait tout ce que le DBA avait fait.

Eh bien, vous pourriez dire "bien récupérer le DBA pour le réparer." Il a pris une promotion dans une autre agence il y a 3 mois et le nouveau gars ne pouvait pas m'aider. Pour sa défense, il est un intérimaire jusqu'à ce qu'ils puissent embaucher un DBA expérimenté. Désolé d'être si long. Mais si quelqu'un pouvait me diriger dans la bonne direction, je l'apprécierais.

+1

Un message d'erreur s'affiche-t-il lorsque vous tentez de supprimer? –

+0

L'utilisateur auquel vous accédez à la base de données a-t-il des autorisations rétrogradées à lire/mettre à jour uniquement? (par exemple supprimés supprimés) – scunliffe

+0

microsoft] [odbc sql server driver] [serveur sql] SUPPRIMER permission refusée sur objet 'tcbcteprep', base de données 'cbcweb', propriétaire 'dbo' – John

Répondre

1

Exécutez EXEC SP_HELPROTECT 'youtable'. Ensuite, regardez les déclarations de refus. Suivi à partir de là.

+0

Il n'y avait aucune instruction de refus lorsque j'ai exécuté cette procédure stockée. Ils ont tous été accordés. – John

+0

@John, êtes-vous sûr de l'avoir exécuté correctement? Selon votre message d'erreur, il aurait dû y avoir des informations. Assurez-vous que l'onglet de requête dans SSMS est ouvert à la base de données correcte (ou tapez USE cbcweb), puis essayez EXEC SP_HELPROTECT 'tcbcteprep'. Cela devrait faire apparaître certaines lignes de données. Ensuite, vous aurez besoin de quelqu'un avec les droits db_owner pour exécuter GRANT DELETE ON dbo.tcbcteprep TO

+0

Voici ce que je reçois quand je lance sp_helpprotect sur tcbcteprep: – John

0

Quelle erreur obtenez-vous? Est-ce via SQL Server Management Studio, table liée dans Access, ASP, ou quoi? Dans ce cas, il peut s'agir de plusieurs choses différentes: il a peut-être enregistré le nom d'utilisateur et le mot de passe avec lesquels vous vous connectez au serveur SQL Server, et il a été dynamité avec votre nouveau profil; il pourrait être qu'il a révoqué vos droits de suppression sur le serveur SQL, etc ... il pourrait y avoir beaucoup de choses.

+0

[microsoft] [odbc sql server driver] [serveur SQL] DELETE permission refusée sur l'objet 'tcbcteprep', base de données 'cbcweb', propriétaire 'dbo' – John

+0

Merci - en ce que Dans le cas contraire, vous devrez demander à une personne disposant des droits SA sur le serveur de vous accorder des autorisations de suppression sur la table tcbcteprep. Pour une raison quelconque, vos privilèges ne sont plus suffisants. – JasonA

+0

bien qui a été vérifié hier et l'ID utilisateur/connexion que j'ai sur cette base de données a un accès en lecture/écriture. La dernière fois, il a fait quelque chose sur ma machine qui m'a permis de le supprimer. Cela pourrait-il avoir quelque chose à voir avec la façon dont je me connecte au réseau le matin? Désolé je ne suis pas beaucoup d'aide. – John