2009-09-24 13 views
45

SETUP: SQL सर्वर 2005 & DotNetNuke 05.01.02 पर चयन अनुमति अस्वीकार कर दी गई थी।ऑब्जेक्ट 'sysobjects', डेटाबेस 'mssqlsystemresource', स्कीमा 'sys'

यह मेरे साथ एक डीएनएन मॉड्यूल स्थापित करने की कोशिश कर रहा था जिसमें इसकी एसक्यूएल स्क्रिप्ट में "dbo.sysobjects से चुनें" था। यही कारण है कि निम्न त्रुटि के साथ विफल:

The SELECT permission was denied on the object 'sysobjects', database 'mssqlsystemresource', schema 'sys'.

मैं DNN उपयोगकर्ता खाते के रूप में एसक्यूएल सर्वर प्रबंधन स्टूडियो के माध्यम से डेटाबेस में लॉग इन किया है, और मैं एक ही त्रुटि मिलती है जब मैं कोशिश करते हैं और sysobjects दृश्य पर एक का चयन करते हैं।

मैंने डीएनएन उपयोगकर्ता खाते को उस दृश्य को स्पष्ट चयन अनुमति देने की कोशिश की। जब मैं सुरक्षा -> उपयोगकर्ता -> DNNUserLogin-> राइट-क्लिक करें -> गुण -> Securables पर जाकर इसे जांचें और sys.sysobjects व्यू को ढूंढने के लिए नीचे स्क्रॉल करें, यह कहता है कि इस उपयोगकर्ता खाते में डीबीओ के लिए स्पष्ट अनुमतियां हैं: और चयन चेकबॉक्स चेक किया गया है। लेकिन मैं अभी भी sysobjects व्यू पर एक डीएनएन उपयोगकर्ता खाता के रूप में चयन नहीं कर सकता।

मैं क्या गलत कर रहा हूं? मै इसे काम मे कैसे ले सकता हूँ?

उत्तर

84

यह उपयोगकर्ता के साथ विशेषाधिकारों को अस्वीकार करने में एक समस्या थी; अनुमति देने के लिए जल्दबाजी में मैंने मूल रूप से उपयोगकर्ता को सबकुछ दिया। और इनकार कर रहा था इनकार कर रहा था। तो जैसे ही मैंने उन अनुमतियों को हटा दिया, यह काम किया।

+11

चिंता न करें जो हम दोनों को बनाता है! उत्तर पोस्ट करने के लिए चीयर्स। – Yos

+1

इसे तीन बनाएं;) – jValdron

+1

इसे चार बनाएं! :) –

4

इस कोड को एक अच्छे सर्वर पर निष्पादित करें जो आपको सार्वजनिक भूमिका के लिए पूर्ण अधिकार प्रदान करेगा। आउटपुट की प्रतिलिपि बनाएँ और समस्या के साथ सर्वर पर पेस्ट करें। निष्पादित। फिर से लॉग इन करने का प्रयास करें। यह हमारी समस्या तय की।

SELECT SDP.state_desc , 
     SDP.permission_name , 
     SSU.[name] AS "Schema" , 
     SSO.[name] , 
     SSO.[type] 
FROM sys.sysobjects SSO 
     INNER JOIN sys.database_permissions SDP ON SSO.id = SDP.major_id 
     INNER JOIN sys.sysusers SSU ON SSO.uid = SSU.uid 
ORDER BY SSU.[name] , 
     SSO.[name] 
0

ऐसा लगता है कि किसी सार्वजनिक भूमिका के लिए sys.configurations पर अनुमतियों को निरस्त कर दिया है हो सकती है। या इस विशेष उपयोगकर्ता को इस दृश्य तक पहुंच से इंकार कर दिया। या sys.configurations तालिकाओं से सार्वजनिक भूमिका को हटा दिए जाने के बाद उपयोगकर्ता बनाया गया है।

SELECT सार्वजनिक उपयोगकर्ता sys.configurations ऑब्जेक्ट की अनुमति प्रदान करें।

0

चूंकि क्या गलत हो सकता है इसके लिए इतनी सारी संभावनाएं हैं। यहां देखने की एक और संभावना है। मैं उस चीज़ में भाग गया जहां मैंने डेटाबेस पर अपनी भूमिकाएं स्थापित की थीं। (उदाहरण के लिए, "प्रशासक", "प्रबंधक", "डेटाएन्ट्री", "ग्राहक", प्रत्येक अपनी सीमाओं के साथ) केवल वे लोग जो इसका उपयोग कर सकते हैं "प्रबंधक" भूमिका या ऊपर थे - क्योंकि वे भी स्थापित किए गए थे sysadmin के रूप में क्योंकि वे डेटाबेस में उपयोगकर्ताओं को जोड़ रहे थे (और वे अत्यधिक भरोसेमंद थे)। साथ ही, जो उपयोगकर्ता जोड़े जा रहे थे वे विंडोज डोमेन उपयोगकर्ता थे - उनके डोमेन प्रमाण-पत्रों का उपयोग करते हुए। (डेटाबेस तक पहुंच वाले प्रत्येक व्यक्ति को हमारे डोमेन पर होना था, लेकिन डोमेन पर हर किसी के पास डेटाबेस तक पहुंच नहीं थी - और केवल उनमें से कुछ को इसे बदलने की पहुंच थी।)

