Αναγν. άρθρου: 327489 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0

ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση της ρύθμισης του DisallowAdHocAccess ελέγχου πρόσβασης σε συνδεδεμένους διακομιστές

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.

Σε αυτήν τη σελίδα

Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Αυτό το άρθρο εξηγεί τον τρόπο απενεργοποίησης του ad hoc ερωτήματα που χρησιμοποιούν το OPENROWSET ή τη λειτουργία OPENDATASOURCE στον SQL Server.

Απενεργοποίηση καταστάσεων Transact-SQL

Υπάρχουν δύο τρόποι που μπορείτε να απενεργοποιήσετε προτάσεις Transact-SQL που χρησιμοποιούν συμβολοσειρές σύνδεσης ad-hoc με συγκεκριμένες υπηρεσίες παροχής OLE DB στις συναρτήσεις OPENROWSET και OPENDATASOURCE:

  • Όταν δημιουργείτε έναν συνδεδεμένο διακομιστή σε έναν υπολογιστή που εκτελεί τον SQL Server, μπορείτε να καθορίσετε τοDisallowAdHocAccessη ιδιότητα για την υπηρεσία παροχής OLE DB.

    -ή-

  • Εάν υπάρχει ήδη συνδεδεμένο διακομιστή, μπορείτε να με μη αυτόματο τρόπο τροποποίησης του μητρώου και προσθέστε τοDisallowAdHocAccessΤιμή.

Καθορίστε τοDisallowAdHocAccessΗ ιδιότητα όταν δημιουργείτε ένα συνδεδεμένο διακομιστή

Όταν δημιουργείτε έναν συνδεδεμένο διακομιστή σε έναν υπολογιστή που εκτελεί τον SQL Server, μπορείτε να καθορίσετε τοDisallowAdHocAccessη ιδιότητα για την υπηρεσία παροχής OLE DB. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Ανοίξτε το SQL Server Enterprise Manager και στη συνέχεια κάντε κλικ για να επιλέξετε το φάκελο ασφαλείας του εν λόγω διακομιστή.
  2. Κάντε δεξιό κλικ στοΣυνδεδεμένους διακομιστέςκαταχώρηση και στη συνέχεια κάντε κλικΝέα σύνδεση διακομιστή.
  3. Κάντε κλικ για να επιλέξετε την υπηρεσία παροχής OLE DB που θέλετε να χρησιμοποιήσετε και στη συνέχεια κάντε κλικ στοΕπιλογές υπηρεσίας παροχήςτο κουμπί.
  4. Κύλιση προς τα κάτω και επιλέξτε τοΑπαγόρευση πρόσβασης adhocπλαίσιο ελέγχου ιδιότητας. Συνεχίστε για να ολοκληρώσετε τη δημιουργία της καταχώρησής σας συνδεδεμένου διακομιστή.

Τροποποίηση του μητρώου με μη αυτόματο τρόπο και να προσθήκης της τιμής DisallowAdHocAccess

Όταν αποθηκεύεται ένα συνδεδεμένο διακομιστή, τοDisallowAdHocAccessη ιδιότητα μπορεί να οριστεί μόνο από μια ρύθμιση του μητρώου.

ΣΗΜΕΙΩΣΗ: Οι δύο εικόνες είναι απλά παραδείγματα πώς μπορείτε να αλλάξετε την υπηρεσία παροχής OLE DB για ODBC και τα δύο και για την υπηρεσία παροχής SQL Server OLE DB. Εάν θέλετε να χρησιμοποιήσετε διαφορετική υπηρεσία παροχής OLE DB, πρέπει να τροποποιήσετε την καταχώρηση αυτής της υπηρεσίας παροχής.

ΣημαντικόΑυτή ενότητα, μέθοδο ή εργασία περιέχει βήματα που θα σας πληροφορήσει πώς να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου προτού το τροποποιήσετε. Με αυτόν τον τρόπο, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows

Προσθήκη της τιμής DisallowAdHocAccess

