Jump to content

SQL 2005SP2+CU6 Linked Server error #7303


Guest upmusic
 Share

Recommended Posts

Guest upmusic

Ειναι εκνευριστικο μετα απο ενα MIGRATION απο ενα WS2K2 με SQL2000 σε WS2K3 και SQL2005 το μονο προβλημα που να αντιμετωπιζεις ειναι οι Linked Server και μαλιστα με provider την MSACCESS2003

Μετα λοιπον το εν λογω MIGRATION (upgrade) 'τρωω' εαν ωραιο και ομορφο access denied #7303 error ακομα και οταν παω να κανω browse τα items πχ tables or views ενος δημιουργημενου Linked Server με ACCESS ή το βαζω να μετεχει σε καποιο statement, αυτο συμβαινει  ειτε η DB βρισκεται σε FileServer ειτε τοπικα στον SQL Server στην περιπτωση ομως που προσπαθω να το χρησιμοποιησω τον εν λογω Linked Server απο τον SQL Management Studio που εχω εγκατεστημενο στο PC μου (πανω απο τον SQL Server παιζει 'τζαμι').

τον Patchαρα με τελευταιο SP + CU, εκανα to everyone τα permission στον FileServer μηπως, εκανα logon σαν domain admin στο PC μου μπας και, ξαναεφτιαξα το Linked Server στην περιπτωση που....καλεσα τον πνευματικο μου πρωτη του μηνα να κανει ενα ευχελαιο και να προσευχηθει για μενα αλλα ολα ματαια (αραγε υπαρχει θεος και εαν ναι γιατι δεν με βοηθαει?)

Τελος εγω πιστευω οτι φταιει οτι το WS2K3 ειναι πιο Secure απο οτι WS2K2 με αποτελεσμα κατι να με κοβει οταν παω να δουλευω απο το PC μου...'Ηντα ναναι ομως αυτο' οπως ρωτανε και στην πατριδα μου την Κρητη...

Εχει κανεις καμια ιδιεα τι πραγματικα μπορει να φταιει?

 

upmusic a.k.a. UP

Link to comment
Share on other sites

Αφενός δες την πιθανότητα να υπάρχει firewall, και αφετέρου δες τις ρυθμίσεις στο Surface του SQL Server 2005, αν είναι ρυθμισμένος να επτρέπει κάθε είδους σύνδεση και πρωτόκολο επικοινωνίας.

ΑΝ είμαι δυσνόητος, πες το να επανέλθω με αναλυτικότερη περιγραφή.

Link to comment
Share on other sites

Guest upmusic

To Firewall και απο τις 2 πλευρες client και Server δεν ειναι ενεργο, ο χρηστης που παει να συνδεθει με την console του εχει mcafee antivirus 8.5i patch5 (ο Server ειναι χωρις Antivirus)

Οσο για το SQL Surface Area Configuration θα το δω γιατι δεν θυμαμαι...

 

 

Upmusic a.k.a. UP

Link to comment
Share on other sites

Ρίξε μια ματιά στα services του SQL Server και βεβαιώσου ότι τα accounts τα οποία χρησιμοποιούν έχουν επαρκή δικαιώματα για να κάνεις ...ό,τι κάνεις τέλος πάντων (γιατί δεν πολυκατάλαβα πότε παρουσιάζεται το πρόβλημα και πότε όχι) Καλό είναι να μην αφήσεις το localhost και να βάλεις ένα domain account ώστε να μπορείς να ελέγξεις πλήρως τα δικαιώματά του.

Link to comment
Share on other sites

Guest upmusic

Τα services DATABASE ENGINE , SQL BROWSER, SQL AGENT τα ξεκιναει ο domain admin οποτε δεν τιθεται θεμα δικαιωματων

 

 

Link to comment
Share on other sites

Guest upmusic

Ειδε και το Surface Area Configuration και ο server ειναι ρυθμισμενος να απαντα σε TCP & Named Pipes σε local και remote connections

Link to comment
Share on other sites

Πάμε άλλη μία: Όταν είσαι remotely, μέσω SSMS, παίζεις κανονικά με τον linked server, ενώ όταν είσαι πάνω στον server τρως "access denied"? Επίσης, μπορείς να κάνεις post ολόκληρο το μήνυμα λάθους;

Link to comment
Share on other sites

Ολόκληρο το μήνυμα λάθους;

Πάντως όπως και να έχει, το setάρισμα ενός linked server αποτελείται από πολλές ρυθμίσεις. Χωρίς να τις βλέπουμε αυτές, απλά κάνουμε ικασίες. Για παράδειγμα, ιδιαίτερα σημαντικές είναι αυτές του security tab ώστε να "μεταφραστούν" σωστά τα credentials καθώς περνάνε από τον client στον server. Εκεί τι ρυθμίσεις έχεις κάνει; Μήπως το local login είναι κανένα orphaned user account που έχει προέλθει από backup/restore της βάσης; Επίσης, στο "Server Options" tab, έχεις ενεργοποιήσει το Rpc και Rpc out;

 

 