वैसे भी, यह कार्य प्रणाली अचानक काम करना बंद कर दिया और मुझे उपर्युक्त के समान त्रुटि संदेश मिल रहे थे। मैंने यह निष्कर्ष निकाला कि यह उस डेटाबेस में "सार्वजनिक" भूमिका के लिए सभी अनुमतियों को पार करना था और उन सभी भूमिकाओं को उन अनुमतियों को जोड़ना था जिन्हें मैंने बनाया था। मुझे पता है कि हर कोई "सार्वजनिक" भूमिका में होना चाहिए, भले ही आप उन्हें जोड़ नहीं सकते (या बल्कि, आप उन्हें "जोड़ सकते हैं", लेकिन वे "जोड़े गए" नहीं होंगे)।

तो, "एसक्यूएल सर्वर प्रबंधन स्टूडियो" में, मैं अपने आवेदन के डेटाबेस में गया, दूसरे शब्दों में (मेरे स्थानीय नाम <> ब्रैकेट्स के भीतर अस्पष्ट हैं): "(SQL सर्वर - sa)" \ डेटाबेस \\ सुरक्षा \ भूमिकाएं \ डेटाबेस भूमिकाएं \ सार्वजनिक "।" सार्वजनिक "पर राइट-क्लिक करें और" गुण "चुनें।" डेटाबेस भूमिका गुण - सार्वजनिक "संवाद में," सुरक्षित "पृष्ठ का चयन करें।सूची के माध्यम से और सूची में प्रत्येक तत्व के लिए, एक अन्य भूमिका के लिए अनुमति देने के लिए एक एसक्यूएल "अनुदान" कथन के साथ आओ। इसलिए, उदाहरण के लिए, एक स्केलर फ़ंक्शन "[डीबीओ] है। [Fn_diagramobjects]" जिस पर "सार्वजनिक" भूमिका "निष्पादन" विशेषाधिकार है।

EXEC ('GRANT EXECUTE ON [dbo].[fn_diagramobjects] TO [' + @RoleName + '];') 

एक बार मैं "Securables" सूची में सभी तत्वों के लिए इस किया था, मुझे लगता है कि मेरे भूमिकाओं में सभी भूमिकाओं के माध्यम से चयन करने के लिए एक कर्सर पर लिपटे थोड़ी देर के पाश में: तो, मैं निम्नलिखित लाइन जोड़ा तालिका। इसने स्पष्ट रूप से मेरी डेटाबेस भूमिकाओं में "सार्वजनिक" भूमिका की सभी अनुमतियां दीं। उस समय, मेरे सभी उपयोगकर्ता फिर से काम कर रहे थे (यहां तक ​​कि मैंने अपनी "sysadmin" पहुंच को हटा दिया - एक अस्थायी उपाय के रूप में किया गया, जबकि मुझे पता चला कि क्या हुआ।)

मुझे यकीन है कि एक बेहतर (अधिक सुरुचिपूर्ण) है डेटाबेस ऑब्जेक्ट्स पर किसी प्रकार की क्वेरी करके और सार्वजनिक भूमिका पर चयन करके ऐसा करने का तरीका, लेकिन जांच के आधे घंटे के बाद, मैं इसे समझ नहीं पाया, इसलिए मैंने इसे ब्रूट-फोर्स विधि भी की। अगर यह किसी और की मदद करता है, तो यह मेरा कोड है।

CREATE PROCEDURE [dbo].[GrantAccess] 
AS 
DECLARE @AppRoleName AS sysname 

DECLARE AppRoleCursor CURSOR LOCAL SCROLL_LOCKS FOR 
    SELECT AppRoleName FROM [dbo].[RoleList]; 

OPEN AppRoleCursor 

