Πώς μπορώ να παρέχουν περιορισμένη πρόσβαση σε sysprocesses στον SQL Server 2005;




Είμαι εφαρμογή κάποια στοιχειώδη παρακολούθηση του SQL Server για να παρακολουθήσουν την υπερβολική αποκλεισμού.


Έχω μια αποθηκευμένη διαδικασία που μοιάζει με αυτό:



```
CREATE PROCEDURE [dbo].[bsp_GetBlockedProcessCount]
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @count INT

    SELECT @count = COUNT(*)
    FROM master.dbo.sysprocesses WITH (NOLOCK)
    WHERE blocked > 0

    RETURN @count
END

```

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


Μπορώ να σκεφτώ μερικά λύσεις, αλλά δεν είμαι χαρούμενος κάποια από αυτά:


1. Μπορώ να χορηγήσει προνόμια ΚΡΑΤΟΣ Server άποψη για τον χρήστη, αλλά αυτό είναι πολύ πιο άδεια από αυτό ο χρήστης θα πρέπει να έχει:



```
GRANT VIEW SERVER STATE TO [Webserver]

```
2. Εκτελέστε το proc από ένα SQL δουλειά και να θέσει τα αποτελέσματα κάπου για το διακομιστή για να πάρει, αλλά αυτό είναι βρώμικο και περίπλοκη.
3. Μην προσπαθήσετε και να ζητήσει αυτό από το διακομιστή!


Είμαι σίγουρος ότι υπάρχει μια καλύτερη λύση. Οποιεσδήποτε προτάσεις?
Χαίρομαι που δεν γνωρίζουν τις απαντήσεις από πρώτο χέρι :), αλλά έχω παίξει με ΕΚΤΕΛΕΣΗ AS και να επανέλθει για εναλλαγή μεταξύ χρηστών


Αλλά εδώ είναι 2 καλές συνδέσεις για να αρχίσει με


Αλλαγή αποθηκευμένης διαδικασίας εκτέλεσης πλαίσιο του SQL Server με χρήση της ρήτρας Επαναφορά


Συνοπτικά: να σας χορηγήσει χρήστη να μιμηθεί όπως λένε DBA, στη συνέχεια, να επανέλθει μετά


<http://www.mssqltips.com/tip.asp?tip=1579>


Δίνοντας Δικαιώματα μέσω αποθηκευμένες διαδικασίες


Σύνοψη: Είμαι πολύ τεμπέλης για να διαβάσετε σε όλο θέμα