Link to comment
Share on other sites

Guest upmusic

Καλημερα

Παραθετω το error οπως εμφανιζεται εαν βοηθαει αυτο...

 

Failed to retrieve data for this request (Microsoft.SqlServer.SmoEnum)
An exception occurred while executing a Transact-SQL statement or batch,
(microsoft SqlServer.ConnectionInfo)
Cannot initialize the data source object of OLE DB Provider 'Microsoft Jet.OLEDB.4.0' for linked server 'common'.
(Microsoft SQL Server, Error:7303)

Link to comment
Share on other sites

Guest upmusic

Φοβαμαι οτι δεν φταινε τα linked server διοτι οπως ειπα στο αρχιικο post ο Server εγινε upgrade...τα linked servers υπηρχαν και επαιζαν πριν το upgrade!

Οποτε δεν τιθεται θεμα setup των Linked Server και για να ενισχυσω αυτο που λεω απο το γεγονος οτι και τα rpc ειναι true και η access DB ειναι open.

και επιπλεον ουτε ο sa ουτε ο domain admin μπορει να τα κανει access απο SSMS (ΕΚΤΟΣ SERVER) που σε αυτους δεν τιθεται θεμα orphan accounts

Τωρα εαν μετα το SQL2005 χρειαζεται να γινει κατι επιπλεον πανω στις ρυθμισεις των Linked Server δεν το ξερω...η MS παντως δεν λεει πουθενα οτι

χρειαζεται να γινει κατι στους LINKED Servers μετα απο SQL2000 το SQL2005 UPGRADE αντιθετα λεει οτι ειναι full functional after the Upgrade!

Link to comment
Share on other sites

Χμμμ... Δεν καταλήγουμε πουθενά έτσι... Όπως σου ανέφερα στο προ-προηγούμενο μήνυμα, χωρίς να δούμε τις ρυθμίσεις του linked server, κάνουμε εικασίες.

Το upgrade που έκανες δεν είναι απλό, άλλαξες και έκδοση λειτουργικού αλλά και έκδοση SQL Server. Εξάλλου, o SQL Server 2005 είναι τελείως διαφορετικό ζώο ως προς το θέμα του security. Ως DBA δεν θα θεωρούσα ότι υπάρχει καμία εγγύηση και δεν μου λέει τίποτα το ότι στο documentation αναφέρει ότι "ΘΑ ΠΡΕΠΕΙ" να παίζει ή όχι (γι αυτό και τα upgrades γίνονται πρώτα δοκιμαστικά στο testing environment). Οπότε που καταλήγουμε: Στο ότι υπάρχει ένα πρόβλημα και θα πρέπει να λυθεί πράγμα που σημαίνει θα πρέπει να ακολουθήσουμε μια μεθοδολογία για να απομονώσουμε το λάθος. Οι μεθοδολογίες στον SQL Server ξεκινούν bottom-up ή top-down. Bottom-up είναι (χονδρικά) η σειρά: Server H/W, Server O/S, SQL Server, Client App, O/S client, H/W client. Top-down είναι το ανάποδο.

Στη συγκεκριμένη περίπτωση, αφού είμαστε σίγουροι ότι έχει γίνει σωστά το Surface Area Configuration και εφόσον βλέπουμε ότι από Server συνδεόμαστε ενώ από client όχι τότε καλύτερα να πάμε Top-down. Στα γρήγορα, κάνουμε τον εξής έλεγχο: Αν δούμε ότι από client SMSS μπορούμε να συνδεθούμε σε οποιαδήποτε άλλη βάση του Server, αλλά όχι στον Linked Server, τότε κατά 99% είναι θέμα security ρυθμίσεων του SQL Server και του Linked Server. Αν τώρα είχαμε τις ρυθμίσεις στο Security στα properties του Linked Server θα μπορούσαμε να δούμε ένα request που ξεκινάει από τον client, πώς φτάνει στον server από άποψη security context. Εξάλλου, το error 7303 αναφέρει ότι το λάθος συμβαίνει σε ένα από τα δύο πράγματα:

One of the initialization parameters specified in sp_addlinkedserver (data_source, location, provider_string, or catalog) is incorrect for this provider.

Login and password sent to the provider is invalid.