Για να προσθέσετε τοDisallowAdHocAccessτιμή, ακολουθήστε τα εξής βήματα:
  1. Ξεκινήστε τον Επεξεργαστή Μητρώου (Registry Editor).
  2. Εντοπίστε και κατόπιν κάντε κλικ στο ακόλουθο κλειδί μητρώου:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL
  3. Στο διακομιστήΕπεξεργαστείτε τη διαδρομήμενού, κάντε κλικ στο κουμπίΠροσθήκη τιμής, και στη συνέχεια να προσθέσετε αυτήν την τιμή μητρώου:
       Value name: DisallowAdHocAccess
       Data type:  REG_DWORD
       Radix:      Hex
       Value data: 1
  4. Κλείστε τον Επεξεργαστή Μητρώου.

Τροποποίηση μιας υπάρχουσας τιμής DisallowAdHocAccess

Για να τροποποιήσετε ένα υπάρχονDisallowAdHocAccessτιμή, ακολουθήστε τα εξής βήματα:
  1. Ξεκινήστε τον Επεξεργαστή Μητρώου (Registry Editor).
  2. Εντοπίστε και, στη συνέχεια, κάντε κλικ στοDisallowAdHocAccessη τιμή στο ακόλουθο κλειδί στο μητρώο:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\SQLOLEDB
  3. Στο διακομιστήΕπεξεργαστείτε τη διαδρομήμενού, κάντε κλικ στο κουμπίDWORDTYPE1, και στη συνέχεια κάντε κλικ στο κουμπίOk.
  4. Κλείστε τον Επεξεργαστή Μητρώου.
Για μια περίοδο λειτουργίας με όνομα, το κλειδί μητρώου είναι διαφορετικό:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Server\ SQL <instance name="">\Providers\MSDASQL</instance>

ΣΗΜΕΙΩΣΗ: Με τοDisallowAdHocAccessη ιδιότητα οριστεί σε 1, SQL Server δεν επιτρέπει ad hoc πρόσβαση μέσω του OPENROWSET και τις συναρτήσεις OPENDATASOURCE σε σχέση με την καθορισμένη υπηρεσία παροχής OLE DB. Εάν προσπαθήσετε να καλέσετε αυτές τις συναρτήσεις σε ερωτήματα ad hoc, θα λάβετε ένα μήνυμα λάθους παρόμοιο με:
Διακομιστής: Μήνυμα λάθους 7415, 16 επιπέδου, κατάσταση 1, γραμμή 1 Ad hoc πρόσβαση στην υπηρεσία παροχής OLE DB 'Microsoft.Jet.OLEDB.4.0' επιτράπηκε. Αυτή η υπηρεσία παροχής θα πρέπει να έχει πρόσβαση μέσω ενός συνδεδεμένου διακομιστή.
Με άλλα λόγια, με τοDisallowAdHocAccessη ιδιότητα οριστεί σε 1 για μια συγκεκριμένη υπηρεσία παροχής OLE DB, πρέπει να χρησιμοποιήσετε ένα προκαθορισμένο συνδεδεμένο διακομιστή εγκατάστασης για τη συγκεκριμένη υπηρεσία παροχής OLE DB, μπορείτε πλέον να περάσετε σε μια συμβολοσειρά σύνδεσης ad hoc που αναφέρεται σε αυτήν την υπηρεσία παροχής για το OPENROWSET ή τη συνάρτηση OPENDATASOURCE.

Αναφορές

Ηλεκτρονικά βιβλία SQL Server Books Online, θέματα: "Υπηρεσίες παροχής OLE DB ρύθμιση παραμέτρων για ερωτήματα κατανεμημένο", "OPENROWSET αναφοράς Transact-SQL", "OPENDATASOURCE αναφοράς Transact-SQL"


Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Λέξεις-κλειδιά: 
kbhowtomaster kbmt KB327489 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:327489  (http://support.microsoft.com/kb/327489/en-us/ )