<http://www.sommarskog.se/grantperm.html>
Συχνά αυτό επιτυγχάνεται με τη χρήση [«Driven δεδομένων Συνδρομές»](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , αλλά αυτή η λειτουργία είναι διαθέσιμη μόνο σε ορισμένες εκδόσεις του SQL: Enterprise και Business Intelligence, αλλά όχι στο πρότυπο.


Έτσι, υπάρχει μια σειρά από δημιουργικές λύσεις. Αλλά δεν μου αρέσει κάποια από αυτές, και απαιτούν ένα δίκαιο κομμάτι της εργασίας έξω από SSRS.


Οι λύσεις που έχω δει περιλαμβάνουν: Δημιουργία της εγγραφής και στη συνέχεια απενεργοποίηση ή επιτρέπουν την εργασία SQL που στέλνει τη συνδρομή (που προσδιορίζονται από GUID.)


Δημιουργήστε ένα .exe .NET περιτύλιγμα για να χειριστεί την αποστολή του email. Μπορεί να εκτελέσετε το ερώτημα πρώτα να δούμε πόσα επέστρεψε σειρές, και στη συνέχεια, αν χρειαστεί, να δημιουργήσει την έκθεση και να συμπεριληφθεί σε ένα email. <p>το <strong>server</strong> (που αποστέλλεται το αίτημα post) πρέπει να περιλαμβάνει την κεφαλίδα <code>access-control-allow-headers</code> (κλπ) <strong>στην απάντησή του</strong>. η τοποθέτησή τους στο αίτημά σας από τον πελάτη δεν έχει καμία επίδραση.</p><p>αυτό οφείλεται στο γεγονός ότι εναπόκειται στον διακομιστή να καθορίσει ότι δέχεται αιτήσεις διασταυρούμενης προέλευσης (και ότι επιτρέπει την κεφαλίδα <code>content-type</code> αίτησης και ούτω καθεξής) - ο πελάτης δεν μπορεί να αποφασίσει για τον εαυτό του ότι ένας δεδομένος διακομιστής πρέπει να επιτρέπει την cors.</p> μήπως έχει όριο στο πόσες γραμμές δείχνει το τερματικό σου, πάνε στις ρυθμίσεις του προφίλ σου και θέσε απεριόριστο (συνήθως έχει 1000 γραμμές). επίσης για να βλέπεις όλες τις στήλες δοκίμασε το παρακάτω :

import pandas as pd

pd.set\_option('display.max\_rows', none)

pd.set\_option('display.max\_colum… Αυτό λειτουργεί στον υπολογιστή μου (TM) μετά την εγκατάσταση rdbgsetup\_x64.exe και να περάσει από τον οδηγό διαμόρφωσης:



```
sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90

``` <p>μπορείτε να λάβετε ροή εξόδου για τη σύνδεση και να γράψετε τη συμβολοσειρά ερώτησης παραμέτρων σε αυτήν.</p><pre><code>url url = new url("http://yoururl.com"); httpsurlconnection conn = (httpsurlconnection) url.openconnection(); conn.setreadtimeout(10000); conn.setconnecttimeout(15000); conn.setrequestmethod("post"); conn.setdoinput(true); conn.setdooutput(true); list&lt;namevaluepair&gt; params = new arraylist&lt;namevaluepair&gt;(); params.add(new basicnamevaluepair("firstparam", paramvalue1)); params.add(new basicnamevaluepair("secondparam", paramvalue2)); params.add(new basicnamevaluepair("thirdparam", paramvalue3)); outputstream os = conn.getoutputstream(); bufferedwriter writer = new bufferedwriter( new outputstreamwriter(os, "utf-8")); writer.write(getquery(params)); writer.flush(); writer.close(); os.close(); conn.connect(); </code></pre><p>...</p><pre><code>private string getquery(list&lt;namevaluepair&gt; params) throws unsupportedencodingexception { stringbuilder result = new stringbuilder(); boolean first = true; for (namevaluepair pair : params) { if (first) first = false; else result.append("&amp;"); result.append(urlencoder.encode(pair.getname(), "utf-8")); result.append("="); result.append(urlencoder.encode(pair.getvalue(), "utf-8")); } return result.tostring(); } </code></pre> γρήγορη δοκιμή:

ανοίγεις ως root το αρχείο /etc/default/grub

βρίσκεις τη γραμμή grub\_cmdline\_linux\_default="quiet splash" (ενδέχεται να είναι λίγο διαφορετική σε εσένα, δεν έχει σημασία)

προσθέτεις αυτό: snd\_hda\_intel.dmic\_detect=0 και αποθηκεύεις

επανεκκίνηση

αν δε δουλέψει, επαναλαμβάνεις τα β… Κάνατε πολύ καλή δουλειά στο να συνοψίσετε τι είναι φοβερό στο Node.js. Η αίσθησή μου είναι ότι το Node.js είναι ιδιαίτερα κατάλληλο για εφαρμογές όπου θα θέλατε να διατηρήσετε μια μόνιμη σύνδεση από το πρόγραμμα περιήγησης πίσω στον διακομιστή. Χρησιμοποιώντας μια τεχνική γνωστή ως ["long-polling"](https://en.wikipedia.org/wiki/Push_technology#Long_polling), μπορείτε να γράψετε μια εφαρμογή που στέλνει ενημερώσεις στον χρήστη σε πραγματικό χρόνο. Η πραγματοποίηση long polling σε πολλούς από τους γίγαντες του διαδικτύου, όπως το [Ruby on Rails](https://en.wikipedia.org/wiki/Ruby_on_Rails) ή το [Django](https://en.wikipedia.org/wiki/Django_%28web_framework%29), θα δημιουργούσε τεράστιο φόρτο στον διακομιστή, επειδή κάθε ενεργός πελάτης τρώει μια διεργασία του διακομιστή. Αυτή η κατάσταση ισοδυναμεί με επίθεση [tarpit](https://en.wikipedia.org/wiki/Tarpit_(networking)). Όταν χρησιμοποιείτε κάτι όπως το Node.js, ο διακομιστής δεν έχει ανάγκη να διατηρεί ξεχωριστά νήματα για κάθε ανοιχτή σύνδεση. 


Αυτό σημαίνει ότι μπορείτε να δημιουργήσετε μια [εφαρμογή συνομιλίας με βάση το πρόγραμμα περιήγησης](https://github.com/rivalslayer/node_chat) σε Node.js που δεν χρειάζεται σχεδόν καθόλου πόρους συστήματος για να εξυπηρετεί πολλούς πελάτες. Κάθε φορά που θέλετε να κάνετε αυτού του είδους τη μακροχρόνια αναζήτηση, το Node.js είναι μια εξαιρετική επιλογή. 


Αξίζει να αναφέρουμε ότι και η Ruby και η Python έχουν εργαλεία για να κάνουν κάτι τέτοιο ([eventmachine](http://rubyeventmachine.com/) και [twisted](https://twistedmatrix.com/trac/), αντίστοιχα), αλλά ότι το Node.js το κάνει εξαιρετικά καλά, και από την αρχή. Η JavaScript είναι εξαιρετικά καλά τοποθετημένη σε ένα μοντέλο ταυτόχρονης λειτουργίας βασισμένο σε callback, και υπερέχει εδώ. Επίσης, η δυνατότητα σειριοποίησης και αποσειριοποίησης με JSON εγγενές τόσο στον πελάτη όσο και στον διακομιστή είναι αρκετά έξυπνη.


Ανυπομονώ να διαβάσω άλλες απαντήσεις εδώ, αυτή είναι μια φανταστική ερώτηση.


Αξίζει να επισημάνουμε ότι το Node.js είναι επίσης εξαιρετικό για καταστάσεις στις οποίες θα επαναχρησιμοποιήσετε πολύ κώδικα σε όλο το χάσμα πελάτη/εξυπηρετητή. Το [Meteor framework](https://meteor.com) το κάνει αυτό πολύ εύκολο, και πολλοί άνθρωποι προτείνουν ότι αυτό μπορεί να είναι το μέλλον της ανάπτυξης ιστοσελίδων. Μπορώ να πω από την εμπειρία μου ότι είναι πολύ διασκεδαστικό να γράφεις κώδικα στο Meteor, και ένα μεγάλο μέρος αυτού είναι να ξοδεύεις λιγότερο χρόνο σκεπτόμενος πώς θα αναδομήσεις τα δεδομένα σου, ώστε ο κώδικας που εκτελείται στο πρόγραμμα περιήγησης να μπορεί εύκολα να τα χειριστεί και να τα μεταβιβάσει πίσω.


Εδώ είναι ένα άρθρο για το Pyramid και το long-polling, το οποίο αποδεικνύεται ότι είναι πολύ εύκολο να ρυθμιστεί με λίγη βοήθεια από το gevent: [*TicTacToe και Long Polling με την Pyramid*](http://michael.merickel.org/2011/6/21/tictactoe-and-long-polling-with-pyramid/). μπορείς και μέσω τερματικού για να μην μπλέκεις και να ψάχνεις παράθυρα. 
πατάς ctrl+alt+t για να ανοίξεις το τερματικό και πληκτρολογείς την εντολή passwd θα σου ζητήσει τον υπάρχον κωδικό και να πληκτρολογήσεις 2 φορές το νέο. sudo sensors-detect έχω κάνει. δε με νοιαζουν οι δίσκοι τον επεξεργαστή θέλω…

η λύση βρέθηκε …

για τους φίλους που έχουν kde και δεν τους δουλεύει το applet thermal monitor να κάνουν απεγκατάσταση το πακέτο ksysguard restart και μετά ξανά εγκατάσταση εγω χρησιμοποιω το maim αντι του scrot και εχω βαλει αυτο για το prtsc:

bindsym print exec --no-startup-id maim pic-full-"$(date '+%y%m%d-%h%m-%s').png