KB2216489 - ΕΠΙΔΙΌΡΘΩΣΗ: Μήνυμα λάθους όταν προσπαθείτε να εκτελέσετε ένα πακέτο SSIS που περιέχει ένα στοιχείο προορισμού SQL Server σε μια εργασία ροής δεδομένων

Ισχύει για
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Μπορείτε να δημιουργήσετε ένα πακέτο υπηρεσιών ενοποίησης SQL Server 2008 R2 (SSIS) που έχει ένα στοιχείο προορισμού SQL Server σε μια εργασία ροής δεδομένων.

  • Προσπαθείτε να εκτελέσετε αυτό το πακέτο σε συστήματα όπου είναι ενεργοποιημένος ο έλεγχος λογαριασμού χρήστη (UAC) (για παράδειγμα, στα Windows Vista ή στα Windows 7), χρησιμοποιώντας μία από τις ακόλουθες μεθόδους:

    • Business Intelligence Development Studio (BIDS)
    • SQL Server Management Studio (SSMS) Εξερεύνηση αντικειμένων
    • DTExec.exe
    • DTExecUI.exe

Σε αυτό το σενάριο, ενδέχεται να λάβετε ένα μήνυμα σφάλματος που μοιάζει με ένα από τα ακόλουθα:

Σημείωση

[SQL Server Destination] Σφάλμα: Δεν είναι δυνατή η προετοιμασία του μαζικού εντύπου SSIS για εισαγωγή δεδομένων.

[SSIS. Διοχέτευση] Σφάλμα: το στοιχείο "Προορισμός SQL Server" απέτυχε στη φάση πριν από την εκτέλεση και επέστρεψε κωδικό σφάλματος 0xC0202071".

Δεν είναι δυνατή η μαζική αντιγραφή δεδομένων. Ίσως χρειαστεί να εκτελέσετε αυτό το πακέτο ως διαχειριστής.

Σημειώσεις

  • Δεν αντιμετωπίζετε αυτά τα σφάλματα εάν εκτελείτε το πακέτο με τον ενσωματωμένο λογαριασμό διαχειριστή που δημιουργείται κατά την εγκατάσταση του λειτουργικού συστήματος. Ωστόσο, θα λάβετε αυτό το μήνυμα για οποιονδήποτε άλλο χρήστη, συμπεριλαμβανομένων και εκείνων που είναι μέλη της τοπικής ομάδας διαχειριστών.
  • Το πρόβλημα δεν παρουσιάζεται όταν εκτελείτε το ίδιο πακέτο SSIS με μια εργασία SQL Server Agent.
  • Το δεύτερο μήνυμα λάθους δημιουργείται μόνο μετά την εγκατάσταση του SQL 2008 Service Pack 2 (SP2).

Αιτία

Αυτό το πρόβλημα παρουσιάζεται σε συστήματα όπου είναι ενεργοποιημένος ο έλεγχος λογαριασμού χρήστη. Όταν μια εφαρμογή (όπως το SSIS) ξεκινά από ένα λογαριασμό που είναι μέλος της ομάδας Διαχειριστών, λαμβάνει δύο διακριτικά ασφαλείας: ένα διακριτικό χαμηλών δικαιωμάτων και ένα διακριτικό αυξημένων δικαιωμάτων. Το διακριτικό αυξημένων δικαιωμάτων χρησιμοποιείται μόνο όταν η εφαρμογή εκτελείται ρητά σε λογαριασμό διαχειριστή, χρησιμοποιώντας την επιλογή Εκτέλεση ως διαχειριστής . Από προεπιλογή, το SSIS χρησιμοποιεί πάντα το διακριτικό χαμηλών δικαιωμάτων και αυτό προκαλεί αποτυχία όταν το SSIS συνδέεται με ένα στοιχείο προορισμού SQL Server.

Σημείωση Όταν χρησιμοποιείτε ένα λογαριασμό που δεν είναι μέλος της τοπικής ομάδας διαχειριστών, UAC δεν εμφανίζεται.

Επίλυση

Πληροφορίες Service Pack για SQL Server 2008 R2

Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το πιο πρόσφατο service pack για το SQL Server 2008 R2. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:

2527041 Τρόπος απόκτησης του τελευταίου service pack για το SQL Server 2008 R2

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Αυτό το ζήτημα διορθώθηκε αρχικά στο SQL Server 2008 R2 Service Pack 1 για SQL Server 2008 R2.

Λύση

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

  • Εάν εκτελείτε το πακέτο από SSMS, από BIDS ή από DTExecUI.exe, εκκινήστε αυτά τα εργαλεία από τον λογαριασμό διαχειριστή. Για να το κάνετε αυτό, κάντε κλικ στο κουμπί Έναρξη, τοποθετήστε το δείκτη του ποντικιού στην επιλογή Όλα τα προγράμματα, τοποθετήστε το δείκτη του ποντικιού στην επιλογή SQL Server 2005 ή SQL Server 2008, κάντε δεξιό κλικ στο εργαλείο που χρησιμοποιείτε και, στη συνέχεια, κάντε κλικ στην εντολή Εκτέλεση ως διαχειριστής. Αυτή η ενέργεια εκκινεί την εφαρμογή χρησιμοποιώντας τα αυξημένα δικαιώματα του ενσωματωμένου λογαριασμού διαχειριστή και το πακέτο εκτελείται με επιτυχία.

    Παρομοίως, αν εκτελείτε το πακέτο χρησιμοποιώντας DTExec.exe, ξεκινήστε το από μια γραμμή εντολών με αναβαθμισμένα δικαιώματα. Για να το κάνετε αυτό, κάντε κλικ στο μενού Έναρξη (Start), κατόπιν στην επιλογή Όλα τα προγράμματα (All Programs), κατόπιν στην επιλογή Βοηθήματα (Accessories), κάντε δεξιό κλικ στην εντολή Γραμμή εντολών (Command Prompt) και, στη συνέχεια, κάντε κλικ στην εντολή Εκτέλεση ως διαχειριστής (Run as administrator).

    Σημείωση Εάν δεν συνδεθείτε στον υπολογιστή ως διαχειριστής, σας ζητείται να δώσετε το λογαριασμό διαχειριστή. Σε απάντηση, πληκτρολογήστε το όνομα χρήστη και τον κωδικό πρόσβασης διαχειριστή στο παράθυρο διαλόγου Έλεγχος λογαριασμού χρήστη (User Account Control ) και, στη συνέχεια, κάντε κλικ στο κουμπί OK.

  • Αντικαταστήστε τα στοιχεία SQL Server προορισμού στις εργασίες ροής δεδομένων που αποτυγχάνουν με στοιχεία προορισμού OLE DB που οδηγούν στην ίδια διαχείριση σύνδεσης SQL Server.

  • Χρησιμοποιήστε ένα λογαριασμό που δεν είναι μέλος της τοπικής ομάδας διαχειριστών μετά την εκχώρηση δικαιωμάτων δημιουργίας καθολικών αντικειμένων σε αυτόν το λογαριασμό.

    Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:

    1. Κάντε κλικ στο μενού Έναρξη (Start), τοποθετήστε το δείκτη του ποντικιού στην επιλογή Εργαλεία διαχείρισης (Administrative Tools) και, στη συνέχεια, κάντε κλικ στην επιλογή Τοπική πολιτική ασφαλείας (Local Security Policy).
    2. Αναπτύξτε το στοιχείο Τοπικές πολιτικές και, στη συνέχεια, κάντε κλικ στην επιλογή Εκχώρηση δικαιωμάτων χρήστη.
    3. Στο παράθυρο λεπτομερειών, κάντε διπλό κλικ στην επιλογή Δημιουργία καθολικών αντικειμένων.
    4. Στο παράθυρο διαλόγου Τοπική ρύθμιση πολιτικής ασφαλείας (Local Security Policy Setting ), κάντε κλικ στο κουμπί Προσθήκη (Add).
    5. Στο παράθυρο διαλόγου Επιλογή χρηστών ή ομάδας (Select Users or Group ), επιλέξτε τους λογαριασμούς χρηστών που θέλετε να προσθέσετε, κάντε κλικ στο κουμπί Προσθήκη (Add) και, στη συνέχεια, κάντε κλικ στο κουμπί OK δύο φορές.