FETCH NEXT FROM AppRoleCursor INTO @AppRoleName 
WHILE @@FETCH_STATUS = 0 
BEGIN 

    EXEC ('GRANT EXECUTE ON [dbo].[fn_diagramobjects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_alterdiagram] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_creatediagram] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_dropdiagram] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_helpdiagramdefinition] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_helpdiagrams] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT EXECUTE ON [dbo].[sp_renamediagram] TO [' + @AppRoleName + '];') 

    EXEC ('GRANT SELECT ON [sys].[all_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[all_objects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[all_parameters] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[all_sql_modules] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[all_views] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[allocation_units] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[assemblies] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[assembly_files] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[assembly_modules] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[assembly_references] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[assembly_types] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[asymmetric_keys] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[certificates] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[change_tracking_tables] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[check_constraints] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[column_type_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[column_xml_schema_collection_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[computed_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[conversation_endpoints] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[conversation_groups] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[conversation_priorities] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[crypt_properties] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[data_spaces] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_audit_specification_details] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_audit_specifications] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_files] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_permissions] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_principal_aliases] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_principals] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[database_role_members] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[default_constraints] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[destination_data_spaces] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[event_notifications] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[events] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[extended_procedures] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[extended_properties] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[filegroups] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[foreign_key_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[foreign_keys] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_catalogs] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_index_catalog_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_index_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_index_fragments] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_indexes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_stoplists] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[fulltext_stopwords] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[function_order_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[identity_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[index_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[indexes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[internal_tables] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[key_constraints] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[key_encryptions] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[message_type_xml_schema_collection_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[module_assembly_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[numbered_procedure_parameters] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[numbered_procedures] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[objects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[parameter_type_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[parameter_xml_schema_collection_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[parameters] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[partition_functions] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[partition_parameters] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[partition_range_values] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[partition_schemes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[partitions] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[plan_guides] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[procedures] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[remote_service_bindings] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[routes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[schemas] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_contract_message_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_contract_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_contracts] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_message_types] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_queue_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[service_queues] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[services] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[spatial_index_tessellations] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[spatial_indexes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sql_dependencies] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sql_modules] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[stats] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[stats_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[symmetric_keys] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[synonyms] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[syscolumns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[syscomments] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysconstraints] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysdepends] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysfilegroups] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysfiles] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysforeignkeys] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysfulltextcatalogs] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysindexes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysindexkeys] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysmembers] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysobjects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[syspermissions] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysprotects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysreferences] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[system_columns] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[system_objects] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[system_parameters] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[system_sql_modules] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[system_views] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[systypes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[sysusers] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[table_types] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[tables] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[transmission_queue] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[trigger_events] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[triggers] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[type_assembly_usages] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[types] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[views] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_indexes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_attributes] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_collections] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_component_placements] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_components] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_elements] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_facets] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_model_groups] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_namespaces] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_types] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_wildcard_namespaces] TO [' + @AppRoleName + '];') 
    EXEC ('GRANT SELECT ON [sys].[xml_schema_wildcards] TO [' + @AppRoleName + '];') 

    FETCH NEXT FROM AppRoleCursor INTO @AppRoleName 
END 

CLOSE AppRoleCursor 
RETURN 0 

GO 

एक बार है कि व्यवस्था में है, मैं तो बस "Exec GrantAccess" करने के लिए आवश्यक यह काम करने के लिए। (बेशक, मेरे पास एक टेबल [रोललिस्ट] है जिसमें "AppRoleName" फ़ील्ड है जिसमें डेटाबेस भूमिकाओं के नाम शामिल हैं।

तो, रहस्य बना हुआ है: मेरे सभी उपयोगकर्ता अपनी "सार्वजनिक" भूमिका क्यों खो देते हैं और क्यों क्या मैं इसे वापस नहीं दे सकता था? क्या SQL Server 2008 R2 के अपडेट का यह हिस्सा था? क्या ऐसा इसलिए था क्योंकि मैंने प्रत्येक उपयोगकर्ता को हटाने के लिए एक और स्क्रिप्ट चलाई और डोमेन के साथ अपने कनेक्शन को रीफ्रेश करने के लिए उन्हें वापस जोड़ दिया? अच्छा, यह हल करता है अब के लिए मुद्दा।

एक आखिरी चेतावनी: आपको यह सुनिश्चित करने के लिए शायद इसे चलाने से पहले अपने सिस्टम पर "सार्वजनिक" भूमिका निभानी चाहिए, यहां कुछ याद आ रही है या गलत नहीं है। यह हमेशा आपके सिस्टम के बारे में कुछ अलग है

उम्मीद है कि यह किसी और की मदद करता है।

+0

किसी भी कारण से आपने पूरे 'sys' स्कीमा पर 'SELECT' नहीं दिया है? – siride

+1

आपका मतलब है, "अत्यधिक भयावह होने के अलावा कोई कारण?" :-) असल में, मैंने इसके बारे में नहीं सोचा था। मुझे लगता है कि यह भी काम करेगा - और ऊपर-संगत होने का बेहतर काम कर सकता है। – Lowell

29

मुझे डीबी उपयोगकर्ता db_denydatawriter और डीबी उपयोगकर्ता के db_denydatreader को हटाकर एक ही त्रुटि और हल किया गया था। इसके लिए, लॉग इन पर उपयुक्त डीबी उपयोगकर्ता का चयन करें >> गुण >> उपयोगकर्ता मैपिंग >> डीबी का पता लगाएं और इसे चुनें >> उल्लिखित डीबी उपयोगकर्ता भूमिकाओं को अनचेक करें। बस !!

+1

धन्यवाद आदमी आप एक टन बचाओ! –

+0

यह मेरी समस्या थी! हालांकि, मैं SQL सर्वर के लिए टॉड का उपयोग करता हूं। जैसे ही मैंने denys को हटा दिया, ऐसा लगता है कि यह काम करता है। – dvsoukup

+0

इस आदेश को पूरा करने के लिए: exec sp_droprolemember 'db_denydatawriter', 'username' और exec sp_droprolemember 'db_denydatareader', 'उपयोगकर्ता नाम' – kavain

संबंधित मुद्दे