Βέβαια, δεν είναι η πρώτη φορά που κάτι άλλο πραγματικά φταίει και άλλο μήνυμα λάθους εφανίζεται, ωστόσο πρν αρχίσουμε να ψάχνουμε τις κουφές αιτίες, ελέγχουμε το τι γίνεται με τα παραπάνω. Εδώ κολλάει το "πριν το upgrade δούλευε" μιας και εφόσον δεν έχουν αλλάξει οι ρυθμίσεις του Linked Server, μάλλον στη δεύτερη αιτία οφείλεται το πρόβλημα. Τώρα, το πώς γίνεται logon στον SQL Server από τον client (με sa ή με domain admin account ή whatever), ενδέχεται να μην έχει καμία σημασία καθώς μπορεί στο Securiy tab (να το πάλι!) του Linked Server να έχουν ορισθεί τα mappings με τέτοιο τρόπο που να εμποδίζουν τη σύνδεση. Προσοχή: Άλλο πράγμα το πώς συνδέεσαι στον SQL Server μέσω SSMS και άλλο ο Linked Server. Στον Linked Server ισχύουν τα mappings που ορίζεις, τα οποία "μεταφράζουν" τα security credentials ώστε να μπορεί να τα καταλάβει o Linked Server (είτε πρόκειται για Access ή για Excel ή για Oracle) αφού ο Linked Server δεν καταλαβαίνει από το security του SQL Server. Περισσότερα για το security σε Linked Servers δες εδώ: http://msdn.microsoft.com/en-us/library/ms175537.aspx

 

Link to comment
Share on other sites

Guest upmusic

Δεν διαφωνω σε τιποτα με το μηνυμα σου και απο μερους μου ειναι απολυτος κατανοητα και λογικα αυτα που παραθετεις παραπανω...προτου ομως δωσω αναλυτικα τις ρυθμισεις για το linked server (αυτο θα το κανω αυριο) θα μπορουσα να εχω μια απαντηση στο αφου ειναι θεμα security γιατι το συγκεκριμενο linked server παιζει πανω απο το server...τι το διαφοροποιει απο το SSMS?

Το misconfiguration δεν θα προβληματιζει την λειτουργια ακομα και πανω απο το server?

 

thx

  

Link to comment
Share on other sites

Το ότι έχεις αλλάξει και λειτουργικό και έκδοση του SQL Server οπωσδήποτε αλλαγές, και στα permissions που έχουν διάφορα αρχεία, αλλά και στο τί επιτρέπει ο ίδιος ο SQL Server να εκτελεστεί. Ο SQL Server 2005 έρχεται με αρκετές ρυθμίσεις απενεργοποιημένες by default, κάποιες από τις οποίες επηρεάζουν τους linked servers.

 Το πρόβλημα σου περιγράφεται στο http://blogs.msdn.com/spike/pages/ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-null-returned-message-unspecified-error-msg-7303-level-16-state-1-line-1.aspx και όπως φαίνεται το πρόβλημα οφείλεται ΚΑΙ σε permissions ΚΑΙ σε μία απενεργοποιημένη ρύθμιση.

Link to comment
Share on other sites

Μόλις τελείωσα ένα test environment με virtual machines για να δοκιμάσω το setup των linked server στον SQL Server 2005. Στο setup του Linked Server ακολούθησα αυτά http://msdn.microsoft.com/en-us/library/ms175866.aspx ώστε να έχουμε κοινό reference στη δοκιμή. Στον client είδα αμέσως τη βάση χωρίς πρόβλημα και χωρίς να κάνω κάποια extra ρύθμιση. H ενεργοποίηση του OPENROWSEΤ στο Surface Configuration Tool δεν χρειάστηκε.

Link to comment
Share on other sites

Guest upmusic

Το συγκεκριμενο link δεν βοηθησε διοτι δεν μας εδωσε τιποτα καινουργιο

Παραθετω τις ρυθμισεις του linked Server ωστε να εχουμε καλυτερη εικονα το τι συμβαινει

GENERAL

PROVIDER : MICROSOFT JET 4.0 OLE DB PROVIDER

PRODUCT NAME : ΑΔΙΟΦΟΡΟ

DATA SOURCE : ΕΝΑ NETWORK MAPPED DRIVE

SECURITY

NO USER MAPPINGS

FOR A LOGIN NOT DEFINED IN THE LIST ABOVE CONNECTIONS WILL : BE MADE WITHOUT USING A SECURITY CONTEXT

SERVER OPTIONS

COLLATION COMPATIBLE : FALSE

DATA ACCESS : TRUE

RPC & RPC OUT : TRUE

USE REMOTE COLLATION : TRUE

COLLATION NAME : BLANK

CONNECTION TIMEOUT : 0

QUERY TIMEOUT : 0

 

THX

Link to comment
Share on other sites

