Search Results

Search found 15306 results on 613 pages for 'there is nothing we can do'.

Page 193/613 | < Previous Page | 189 190 191 192 193 194 195 196 197 198 199 200  | Next Page >

  • //TODO: Test this thoroughly!!!!!!

    - by Edward Boyle
    I just ran into an ugly sight in my code: //TODO: Test this thoroughly!!!!!! private void ... I would very much like to go back in time and ask the past me what I meant, why did I add that TODO:? …And then, smack the s%#t out of him. No matter how much testing I do of this code I will always wonder if the past me found something. Was it actually that code or was it a calling method that may bring unwanted results. The fact that I find absolutely nothing wrong with the code makes it that much more haunting. The moral of the story; when you find something wrong and need to test it thoroughly, stay up another hour testing it. The clarity in your head at that moment, on that issue, at that specific moment in time, would take hours worth of commenting to justify not finishing it now. Maybe what I meant was: // TODO: Test this thoroughly!!!!!! // All seems fine but test it just in case, not to worry. private void ... Doubt it. -I’m screwed.

    Read the article

  • Microsoft Office 2013 Issue

    - by Liz
    A few days ago I opened my microsoft office programs and discovered taht they are missing the editing icons at the top, some of them will appear if you scroll over them, but not all. Also, in PowerPoint the slides show in the side window with a red "x" I have tried to uninstall and reinstall office 2013, but I have had no luck. This issue is in every office program (excel, PP, word, access, outlook, etc). I also can't see the text when I type. Its there, I can see it when I print the document, but nothing on the screen. Does anyone have a solution for this issue??

    Read the article

  • Motherboard wiring

    - by ML
    I am putting a new motherboard in a chenbro chasis and I dont get how to plugin the wires for powerSW resetSW, etc. It is a SuperMicro P4DP6 motherboard. ** I cant post an image yet, but here is a long to the spot on the mobo where this goes: http://andrewslack.info/mobo.png The powerSW lead is a green and white wire. I have the wire for PowerSW in place as the white wire ground and I have tried the reverse even (green to ground). The wire is covering Pin 1 and 2 in the diagram And I press the power button on the machine and nothing happens. It worked before I replaced the motherboard, the 24-pin ATX power leas is connected as well as the 2dn 6-pin optional power. Thoughts?

    Read the article

  • Real VNC won't connect to OS X Leopard VNC server

    - by Pselus
    I have 3 machines. 2 Macs, 1 Dell. 1 of the Macs is running as a VNC server and the other Mac connects great with Chicken of the VNC. Sadly, this app does not exist for Windows so I'm using RealVNC to view from Windows. I connect the exact same way as with the Mac, but on Windows when it connects, I see a program pop up and then immediately close. I have tried all options available on RealVNC and nothing changes things. Anyone have any idea what I can do to fix this?

    Read the article

  • SmartOS Virtualization with one public IP address

    - by matejkramny
    Is it possible? (title of this question) Googling Virtualization with one public IP address yields nothing useful What I have: SmartOS on a dedicated server. Dedicated server has one public IP address. What I want to do: Host multiple guest OS from that server Problem: Access to the guest through the (server that virtualizes the guest)'s IP address. Is this possible at all? Sorry, newbie to all this Research http://www.machine-unix.com/beginning-with-smartos/#comment-7256 Does not solve my problem - the guide sets up an internal IP http://blog.bgentil.fr/smartos-use-global-zone-as-gateway-for-guests.html Ideas Perhaps it is possible to do host-based translation like with nginx proxy?

    Read the article

  • You Might Be a SharePoint Professional If&hellip;

    - by Mark Rackley
    I really think no explanation is needed. Hope this makes you smile.. Thanks again for being an awesome SharePoint community! If you can only dream about working an 8 hour day, there’s a good chance you are a SharePoint professional. You might be a SharePoint professional if the last time you heard “Old MacDonald Had a Farm” you wondered “How many web front ends does it have?” If you consider Twitter the best form of support since the dawn of the Internet, you might be a SharePoint professional. If you are giddy-as-a-school-girl excited about going to Anaheim in October and it has NOTHING to do with Disneyland, you might be a SharePoint professional. You might be a SharePoint professional if you own more SharePoint shirts than you do pairs of underwear. If you’ve thought of giving up a career in the IT world for a job taking orders at a fast food chain, you might be a SharePoint professional. You might be a SharePoint professional if the only people who understand the words that come out of your mouth are other SharePoint people. If you put the word “Share” or “SP” in front of EVERYTHING (ShareFood, SPRunner, etc… etc…) then you might be a SharePoint professional. You are probably a SharePoint professional if you love SharePoint.. you hate SharePoint… you love SharePoint… you hate SharePoint… If the only thing you’d rather do more than SharePoint is SharePint, then you are definitely a SharePoint professional. You might be a SharePoint professional if your idea of name dropping is “Andrew Connell says…” or “According to Todd Klindt”… or even “Well, when I was stuck in a Turkish prison with Joel Oleson…”

    Read the article

  • Mac OS X: How do I disable SSID Broadcasting with Internet Sharing over Airport?

    - by Jack Chu
    I'm currently using Internet Sharing from my Ethernet over Airport on my Macbook Pro, however I don't want my SSID broadcasted†. There doesn't seem to be an option in Sharing/System Preferences to hide my ssid or prevent broadcasting. Any ideas? † My parent's restaurant has a wifi router, but it's on the roof level where the cable was installed. The signal it gets is weak, but works for the macbook. Their iPhones and 802.11G based computers can't get the wifi connection, maybe 802.11N on the macbook gets better penetration. I figure they could use the airport sharing from the laptop. For a restaurant type setting I don't think having WPA or WPA2 is super important. There's nothing sensitive or insecure on the network, so I figure hiding the SSID would be good enough for their purposes. It's not even active 100% of the time.

    Read the article

  • Restore using time machine from an macbook to an macbook pro (first intel)

    - by Anders Nørgaard
    Hello.. My girlfriend have Macbook 10.6.3, the first plastic version. the screen broke an its at service store now. In the mean time, i have tried to restore from hers TM backup to my old macbook pro 10.6.3 (the first intel version). Everything seems to work out fine, but when its finish, it says reboot, but nothing happens. When i hold down the power button, powering down, and starts again, its come up with the grey roll down screen "you need to restart your machine again" in different languages. I have tried the restore procedure over again 2 times, and every time it ends up like this... Anyone have a suggestion what to do ? Thanks - Anders.

    Read the article

  • Got black screen when recording screen from xvfb by ffmpeg x11grab device

    - by shawnzhu
    I'm trying to record video from a firefox run by xvfb-run but it always output nothing in the video file except black screen. Here's what I did: start a firefox, open google.com: $ xvfb-run firefox https://google.com Then it will use the default display server number 99. I can see the display information by command xdpyinfo -display :99. A screenshot works very well by command: $ xwd -root -silent -display :99.0 | xwdtopnm |pnmtojpeg > screen.jpg Start using ffmpeg to record a video: $ ffmpeg -f x11grab -i :99.0 out.mpg When I play the video file out.mpg, there's black screen all the time. Is there any parameter I missed? Updates I made progress that the video works instead of black screen only by this command: $ ffmpeg -y -r 30 -g 300 -f x11grab -s 1024x768 -i :99 -vcodec qtrle out.mov Notice it requires the screen resolution matches by specify more options to xvfb-run: $ xvfb-run -s "-screen 0 1224x768x16" -a firefox http://google.com But I still want to get more feedbacks and answers here.

    Read the article

  • How do I get around "Access is Denied" [Number: 5 (0x80070005)], with IIS6/FastCGI and PHP 5.2.3?

    - by Evan Carroll
    I'm getting this error with IIS 6.0 (i assume), and PHP 5.2.3, and FastCGI FastCGI Error The FastCGI Handler was unable to process the request. Error Details: Error Number: 5 (0x80070005). Error Description: Access is denied. HTTP Error 500 - Server Error. Internet Information Services (IIS) Any ideas, nothing revealings in logs (other than 500 errors), this is pretty much all of I have to work with. The script has read and execute privileged for the internet guest account; and, I've added read/execute privileges to the whole D:\PHP. I followed this tutorial http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/ to set it up. The only major diversion is I installed PHP to D:\PHP

    Read the article

  • 'skb rides the rocket' on Xen VM

    - by Kye
    I've just set up Ubuntu 13.10 server as a VM on my Ubuntu/Xen server, and I'm getting these weird lines in my syslog. Nov 12 10:26:32 human kernel: [130782.315333] xennet: skb rides the rocket: 19 slots Nov 12 10:26:32 human kernel: [130782.362405] xennet: skb rides the rocket: 20 slots Nov 12 10:26:32 human kernel: [130782.408458] xennet: skb rides the rocket: 19 slots Nov 12 10:26:32 human kernel: [130782.490260] xennet: skb rides the rocket: 20 slots Nov 12 10:26:32 human kernel: [130782.541931] xennet: skb rides the rocket: 19 slots Nov 12 10:26:35 human kernel: [130785.226635] xennet: skb rides the rocket: 19 slots Nov 12 10:26:35 human kernel: [130785.261026] xennet: skb rides the rocket: 21 slots Nov 12 10:26:35 human kernel: [130785.469306] xennet: skb rides the rocket: 19 slots Nov 12 10:26:36 human kernel: [130786.552730] xennet: skb rides the rocket: 21 slots Nov 12 10:26:38 human kernel: [130788.212747] xennet: skb rides the rocket: 20 slots Nov 12 10:26:38 human kernel: [130788.257544] xennet: skb rides the rocket: 19 slots Nov 12 10:26:38 human kernel: [130788.903841] xennet: skb rides the rocket: 19 slots Unsure of what they mean, and Google has nothing meaningful. Any help is appreciated.

    Read the article

  • Dell XPS + Apple Mini-Display Adaptor + Projector = KABOOM

    - by D'Arcy Lussier
    Remember how I blogged about rolling with the punches? So today my buddy and Prairie Dev Con speaker James Chambers went to present on Microsoft MVC. He brought his fancy new Dell XPS laptop, which he had used to do presentations and stream internet video to a projector before. But today, the technology gods were not smiling… James tries to connect his laptop to the projector. Nothing. The projector just can’t recognize the connection. Realize that we’ve already had two sessions in that room already, so everything *should* work. The Dell XPS laptop James has doesn’t have a VGA port. Instead, it has HDMI and Mini-Display ports. James had one of the Apple mini-display to VGA adapters. If I connected my Mac Book Pro, I could connect no problem, so it wasn’t the adapter. He could connect his laptop to projectors before, so it wasn’t the laptop. And we’d already had sessions, so it wasn’t the projector. So what was it? Well, all three it turns out. Thanks to this post over at Irongeek.com we discovered that using Windows 7 on a Dell XPS with the Apple connector and a non-plug-in-play projector won’t work. So the fix was ditch the Apple connector, use the Star Tech model instead (listed in the Irongeek article). So James is good to go, he’s going to talk at the last session and we’ve moved the Windows 8 talk Jim Russell and I were going to do until tomorrow. Roll with the punches…

    Read the article

  • windows rename command to rename file.a.b to file.b

    - by sakibmoon
    I have a few folders with hundreds of html files. The file name should have been .htm but it is .asp.htm and it does not run. It is plain html file and there is no asp code. So, I tried to rename the files using rename command. I tried like this rename *.asp.htm *.htm But it does not work. After trying a few other combinations I believe rename or ren command can't change the double dot extension. The only change the last extension. So, if I try rename *.asp.htm *.asp.htm I thought nothing would be changed, but, the file name changes from file.asp.htm to file.asp.asp.htm I hope someone would help me with this. Another thing is, can I force apache to run files with .asp.htm extension? Currently it can't run those files. Thanks in advance.

    Read the article

  • How to install mod_ssl for Apache

    - by Nick Foote
    Ok So I installed Apache httpd a while ago and have recently come back to it to try setup SSL and get it serving several different tomcat servers. At the moment I have two completely separate tomcat instances serving up to slightly different versions (one for dev and one for demo say) my web app to two different ports; mydomain.com:8081 and mydomain.com:8082 I've successfully (back in Jan) used mod_jk to get httpd to serve those same tomcat instances to http://www.mydomain.com:8090/dev and http://www.mydomain.com:8090/demo (8090 cos I've got another app running on 8080 via Jetty at this stage) using the following code in httpd.conf; LoadModule jk_module modules/mod_jk.so JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel debug <VirtualHost *:8090> JkMount /devd* tomcatDev JkMount /demo* tomcatDemo </VirtualHost> What I'm not trying to do is enable SSL I've added the following to httpd.conf Listen 443 <VirtualHost _default_:443> JkMount /dev* tomcatDev JkMount /demo* tomcatDemo SSLEngine on SSLCertificateFile "/opt/httpd/conf/localhost.crt" SSLCertificateKeyFile "/opt/httpd/conf/keystore.key" </VirtualHost> But when I try to restart Apache with "apachectl restart" (yes after shutting down that other app I mentioned so it doesn't toy with https connections) I continuously get the error; "Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration. httpd not running, trying to start" I've looked in the httpd/modules dir and indeed there is no mod_ssl, only mod_jk.so and httpd.exp. I've tried using yum to install mod_ssl, it says its already installed. Indeed I can locate mod_ssl.so in /usr/lib/httpd/modules but this is NOT the path to where I've installed httpd which is /opt/httpd and in fact /usr/lib/httpd contains nothing but the modules dir. Can anyone tell me how to install mod_ssl properly for my installed location of httpd so I can get past this error:

    Read the article

  • Exchange not preserving the "To:" field

    - by Matt Simmons
    I've got a hosted exchange solution through Apptix, which isn't the problem, I think, but it may be relevant. I have my main account, [email protected], and to that, I have an alias, [email protected]. Whenever I send an email to [email protected], I examine the headers, and I see the "To:" field being correct, "To: [email protected]". All is well. I recently set up another user, [email protected] to function as a multipurpose mailbox. I aliased "[email protected]" to the services account in the same method that I did "[email protected]", however nothing I have sent to "[email protected]" actually goes TO "[email protected]". All of the headers say "To: [email protected]". This makes it extremely difficult to filter based on headers alone. Does anyone have any feedback on what settings I would need to look at in order to fix that?

    Read the article

  • opening socket to google hangs on SYN_SENT

    - by puchu
    I have 2 computers now: downloader (asus at4nm10t-i) with debian and desktop (asus sabertooth 990fx) with gentoo in the same network under NAT even with the same ethernet card: RTL8111E. driver r8169 is compiled as module on both computers. Sometimes in evenings desktop cannot connect to google and all its services like now: curl -v http://www.google.by on downloader it received server's answer immediately. on desktop it hanged and when I ran in other terminal: netstat -ntp | grep curl >>tcp 0 1 192.168.0.7:54126 173.194.35.191:80 SYN_SENT 4876/curl after 1-2 minutes it received server's answer. I was tried to change ip of network, mac address of desktop but nothing changed. When I was trying to connect to another services except google: curl -v http://www.yahoo.com both computers received answers immediately! Only when I rebooted desktop it begins to work with google services correctly I cant understand what is this bug related to. In which bugtracker should I post this: r8169 or linux kernel or google? PS. Desktop was checked with memtest: 5 passes - no errors

    Read the article

  • OCS 2007 R2 Client not syncing Address book

    - by Noah
    I've checked online for most solution for this issue, but nothing seems to be working. When I check the log files on our OCS 2007 R2 server, it is identifying 25 users in the address book. However, when I try and force a sync with the clients, they do not update. I can find the users if I search for them, but they are not coming down by themselves. Is there anything I can check or force from the client side? There is no address book file locally to delete and re-force down.

    Read the article

  • Install RT Failed: DateTime >= 0.44 ...MISSING

    - by javano
    I am trying to install RT-4.0.5 (Request Tracker) but I keep getting the following output; $ make fixdeps <output cut> SOME DEPENDENCIES WERE MISSING. CORE missing dependencies: DateTime >= 0.44 ...MISSING make: *** [fixdeps] Error 1 The full output is here (it's quite long); http://pastebin.com/raw.php?i=Tn7GrkYw $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 8.04.4 LTS Release: 8.04 Codename: hardy $ perl --version This is perl 5, version 14, subversion 2 (v5.14.2) built for i686-linux $ cpan --version /usr/local/bin/cpan version 1.57 calling Getopt::Std::getopts (version 1.06 [paranoid]), running under Perl version 5.14.2. [Now continuing due to backward compatibility and excessive paranoia. See ``perldoc Getopt::Std'' about $Getopt::Std::STANDARD_HELP_VERSION.] Nothing to install! I can't see why this is a problem; $ cpan DateTime Going to read '/root/.cpan/Metadata' Database was generated on Thu, 08 Mar 2012 16:11:26 GMT DateTime is up to date (0.72).

    Read the article

  • Copy or Export Byobu screen?

    - by kmassada
    One of the best things about byobu is the scrollback feature in a given session. I have been working on something, and I have tons of lines in the current scrollback session and I want to copy everything to a file, how to?? According to the screen home page, looks like you can do this? but when I'm done I do a search for all those files, can't find them. C-a h (hardcopy) Write a hardcopy of the current window to the file "hardcopy.n". C-a H (log) Begins/ends logging of the current window to the file "screenlog.n". For the screen commands to work, I have to be in screen mode, I believe, and not sure how to check that? kenneth@dv7:~$ ps -ef | grep byobu kenneth 16245 16173 0 05:18 pts/12 00:00:00 grep --color=auto byobu kenneth 25935 1 0 Dec14 ? 00:21:26 /usr/bin/xfce4-terminal -x byobu-launcher kenneth 25938 25935 0 Dec14 pts/0 00:00:00 tmux -2 -f /usr/share/byobu/profiles/tmuxrc new-session /usr/bin/byobu-shell kenneth 25962 1 1 Dec14 ? 00:37:31 tmux -2 -f /usr/share/byobu/profiles/tmuxrc new-session /usr/bin/byobu-shell kenneth 25963 25962 0 Dec14 pts/1 00:00:00 sh -c /usr/bin/byobu-shell This is from the byoby man page and I absolutely don't know what it does? I tried, it, and looked around, can't tell. Ctrl-a ~ - Save the current window's scrollback buffer there's also enter, copy mode, select with space key, and press enter to copy, I do that, the screen displays gibberish for 10 seconds refreshes, done. cat >> ~/log.output << COMM --paste using ctrl a ] I think-- COMM this confirms the copy paste works, but when I press enter, nothing get saved to that log file, I've checked, I do have write privileges in my home directory. lol the select all, from the xfce4-terminal doesn't go far enough, and scrolling back with the mouse, well won't work, no need to try it, I know byobu buffer doesn't work like that.

    Read the article

  • ESXi 5 network performance is slow

    - by R D
    We just did a fresh install of ESXi 5 on a host that was running ESX 4 before. Nothing has changed hardware wise. After the upgrade network performance is much slower. Even copying a big file from one VM to another VM within same virtual switch is slower compared to other hosts that are running ESX 4. Network cards are auto-negotiating at 1Gbps as were on ESX 4 prior to upgrade. All settings are default and I haven't played with Advanced Settings at all. Before opening a case with vmware, wanted to know if I am missing something or if others have experienced similar issues and found a fix?

    Read the article

  • Sony Vaio: Bluetooth problem

    - by Mehper C. Palavuzlar
    I have a Vaio VPCCW21FX with Windows 7 Home Premium. I'm trying to reach the bluetooth settings but to no avail. I could neither switch the bluetooth on nor find the settings for it. I have tried the following: In Start menu, typed bluetooth, found "Bluetooth" in Programs, clicked on it, but there was no response. Checked task manager, there's nothing related bluetooth. Headed for Control Panel, opened Add Devices or Printers, right-clicked on Vaio computer, clicked on Bluetooth Settings, and no response again. What's wrong with my laptop? How can I fix this?

    Read the article

  • Repeated Reporting Services Login issue when deploying through BIDS to a remote server

    - by Richard Edwards
    We are having a problem deploying a reporting services report to a sql reporting services computer that is configured in SharePoint Integrated mode. I can successfully deploy to the SharePoint document libraries set up for reports and data connections if I do it locally from the box that SharePoint and Reporting Services are deployed on. If I try and do the same thing with the exact same deployment properties from a remote box, I constantly get a Reporting Services Login dialog popping up and no combination of domain\username and password will work. I've even tried the machines local admin account and still nothing. Any ideas where to start looking?

    Read the article

  • Keyboard doesn't work after upgrade to Debian Wheezy

    - by mikhail
    After upgrade from lenny to wheezy keyboard and mouse don't work in X (keyboard available before it starts). I looked over internet about this issue and found some solutions: remove xorg.conf (http://forums.debian.net/viewtopic.php?f=7&t=62880) update udev and base-files (http://forums.debian.net/viewtopic.php?f=6&t=64927&p=376136#p376136) remove /run directory (http://forums.debian.net/viewtopic.php?f=6&t=64927&p=376136#p376136) reintall xserver and xorg But, nothing helped me :( Logs of X-server haven't got any messages about keyboard or mouse errors. Below you can see configuration of my system: krestyaninov@xxx# uname -a Linux xxx 3.0.0-1-686-pae #1 SMP Sat Aug 27 16:41:03 UTC 2011 i686 GNU/Linux krestyaninov@xxx# dpkg -l |grep udev ii libgudev-1.0-0 172-1 GObject-based wrapper library for libudev ii libudev0 172-1 libudev shared library ii udev 172-1 /dev/ and hotplug management daemon krestyaninov@xxx# dpkg -l |grep base-files ii base-files 6.5 Debian base system miscellaneous files krestyaninov@xxx# dpkg -l |grep xorg ii xorg 1:7.6+8 X.Org X Window System ... ii xserver-xorg 1:7.6+8 X.Org X server

    Read the article

  • Windows SBS 2008 - how to diagnose port forwarding problems?

    - by Alt_Doru
    We have a Windows SBS 2008 machine. Several ports need to be forwarded from the router to the server (the machine hosts a FTP server, a Web server, and we need to be access it through Remote Desktop). We recently changed routers (from SpeedTouch to Huawei EchoLife HG520s). With the previous router, port forwarding worked fine. Now, after setting up port forwarding on the new router, nothing works anymore. Can anybody help me with directions on how to diagnose/troubleshoot port forwarding problems on the router and in Windows SBS 2008? E.G.: after forwarding a port in the router interface to the internal IP of the server, how can I see in the SBS 2008 logs if the request is properly forwarded to it?

    Read the article

  • So…is it a Seek or a Scan?

    - by Paul White
    You’re probably most familiar with the terms ‘Seek’ and ‘Scan’ from the graphical plans produced by SQL Server Management Studio (SSMS).  The image to the left shows the most common ones, with the three types of scan at the top, followed by four types of seek.  You might look to the SSMS tool-tip descriptions to explain the differences between them: Not hugely helpful are they?  Both mention scans and ranges (nothing about seeks) and the Index Seek description implies that it will not scan the index entirely (which isn’t necessarily true). Recall also yesterday’s post where we saw two Clustered Index Seek operations doing very different things.  The first Seek performed 63 single-row seeking operations; and the second performed a ‘Range Scan’ (more on those later in this post).  I hope you agree that those were two very different operations, and perhaps you are wondering why there aren’t different graphical plan icons for Range Scans and Seeks?  I have often wondered about that, and the first person to mention it after yesterday’s post was Erin Stellato (twitter | blog): Before we go on to make sense of all this, let’s look at another example of how SQL Server confusingly mixes the terms ‘Scan’ and ‘Seek’ in different contexts.  The diagram below shows a very simple heap table with two columns, one of which is the non-clustered Primary Key, and the other has a non-unique non-clustered index defined on it.  The right hand side of the diagram shows a simple query, it’s associated query plan, and a couple of extracts from the SSMS tool-tip and Properties windows. Notice the ‘scan direction’ entry in the Properties window snippet.  Is this a seek or a scan?  The different references to Scans and Seeks are even more pronounced in the XML plan output that the graphical plan is based on.  This fragment is what lies behind the single Index Seek icon shown above: You’ll find the same confusing references to Seeks and Scans throughout the product and its documentation. Making Sense of Seeks Let’s forget all about scans for a moment, and think purely about seeks.  Loosely speaking, a seek is the process of navigating an index B-tree to find a particular index record, most often at the leaf level.  A seek starts at the root and navigates down through the levels of the index to find the point of interest: Singleton Lookups The simplest sort of seek predicate performs this traversal to find (at most) a single record.  This is the case when we search for a single value using a unique index and an equality predicate.  It should be readily apparent that this type of search will either find one record, or none at all.  This operation is known as a singleton lookup.  Given the example table from before, the following query is an example of a singleton lookup seek: Sadly, there’s nothing in the graphical plan or XML output to show that this is a singleton lookup – you have to infer it from the fact that this is a single-value equality seek on a unique index.  The other common examples of a singleton lookup are bookmark lookups – both the RID and Key Lookup forms are singleton lookups (an RID lookup finds a single record in a heap from the unique row locator, and a Key Lookup does much the same thing on a clustered table).  If you happen to run your query with STATISTICS IO ON, you will notice that ‘Scan Count’ is always zero for a singleton lookup. Range Scans The other type of seek predicate is a ‘seek plus range scan’, which I will refer to simply as a range scan.  The seek operation makes an initial descent into the index structure to find the first leaf row that qualifies, and then performs a range scan (either backwards or forwards in the index) until it reaches the end of the scan range. The ability of a range scan to proceed in either direction comes about because index pages at the same level are connected by a doubly-linked list – each page has a pointer to the previous page (in logical key order) as well as a pointer to the following page.  The doubly-linked list is represented by the green and red dotted arrows in the index diagram presented earlier.  One subtle (but important) point is that the notion of a ‘forward’ or ‘backward’ scan applies to the logical key order defined when the index was built.  In the present case, the non-clustered primary key index was created as follows: CREATE TABLE dbo.Example ( key_col INTEGER NOT NULL, data INTEGER NOT NULL, CONSTRAINT [PK dbo.Example key_col] PRIMARY KEY NONCLUSTERED (key_col ASC) ) ; Notice that the primary key index specifies an ascending sort order for the single key column.  This means that a forward scan of the index will retrieve keys in ascending order, while a backward scan would retrieve keys in descending key order.  If the index had been created instead on key_col DESC, a forward scan would retrieve keys in descending order, and a backward scan would return keys in ascending order. A range scan seek predicate may have a Start condition, an End condition, or both.  Where one is missing, the scan starts (or ends) at one extreme end of the index, depending on the scan direction.  Some examples might help clarify that: the following diagram shows four queries, each of which performs a single seek against a column holding every integer from 1 to 100 inclusive.  The results from each query are shown in the blue columns, and relevant attributes from the Properties window appear on the right: Query 1 specifies that all key_col values less than 5 should be returned in ascending order.  The query plan achieves this by seeking to the start of the index leaf (there is no explicit starting value) and scanning forward until the End condition (key_col < 5) is no longer satisfied (SQL Server knows it can stop looking as soon as it finds a key_col value that isn’t less than 5 because all later index entries are guaranteed to sort higher). Query 2 asks for key_col values greater than 95, in descending order.  SQL Server returns these results by seeking to the end of the index, and scanning backwards (in descending key order) until it comes across a row that isn’t greater than 95.  Sharp-eyed readers may notice that the end-of-scan condition is shown as a Start range value.  This is a bug in the XML show plan which bubbles up to the Properties window – when a backward scan is performed, the roles of the Start and End values are reversed, but the plan does not reflect that.  Oh well. Query 3 looks for key_col values that are greater than or equal to 10, and less than 15, in ascending order.  This time, SQL Server seeks to the first index record that matches the Start condition (key_col >= 10) and then scans forward through the leaf pages until the End condition (key_col < 15) is no longer met. Query 4 performs much the same sort of operation as Query 3, but requests the output in descending order.  Again, we have to mentally reverse the Start and End conditions because of the bug, but otherwise the process is the same as always: SQL Server finds the highest-sorting record that meets the condition ‘key_col < 25’ and scans backward until ‘key_col >= 20’ is no longer true. One final point to note: seek operations always have the Ordered: True attribute.  This means that the operator always produces rows in a sorted order, either ascending or descending depending on how the index was defined, and whether the scan part of the operation is forward or backward.  You cannot rely on this sort order in your queries of course (you must always specify an ORDER BY clause if order is important) but SQL Server can make use of the sort order internally.  In the four queries above, the query optimizer was able to avoid an explicit Sort operator to honour the ORDER BY clause, for example. Multiple Seek Predicates As we saw yesterday, a single index seek plan operator can contain one or more seek predicates.  These seek predicates can either be all singleton seeks or all range scans – SQL Server does not mix them.  For example, you might expect the following query to contain two seek predicates, a singleton seek to find the single record in the unique index where key_col = 10, and a range scan to find the key_col values between 15 and 20: SELECT key_col FROM dbo.Example WHERE key_col = 10 OR key_col BETWEEN 15 AND 20 ORDER BY key_col ASC ; In fact, SQL Server transforms the singleton seek (key_col = 10) to the equivalent range scan, Start:[key_col >= 10], End:[key_col <= 10].  This allows both range scans to be evaluated by a single seek operator.  To be clear, this query results in two range scans: one from 10 to 10, and one from 15 to 20. Final Thoughts That’s it for today – tomorrow we’ll look at monitoring singleton lookups and range scans, and I’ll show you a seek on a heap table. Yes, a seek.  On a heap.  Not an index! If you would like to run the queries in this post for yourself, there’s a script below.  Thanks for reading! IF OBJECT_ID(N'dbo.Example', N'U') IS NOT NULL BEGIN DROP TABLE dbo.Example; END ; -- Test table is a heap -- Non-clustered primary key on 'key_col' CREATE TABLE dbo.Example ( key_col INTEGER NOT NULL, data INTEGER NOT NULL, CONSTRAINT [PK dbo.Example key_col] PRIMARY KEY NONCLUSTERED (key_col) ) ; -- Non-unique non-clustered index on the 'data' column CREATE NONCLUSTERED INDEX [IX dbo.Example data] ON dbo.Example (data) ; -- Add 100 rows INSERT dbo.Example WITH (TABLOCKX) ( key_col, data ) SELECT key_col = V.number, data = V.number FROM master.dbo.spt_values AS V WHERE V.[type] = N'P' AND V.number BETWEEN 1 AND 100 ; -- ================ -- Singleton lookup -- ================ ; -- Single value equality seek in a unique index -- Scan count = 0 when STATISTIS IO is ON -- Check the XML SHOWPLAN SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col = 32 ; -- =========== -- Range Scans -- =========== ; -- Query 1 SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col <= 5 ORDER BY E.key_col ASC ; -- Query 2 SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col > 95 ORDER BY E.key_col DESC ; -- Query 3 SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col >= 10 AND E.key_col < 15 ORDER BY E.key_col ASC ; -- Query 4 SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col >= 20 AND E.key_col < 25 ORDER BY E.key_col DESC ; -- Final query (singleton + range = 2 range scans) SELECT E.key_col FROM dbo.Example AS E WHERE E.key_col = 10 OR E.key_col BETWEEN 15 AND 20 ORDER BY E.key_col ASC ; -- === TIDY UP === DROP TABLE dbo.Example; © 2011 Paul White email: [email protected] twitter: @SQL_Kiwi

    Read the article

< Previous Page | 189 190 191 192 193 194 195 196 197 198 199 200  | Next Page >