Ωραία, για δοκίμασε να πας πας στο Security page και στα mappings να προσθέσεις ένα login του SQL Server το οποίο θα το βάλεις να αντιστοιχεί στον remote user "Admin" με κενό password. Κατόπιν, κάνε login από remote SSMS με αυτό το login και προσπάθησε να στείλεις ένα query στον Linked Server.

Link to comment
Share on other sites

Guest upmusic

οκ εαν και το παραπανω το ειχα δοκιμασει, το ξαναδοκιμασα, διαλεγοντας ενα local login και κανοντας το map με το admin της access με το διο αποτελεσμα

error #7303

 

Link to comment
Share on other sites

Οι ρυθμίσεις στο security όπως τις είχες δεν επέτρεπαν καν τη σύνδεση στο Linked Server καθώς ουσιαστικά έλεγαν: "Πάρε τα παρακάτω logins (δλδ κανένα) και κάντα map σε accounts και αν κάποιο login πάει να κάνει connect και δεν είναι στη λίστα (πράγμα που συμβαίνει πάντα αφού η λίστα είναι άδεια) τότε κάνε connect στον linked server χωρίς να προσδιορίσεις security context (ενώ η Access χρειάζεται το Admin/(null password) συνδυασμό)". Άρα, αυτή η αλλαγή χρειάζεται όπως και να έχει.

Μερικά άλλα πράγματα για να τσεκάρεις:

Αν φέρεις το mdb αρχείο της Access στον Server, εξακολουθεί να υπάρχει το πρόβλημα;

Στον file server έχεις το ίδιο MDAC που έχεις και στον SQL Server; Αν ο SQL Server παίζει πάνω σε Windows 2003 Server, τότε έχεις το MDAC 2.8. Στον fileserver τι MDAC έχεις;

Στοn file server και στον server που βρίσκεται ο SQL Server είναι εγκατεστημένος και τρέχει o Distributed Transaction Coordinator (από Administrative Tools > Component Services);

Τώρα, αν τελικά τίποτα από τα παραπάνω δεν παίξει, μπορείς να δοκιμάσεις το step-by-step configuration που αναφέρει στο http://msdn.microsoft.com/en-us/library/ms175866.aspx για να δούμε αν παίζει αυτό; Αν παίζει, θα πρέπει να δεις είναι οι διαφορές σε σχέση με το δικό σου setup.

Link to comment
Share on other sites

Guest upmusic

Εαν και στο fileserver πρεπει να τρεχει ο dtc τοτε εκει ειναι το prob...διοτι οπως εχω πει και σε αλλο post εαν μεταφερθει το ιδιο mdb στον sql τοτε παιζει χωρις να χρειαζεται να γινουν ρυθμισεις στο security panel... απο την αλλη ο fileserver δεν ξεκιναει το msdtc service, ειναι ws2k3 sp1 και εχει uptime 500days.

Καιρος λοιπον για sp2 και αναγκαστικο restart!

Link to comment
Share on other sites

Guest upmusic

Δεν ειναι ουτε αυτο...

Μου μυριζει ισως και reg key με λαθος τιμη στον Server....τι να πω

Σε ενα Virtual Server ο οποιος τρεχει και αυτος SQL συνδεομαι και βλεπω κανονικα τα linked server (με το ιδιο configuration παντα) του απο το SSMS στο xp μου, οπως επισης απο το SSMS που τρεχει στο Virtual Server βλεπω τα linked server εκεινου που εχω το προβλημα να το δω απο το xp μου...Μαλιστα στον συγκεκριμενο Virtual Server εκανα τις δοκιμες πριν το migration και αξομοιωσα ολη την διαδικασια με δυο λογια ειναι πανομοιτυπος με αυτον που εχει Problem...

Link to comment
Share on other sites

Άρα δηλαδή, αν κατάλαβα καλά, το πρόβλημα είναι ανάμεσα στον server και τον συγκερκιμένο client. Ο server παίζει με άλλον client και ο client παίζει με άλλον server;

Link to comment
Share on other sites

Guest upmusic

Οχι και απο 2ο και απο 3ο XP Client με SSMS ΔΕΝ παιζει...

Απλα ανεφερα οτι απο μια μονο απομακρισμενη κονσολα παιζει και αυτη ειναι εκεινη του VIRTUAL SERVER!

 

 

Link to comment
Share on other sites

Guest upmusic

Επειδη φαινεται δυσκολο προβλημα μαλλον θα πρεπει να το δωσω στην MS να το δει...και τελικα δεν ξερω εαν θα παει και στο support της ΓΕΡΜΑΝΙΑΣ...

Μολις θα εχω νεα θα ενημερωσω για το τι τελικα εφταιγε...

 

Ευχαριστω οπως και ναχει.

Link to comment
Share on other sites

 Share

×
×
  • Create New...