Hello there,
I'm currently building up a SQL 2005 Active/Standby cluster in a DMZ. I have three NIC's in each server.
Each NIC is connected to a different network:
192.168.100.1 is the public NIC
10.0.0.1 is the NIC used for communication betwen the cluster nodes (heartbeat)
192.168.200.1 is the admin NIC
I have installed my cluster using the 192.168.100.0 network for public access. This means that my SQL virtual ip is 192.168.100.10
Each server can be administered over the 192.168.200.0 network (admin) and the cluster/sql sever ip is available from the 192.168.100.0 (public) network.
Now for my question: How can I assign a ip address from my admin network (e.g.192.168.200.10) to the existing SQL server cluster to make it available from my admin network while keeping the public ip.
Thanx in advance!
Chris
From http://www.developmentnow.com/g/99_2004_12_1_0_0/sql-server-clustering.htm
Posted via DevelopmentNow.com Groups
http://www.developmentnow.com
"chrismk" <Multiple IP's (from 2 different networks) on a single SQL 2005
Cluster> wrote in message
news:59d2db33-7eb3-4b9e-af0f-fd54c5d3d72b@.developmentnow.com...
> I'm currently building up a SQL 2005 Active/Standby cluster in a DMZ. I
> have three NIC's in each server.
BTW, I am not trying to be a pain, but some of the issues here have me
extremely curious. First, why are you putting it in the perimeter network?
You should have it behind the internal firewall so the data is fully
protected and have anything that runs in the perimeter network to make its
calls through the internal firewall using a non-standard port. Data needs to
be protected.
> Each NIC is connected to a different network:
> 192.168.100.1 is the public NIC
> 10.0.0.1 is the NIC used for communication betwen the cluster nodes
> (heartbeat)
> 192.168.200.1 is the admin NIC
Why do you need an admin NIC. There is this concept of IP routing that
should make this requirement go away. <G>
> I have installed my cluster using the 192.168.100.0 network for public
> access. This means that my SQL virtual ip is 192.168.100.10
> Each server can be administered over the 192.168.200.0 network (admin) and
> the cluster/sql sever ip is available from the 192.168.100.0 (public)
> network.
> Now for my question: How can I assign a ip address from my admin network
> (e.g.192.168.200.10) to the existing SQL server cluster to make it
> available from my admin network while keeping the public ip.
It should work. Add the new IP Address resource and set the dependencies on
all the other resources as needed.
However, just because it should work does not mean it is your best
alternative.
Russ Kaufmann
MVP - Windows Server - Clustering
ClusterHelp.com, a Microsoft Certified Gold Partner
Web http://www.clusterhelp.com
Blog http://msmvps.com/clusterhelp
The next ClusterHelp classes are:
Dec 10 - 13 in Denver
Jan 18 - 31 in Denver
|||Check out the following KB articles:
http://msdn2.microsoft.com/en-us/library/ms190460.aspx
http://msdn2.microsoft.com/en-us/library/ms177447.aspx
Tom
Thomas A. Moreau, BSc, PhD, MCSE, MCDBA, MCITP, MCTS
SQL Server MVP
Toronto, ON Canada
https://mvp.support.microsoft.com/profile/Tom.Moreau
"chrismk" <Multiple IP's (from 2 different networks) on a single SQL 2005
Cluster> wrote in message
news:59d2db33-7eb3-4b9e-af0f-fd54c5d3d72b@.developmentnow.com...
Hello there,
I'm currently building up a SQL 2005 Active/Standby cluster in a DMZ. I have
three NIC's in each server.
Each NIC is connected to a different network:
192.168.100.1 is the public NIC
10.0.0.1 is the NIC used for communication betwen the cluster nodes
(heartbeat)
192.168.200.1 is the admin NIC
I have installed my cluster using the 192.168.100.0 network for public
access. This means that my SQL virtual ip is 192.168.100.10
Each server can be administered over the 192.168.200.0 network (admin) and
the cluster/sql sever ip is available from the 192.168.100.0 (public)
network.
Now for my question: How can I assign a ip address from my admin network
(e.g.192.168.200.10) to the existing SQL server cluster to make it
available from my admin network while keeping the public ip.
Thanx in advance!
Chris
From
http://www.developmentnow.com/g/99_2004_12_1_0_0/sql-server-clustering.htm
Posted via DevelopmentNow.com Groups
http://www.developmentnow.com
Showing posts with label active. Show all posts
Showing posts with label active. Show all posts
Friday, March 30, 2012
Multiple Instances on a cluster
I currently have a 2-node, active/passive cluster running SQL Server
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!
Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegr oups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>
|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon
|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
sql
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!
Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegr oups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>
|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon
|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
sql
Wednesday, March 28, 2012
Multiple Instances on a cluster
I currently have a 2-node, active/passive cluster running SQL Server
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegroups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegroups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
Multiple Instances on a cluster
I currently have a 2-node, active/passive cluster running SQL Server
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
--
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegroups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
2000 w/SP4, running just the default instance. I am looking to add a
2nd instance, but I have a couple of questions on how to start:
1) I understand that you have to re-run the install and create the 2nd
instance. I've already created a separate resource group and have
available a 2nd dedicated IP, physical disk, virtual server name, etc.
When I do the install, which node should I perform the install on?
2) Once I have the 2nd instance installed, and I create the SQL Server
resource, how do I define which instance this resource controls? I.e.
I thought when I selected SQL Server from the resource list, it would
lise SQL Server and SQL Server\Instance2, but it did not.
If anyone has or knows of any step-by-step documentation on how to
setup a 2nd instance it would be appreciated
Thanks in advance for your help!Start the install from the node that currently owns the new resource group.
That group should have only the new disk resource in it. SQL will add the
IP address and the network name during the install from information you
supply. The SQL Installer will create a resource group with all the correct
dependencies. I usually rename the resource groups to match the Virtual
Server names so I don't get confused later on.
--
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
<sean.frenette@.umassmed.edu> wrote in message
news:1141072994.001225.149140@.p10g2000cwp.googlegroups.com...
>I currently have a 2-node, active/passive cluster running SQL Server
> 2000 w/SP4, running just the default instance. I am looking to add a
> 2nd instance, but I have a couple of questions on how to start:
> 1) I understand that you have to re-run the install and create the 2nd
> instance. I've already created a separate resource group and have
> available a 2nd dedicated IP, physical disk, virtual server name, etc.
> When I do the install, which node should I perform the install on?
> 2) Once I have the 2nd instance installed, and I create the SQL Server
> resource, how do I define which instance this resource controls? I.e.
> I thought when I selected SQL Server from the resource list, it would
> lise SQL Server and SQL Server\Instance2, but it did not.
> If anyone has or knows of any step-by-step documentation on how to
> setup a 2nd instance it would be appreciated
> Thanks in advance for your help!
>|||I'm confused.....
what is your goal ?
You want to run multiple server instances on a clustered server in a
production environment ?
If so, why?
(Btw...I dont know the answer to your question, but Hopefully we can get to
a solution one way or another)
Greg Jackson
Pdx, Oregon|||Yep, we are running 2 instances of SQL on the same cluster. We are
getting ready to implement Tumbleweed secure mail product which
requires it's own instance
Multiple instances in a virtual server
We want to create another named instance of SQL Server 2000 (sp 3a) in a SQL
2000 active/active cluster virtual server. We are finding evidence in
several forums (including this one) that we cannot do that : we would need a
new virtual server with its own instance instead. (The problem is our
bespoke software supplier doesn't support that!) Does anybody have any
DEFINITE proof (eg. from Microsoft themselves) that this is the case?
Cheers,
Colin
From BOL. Topic header "Creating a Failover Cluster"
Last bulleted item. 'One Instance...
--SNIP
Elements of a Virtual Server
A virtual server contains:
a.. A combination of one or more disks in a Microsoft Cluster Service
(MSCS) cluster group.
Each MSCS cluster group can contain at most one virtual SQL Server.
b.. A network name for each virtual server. This network name is the
virtual server name.
c.. One or more IP addresses that are used to connect to each virtual
server.
d.. One instance of SQL Server 2000, including a SQL Server resource, a
SQL Server Agent resource, and a full-text resource.
If an administrator uninstalls the instance of SQL Server 2000 within a
virtual server, the virtual server, including all IP addresses and the
network name, is also removed from the MSCS cluster group
--SNIP
Geoff N. Hiten
Microsoft SQL Server MVP
Senior Database Administrator
Careerbuilder.com
I support the Professional Association for SQL Server
www.sqlpass.org
"Colin Bunting" <ColinBunting@.discussions.microsoft.com> wrote in message
news:4F3951C7-E521-4FDB-95F0-4C07E2B380E0@.microsoft.com...
> We want to create another named instance of SQL Server 2000 (sp 3a) in a
SQL
> 2000 active/active cluster virtual server. We are finding evidence in
> several forums (including this one) that we cannot do that : we would
need a
> new virtual server with its own instance instead. (The problem is our
> bespoke software supplier doesn't support that!) Does anybody have any
> DEFINITE proof (eg. from Microsoft themselves) that this is the case?
> --
> Cheers,
> Colin
>
2000 active/active cluster virtual server. We are finding evidence in
several forums (including this one) that we cannot do that : we would need a
new virtual server with its own instance instead. (The problem is our
bespoke software supplier doesn't support that!) Does anybody have any
DEFINITE proof (eg. from Microsoft themselves) that this is the case?
Cheers,
Colin
From BOL. Topic header "Creating a Failover Cluster"
Last bulleted item. 'One Instance...
--SNIP
Elements of a Virtual Server
A virtual server contains:
a.. A combination of one or more disks in a Microsoft Cluster Service
(MSCS) cluster group.
Each MSCS cluster group can contain at most one virtual SQL Server.
b.. A network name for each virtual server. This network name is the
virtual server name.
c.. One or more IP addresses that are used to connect to each virtual
server.
d.. One instance of SQL Server 2000, including a SQL Server resource, a
SQL Server Agent resource, and a full-text resource.
If an administrator uninstalls the instance of SQL Server 2000 within a
virtual server, the virtual server, including all IP addresses and the
network name, is also removed from the MSCS cluster group
--SNIP
Geoff N. Hiten
Microsoft SQL Server MVP
Senior Database Administrator
Careerbuilder.com
I support the Professional Association for SQL Server
www.sqlpass.org
"Colin Bunting" <ColinBunting@.discussions.microsoft.com> wrote in message
news:4F3951C7-E521-4FDB-95F0-4C07E2B380E0@.microsoft.com...
> We want to create another named instance of SQL Server 2000 (sp 3a) in a
SQL
> 2000 active/active cluster virtual server. We are finding evidence in
> several forums (including this one) that we cannot do that : we would
need a
> new virtual server with its own instance instead. (The problem is our
> bespoke software supplier doesn't support that!) Does anybody have any
> DEFINITE proof (eg. from Microsoft themselves) that this is the case?
> --
> Cheers,
> Colin
>
Multiple Instances
Iam planning to install multiple instances in active/active cluster.Will
there be ant problem if I use the same name for virtual server and the
instance name ?Any disadvantages?
Thanks
Ajuss
The virtual server name must be unique on the network and the instance
name must be unique on the cluster.
What you would normally get on a cluster with multiple SQL instances is
each instance having its own unique virtual server name and its own
unique instance name (only 1 instance on a cluster can be the default
instance but I'd recommend making them all named instances for
consistency and to avoid confusion). Like:
Instance 1: VSQL1\Inst1
Instance 2: VSQL2\Inst2
or
Instance 1: SQL20\Production
Instance 2: SQL21\Test
or something similar.
*mike hodgson*
http://sqlnerd.blogspot.com
Ajuss wrote:
>Iam planning to install multiple instances in active/active cluster.Will
>there be ant problem if I use the same name for virtual server and the
>instance name ?Any disadvantages?
>Thanks
>Ajuss
>
there be ant problem if I use the same name for virtual server and the
instance name ?Any disadvantages?
Thanks
Ajuss
The virtual server name must be unique on the network and the instance
name must be unique on the cluster.
What you would normally get on a cluster with multiple SQL instances is
each instance having its own unique virtual server name and its own
unique instance name (only 1 instance on a cluster can be the default
instance but I'd recommend making them all named instances for
consistency and to avoid confusion). Like:
Instance 1: VSQL1\Inst1
Instance 2: VSQL2\Inst2
or
Instance 1: SQL20\Production
Instance 2: SQL21\Test
or something similar.
*mike hodgson*
http://sqlnerd.blogspot.com
Ajuss wrote:
>Iam planning to install multiple instances in active/active cluster.Will
>there be ant problem if I use the same name for virtual server and the
>instance name ?Any disadvantages?
>Thanks
>Ajuss
>
Monday, February 20, 2012
Multiple Active Result Sets (MARS)
Two questions relating to this:
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
Griff
Sorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff
|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree
|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>
|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>
|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac/...s/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************
|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
__________________________________________________ ________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>
|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
__________________________________________________ ________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac/...s/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************
|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>
|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
utilization and slower response time (depending on the plans of course)?
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
Griff
Sorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff
|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree
|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>
|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>
|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac/...s/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************
|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
__________________________________________________ ________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>
|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.ma.../13/63199.aspx
__________________________________________________ ________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac/...s/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************
|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>
|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
utilization and slower response time (depending on the plans of course)?
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>
Multiple Active Result Sets (MARS)
Two questions relating to this:
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
GriffSorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
--
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
--
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac/downloads/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
__________________________________________________________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says
>> that I'm using 2.8 but I can't find where I can download an update from.
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac/downloads/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
__________________________________________________________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
utilization and slower response time (depending on the plans of course)?
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using 2.8
>> but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>|||Synchronous is the opposite of asynchronous. It means that when you execute
a synchronous operation (as most are) the application is blocked until the
operation is completed. When you execute BeginExecuteReader, only the
_query_ is executed asynchronously. Not a single row has been returned from
the query when ADO.NET signals that the asynchronous operation is complete.
You still have to execute Read or Load to return the rows. As you do, your
application is blocked until the last row is returned (Load method).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in
message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what
> it is that is synchronous. Are you saying that I cannot read any rows
> until all rows has been returned? I.e., a FAST hint in the SQL query would
> be of no advantage, but probably lead to higher resource utilization and
> slower response time (depending on the plans of course)?
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://www.solidqualitylearning.com/
> Blog: http://solidqualitylearning.com/blogs/tibor/
>
> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine to
>> handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed
>> to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says that I'm using 2.8 but I can't find where I can download an update
>> from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>|||> Synchronous is the opposite of asynchronous.
Yes, I wrote synchronous in the sense that you implied that the new "asynchronous" features of
ADO.NET 2.0 are not truly asynchronous. I.e., I was wondering which parts were still synchronous.
> You still have to execute Read or Load to return the rows. As you do, your application is blocked
> until the last row is returned (Load method).
Which answers my question :-). You cannot read the rows and present them "as they come". I.e., the
app behavior will be more like QA grid mode (synchronous behavior) compared to text mode (truly
asynchronous behavior).
I have a feeling that the SQL Server FAST hint is sometimes overused. The developer think that
he/she can gain something by using these hints: "I'll present the first few rows immediately", where
very few applications/API/programmers actually program in that sense. And when SQL Server receives a
FAST hint, the overall resource utilization can be significantly higher (using a non-clustered index
for an ORDER BY over a large set, for instance).
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
> Synchronous is the opposite of asynchronous. It means that when you execute a synchronous
> operation (as most are) the application is blocked until the operation is completed. When you
> execute BeginExecuteReader, only the _query_ is executed asynchronously. Not a single row has
> been returned from the query when ADO.NET signals that the asynchronous operation is complete. You
> still have to execute Read or Load to return the rows. As you do, your application is blocked
> until the last row is returned (Load method).
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
> news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
>> synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
>> FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_
>> the query async--the row-fetch operation is synchronous unless you write your own
>> backgroundworker thread routine to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using 2.8
>> but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>|||I'd like to put some clarification and to confirm some of the comments in
the thread, and then point to some resources. I'm assuming that since we're
in the ADO.NET newsgroup, this is about ADO.NET in particular :)
- As several folks pointed out, MARS and asynchronous command execution are
different, unrelated things (they can be used to together, but that's
another story)
- Asynchronous command execution works against all versions of SQL Server
that ADO.NET can talk to (7.0 and later). You get the same functionality
against all of them.
- Asynchronous command execution is *not* the same as old ADO's asynchronous
execution, and it's *not* the same as using an asynchronous delegate
(BegingInvoke) or the thread-pool.
- Asynchronous command execution is entirely implemented on the client
interfaces, not in the server. It's completely unrelated to OPTION(FAST x)
or FASTFIRSTROW
A few years ago, in the first beta of ADO.NET 2.0 and early pre-release
versions of SQL Server, there used to be something called MDAC 9.0. That
thing does not exist any more. ADO.NET is now self-contained, so you don't
need any external libraries in order to use asynchronous command execution,
MARS, or any other SQL Server feature from ADO.NET.
For more information about asynchronous command execution you can read:
http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
--
Pablo Castro
Program Manager - ADO.NET Team
Microsoft Corp.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in
message news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
> Yes, I wrote synchronous in the sense that you implied that the new
> "asynchronous" features of ADO.NET 2.0 are not truly asynchronous. I.e., I
> was wondering which parts were still synchronous.
>
>> You still have to execute Read or Load to return the rows. As you do,
>> your application is blocked until the last row is returned (Load method).
> Which answers my question :-). You cannot read the rows and present them
> "as they come". I.e., the app behavior will be more like QA grid mode
> (synchronous behavior) compared to text mode (truly asynchronous
> behavior).
> I have a feeling that the SQL Server FAST hint is sometimes overused. The
> developer think that he/she can gain something by using these hints: "I'll
> present the first few rows immediately", where very few
> applications/API/programmers actually program in that sense. And when SQL
> Server receives a FAST hint, the overall resource utilization can be
> significantly higher (using a non-clustered index for an ORDER BY over a
> large set, for instance).
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://www.solidqualitylearning.com/
> Blog: http://solidqualitylearning.com/blogs/tibor/
>
> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you
>> execute a synchronous operation (as most are) the application is blocked
>> until the operation is completed. When you execute BeginExecuteReader,
>> only the _query_ is executed asynchronously. Not a single row has been
>> returned from the query when ADO.NET signals that the asynchronous
>> operation is complete. You still have to execute Read or Load to return
>> the rows. As you do, your application is blocked until the last row is
>> returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
>> in message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly
>> what it is that is synchronous. Are you saying that I cannot read any
>> rows until all rows has been returned? I.e., a FAST hint in the SQL
>> query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine
>> to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things
>> needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server
>> 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says that I'm using 2.8 but I can't find where I can download an
>> update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>|||Pablo, thanks a lot for adding these comments. Your article was especially
informative.
--
Dan Guzman
SQL Server MVP
"Pablo Castro [MS]" <pablocas@.online.microsoft.com> wrote in message
news:e$fR4z2KGHA.1312@.TK2MSFTNGP09.phx.gbl...
> I'd like to put some clarification and to confirm some of the comments in
> the thread, and then point to some resources. I'm assuming that since
> we're in the ADO.NET newsgroup, this is about ADO.NET in particular :)
> - As several folks pointed out, MARS and asynchronous command execution
> are different, unrelated things (they can be used to together, but that's
> another story)
> - Asynchronous command execution works against all versions of SQL Server
> that ADO.NET can talk to (7.0 and later). You get the same functionality
> against all of them.
> - Asynchronous command execution is *not* the same as old ADO's
> asynchronous execution, and it's *not* the same as using an asynchronous
> delegate (BegingInvoke) or the thread-pool.
> - Asynchronous command execution is entirely implemented on the client
> interfaces, not in the server. It's completely unrelated to OPTION(FAST x)
> or FASTFIRSTROW
> A few years ago, in the first beta of ADO.NET 2.0 and early pre-release
> versions of SQL Server, there used to be something called MDAC 9.0. That
> thing does not exist any more. ADO.NET is now self-contained, so you don't
> need any external libraries in order to use asynchronous command
> execution, MARS, or any other SQL Server feature from ADO.NET.
> For more information about asynchronous command execution you can read:
> http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
> --
> Pablo Castro
> Program Manager - ADO.NET Team
> Microsoft Corp.
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
> in message news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
>> Yes, I wrote synchronous in the sense that you implied that the new
>> "asynchronous" features of ADO.NET 2.0 are not truly asynchronous. I.e.,
>> I was wondering which parts were still synchronous.
>>
>> You still have to execute Read or Load to return the rows. As you do,
>> your application is blocked until the last row is returned (Load
>> method).
>> Which answers my question :-). You cannot read the rows and present them
>> "as they come". I.e., the app behavior will be more like QA grid mode
>> (synchronous behavior) compared to text mode (truly asynchronous
>> behavior).
>> I have a feeling that the SQL Server FAST hint is sometimes overused. The
>> developer think that he/she can gain something by using these hints:
>> "I'll present the first few rows immediately", where very few
>> applications/API/programmers actually program in that sense. And when SQL
>> Server receives a FAST hint, the overall resource utilization can be
>> significantly higher (using a non-clustered index for an ORDER BY over a
>> large set, for instance).
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you
>> execute a synchronous operation (as most are) the application is blocked
>> until the operation is completed. When you execute BeginExecuteReader,
>> only the _query_ is executed asynchronously. Not a single row has been
>> returned from the query when ADO.NET signals that the asynchronous
>> operation is complete. You still have to execute Read or Load to return
>> the rows. As you do, your application is blocked until the last row is
>> returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
>> in message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly
>> what it is that is synchronous. Are you saying that I cannot read any
>> rows until all rows has been returned? I.e., a FAST hint in the SQL
>> query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of
>> course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine
>> to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things
>> needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server
>> 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry
>> setting says that I'm using 2.8 but I can't find where I can download
>> an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>
>|||> - Asynchronous command execution is entirely implemented on the client interfaces, not in the
> server. It's completely unrelated to OPTION(FAST x) or FASTFIRSTROW
I think I having problems getting my point across. My point is that a developer might think:
"Asynchronous... Great. I can now submit my query using a FAST hint and read and present the rows to
the user as SQL Server output the rows in its out buffer. The user will see rows immediately and
doesn't have to wait for the whole set to be returned."
And this is not how ADO.NET asynchronous execution work. Unless there is some undocumented
AsyncGetRecord method.
So, the point is that the cost for the query can be *significant* higher using a FAST hint, and it
is sad if someone uses such hint and not only is the response time for that operation slower, the
resource consumption on the server is higher. In below example, the query with the FAST hint is uses
300 *times* more I/O:
USE AdventureWorks
SET STATISTICS IO ON
SELECT OrderQty, SalesOrderId, ProductID
FROM Sales.SalesOrderDetail
ORDER BY ProductID
--1241 I/O
SET STATISTICS IO ON
SELECT OrderQty, SalesOrderId, ProductID
FROM Sales.SalesOrderDetail
ORDER BY ProductID
OPTION(FAST 10)
--371771 I/O
This is not really an ADO.NET issue, it is only a caution of using the FAST hint, unless you program
in an environment which allow you to read the rows as they arrive in the input buffer (like ODBC
does). Oh, and btw, thanks for the info, enlightening. :-)
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"Pablo Castro [MS]" <pablocas@.online.microsoft.com> wrote in message
news:e$fR4z2KGHA.1312@.TK2MSFTNGP09.phx.gbl...
> I'd like to put some clarification and to confirm some of the comments in the thread, and then
> point to some resources. I'm assuming that since we're in the ADO.NET newsgroup, this is about
> ADO.NET in particular :)
> - As several folks pointed out, MARS and asynchronous command execution are different, unrelated
> things (they can be used to together, but that's another story)
> - Asynchronous command execution works against all versions of SQL Server that ADO.NET can talk to
> (7.0 and later). You get the same functionality against all of them.
> - Asynchronous command execution is *not* the same as old ADO's asynchronous execution, and it's
> *not* the same as using an asynchronous delegate (BegingInvoke) or the thread-pool.
> - Asynchronous command execution is entirely implemented on the client interfaces, not in the
> server. It's completely unrelated to OPTION(FAST x) or FASTFIRSTROW
> A few years ago, in the first beta of ADO.NET 2.0 and early pre-release versions of SQL Server,
> there used to be something called MDAC 9.0. That thing does not exist any more. ADO.NET is now
> self-contained, so you don't need any external libraries in order to use asynchronous command
> execution, MARS, or any other SQL Server feature from ADO.NET.
> For more information about asynchronous command execution you can read:
> http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
> --
> Pablo Castro
> Program Manager - ADO.NET Team
> Microsoft Corp.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
> news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
>> Yes, I wrote synchronous in the sense that you implied that the new "asynchronous" features of
>> ADO.NET 2.0 are not truly asynchronous. I.e., I was wondering which parts were still synchronous.
>>
>> You still have to execute Read or Load to return the rows. As you do, your application is
>> blocked until the last row is returned (Load method).
>> Which answers my question :-). You cannot read the rows and present them "as they come". I.e.,
>> the app behavior will be more like QA grid mode (synchronous behavior) compared to text mode
>> (truly asynchronous behavior).
>> I have a feeling that the SQL Server FAST hint is sometimes overused. The developer think that
>> he/she can gain something by using these hints: "I'll present the first few rows immediately",
>> where very few applications/API/programmers actually program in that sense. And when SQL Server
>> receives a FAST hint, the overall resource utilization can be significantly higher (using a
>> non-clustered index for an ORDER BY over a large set, for instance).
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you execute a synchronous
>> operation (as most are) the application is blocked until the operation is completed. When you
>> execute BeginExecuteReader, only the _query_ is executed asynchronously. Not a single row has
>> been returned from the query when ADO.NET signals that the asynchronous operation is complete.
>> You still have to execute Read or Load to return the rows. As you do, your application is
>> blocked until the last row is returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
>> news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
>> synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e.,
>> a FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_
>> the query async--the row-fetch operation is synchronous unless you write your own
>> backgroundworker thread routine to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using
>> 2.8 but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
GriffSorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
--
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
--
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac/downloads/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
__________________________________________________________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says
>> that I'm using 2.8 but I can't find where I can download an update from.
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac/downloads/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx
__________________________________________________________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
utilization and slower response time (depending on the plans of course)?
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using 2.8
>> but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>|||Synchronous is the opposite of asynchronous. It means that when you execute
a synchronous operation (as most are) the application is blocked until the
operation is completed. When you execute BeginExecuteReader, only the
_query_ is executed asynchronously. Not a single row has been returned from
the query when ADO.NET signals that the asynchronous operation is complete.
You still have to execute Read or Load to return the rows. As you do, your
application is blocked until the last row is returned (Load method).
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in
message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what
> it is that is synchronous. Are you saying that I cannot read any rows
> until all rows has been returned? I.e., a FAST hint in the SQL query would
> be of no advantage, but probably lead to higher resource utilization and
> slower response time (depending on the plans of course)?
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://www.solidqualitylearning.com/
> Blog: http://solidqualitylearning.com/blogs/tibor/
>
> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine to
>> handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed
>> to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says that I'm using 2.8 but I can't find where I can download an update
>> from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>|||> Synchronous is the opposite of asynchronous.
Yes, I wrote synchronous in the sense that you implied that the new "asynchronous" features of
ADO.NET 2.0 are not truly asynchronous. I.e., I was wondering which parts were still synchronous.
> You still have to execute Read or Load to return the rows. As you do, your application is blocked
> until the last row is returned (Load method).
Which answers my question :-). You cannot read the rows and present them "as they come". I.e., the
app behavior will be more like QA grid mode (synchronous behavior) compared to text mode (truly
asynchronous behavior).
I have a feeling that the SQL Server FAST hint is sometimes overused. The developer think that
he/she can gain something by using these hints: "I'll present the first few rows immediately", where
very few applications/API/programmers actually program in that sense. And when SQL Server receives a
FAST hint, the overall resource utilization can be significantly higher (using a non-clustered index
for an ORDER BY over a large set, for instance).
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
> Synchronous is the opposite of asynchronous. It means that when you execute a synchronous
> operation (as most are) the application is blocked until the operation is completed. When you
> execute BeginExecuteReader, only the _query_ is executed asynchronously. Not a single row has
> been returned from the query when ADO.NET signals that the asynchronous operation is complete. You
> still have to execute Read or Load to return the rows. As you do, your application is blocked
> until the last row is returned (Load method).
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights.
> __________________________________
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
> news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
>> synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e., a
>> FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_
>> the query async--the row-fetch operation is synchronous unless you write your own
>> backgroundworker thread routine to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using 2.8
>> but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>|||I'd like to put some clarification and to confirm some of the comments in
the thread, and then point to some resources. I'm assuming that since we're
in the ADO.NET newsgroup, this is about ADO.NET in particular :)
- As several folks pointed out, MARS and asynchronous command execution are
different, unrelated things (they can be used to together, but that's
another story)
- Asynchronous command execution works against all versions of SQL Server
that ADO.NET can talk to (7.0 and later). You get the same functionality
against all of them.
- Asynchronous command execution is *not* the same as old ADO's asynchronous
execution, and it's *not* the same as using an asynchronous delegate
(BegingInvoke) or the thread-pool.
- Asynchronous command execution is entirely implemented on the client
interfaces, not in the server. It's completely unrelated to OPTION(FAST x)
or FASTFIRSTROW
A few years ago, in the first beta of ADO.NET 2.0 and early pre-release
versions of SQL Server, there used to be something called MDAC 9.0. That
thing does not exist any more. ADO.NET is now self-contained, so you don't
need any external libraries in order to use asynchronous command execution,
MARS, or any other SQL Server feature from ADO.NET.
For more information about asynchronous command execution you can read:
http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
--
Pablo Castro
Program Manager - ADO.NET Team
Microsoft Corp.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in
message news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
> Yes, I wrote synchronous in the sense that you implied that the new
> "asynchronous" features of ADO.NET 2.0 are not truly asynchronous. I.e., I
> was wondering which parts were still synchronous.
>
>> You still have to execute Read or Load to return the rows. As you do,
>> your application is blocked until the last row is returned (Load method).
> Which answers my question :-). You cannot read the rows and present them
> "as they come". I.e., the app behavior will be more like QA grid mode
> (synchronous behavior) compared to text mode (truly asynchronous
> behavior).
> I have a feeling that the SQL Server FAST hint is sometimes overused. The
> developer think that he/she can gain something by using these hints: "I'll
> present the first few rows immediately", where very few
> applications/API/programmers actually program in that sense. And when SQL
> Server receives a FAST hint, the overall resource utilization can be
> significantly higher (using a non-clustered index for an ORDER BY over a
> large set, for instance).
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://www.solidqualitylearning.com/
> Blog: http://solidqualitylearning.com/blogs/tibor/
>
> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you
>> execute a synchronous operation (as most are) the application is blocked
>> until the operation is completed. When you execute BeginExecuteReader,
>> only the _query_ is executed asynchronously. Not a single row has been
>> returned from the query when ADO.NET signals that the asynchronous
>> operation is complete. You still have to execute Read or Load to return
>> the rows. As you do, your application is blocked until the last row is
>> returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
>> in message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly
>> what it is that is synchronous. Are you saying that I cannot read any
>> rows until all rows has been returned? I.e., a FAST hint in the SQL
>> query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine
>> to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things
>> needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server
>> 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
>> says that I'm using 2.8 but I can't find where I can download an
>> update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>|||Pablo, thanks a lot for adding these comments. Your article was especially
informative.
--
Dan Guzman
SQL Server MVP
"Pablo Castro [MS]" <pablocas@.online.microsoft.com> wrote in message
news:e$fR4z2KGHA.1312@.TK2MSFTNGP09.phx.gbl...
> I'd like to put some clarification and to confirm some of the comments in
> the thread, and then point to some resources. I'm assuming that since
> we're in the ADO.NET newsgroup, this is about ADO.NET in particular :)
> - As several folks pointed out, MARS and asynchronous command execution
> are different, unrelated things (they can be used to together, but that's
> another story)
> - Asynchronous command execution works against all versions of SQL Server
> that ADO.NET can talk to (7.0 and later). You get the same functionality
> against all of them.
> - Asynchronous command execution is *not* the same as old ADO's
> asynchronous execution, and it's *not* the same as using an asynchronous
> delegate (BegingInvoke) or the thread-pool.
> - Asynchronous command execution is entirely implemented on the client
> interfaces, not in the server. It's completely unrelated to OPTION(FAST x)
> or FASTFIRSTROW
> A few years ago, in the first beta of ADO.NET 2.0 and early pre-release
> versions of SQL Server, there used to be something called MDAC 9.0. That
> thing does not exist any more. ADO.NET is now self-contained, so you don't
> need any external libraries in order to use asynchronous command
> execution, MARS, or any other SQL Server feature from ADO.NET.
> For more information about asynchronous command execution you can read:
> http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
> --
> Pablo Castro
> Program Manager - ADO.NET Team
> Microsoft Corp.
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
> in message news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
>> Yes, I wrote synchronous in the sense that you implied that the new
>> "asynchronous" features of ADO.NET 2.0 are not truly asynchronous. I.e.,
>> I was wondering which parts were still synchronous.
>>
>> You still have to execute Read or Load to return the rows. As you do,
>> your application is blocked until the last row is returned (Load
>> method).
>> Which answers my question :-). You cannot read the rows and present them
>> "as they come". I.e., the app behavior will be more like QA grid mode
>> (synchronous behavior) compared to text mode (truly asynchronous
>> behavior).
>> I have a feeling that the SQL Server FAST hint is sometimes overused. The
>> developer think that he/she can gain something by using these hints:
>> "I'll present the first few rows immediately", where very few
>> applications/API/programmers actually program in that sense. And when SQL
>> Server receives a FAST hint, the overall resource utilization can be
>> significantly higher (using a non-clustered index for an ORDER BY over a
>> large set, for instance).
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you
>> execute a synchronous operation (as most are) the application is blocked
>> until the operation is completed. When you execute BeginExecuteReader,
>> only the _query_ is executed asynchronously. Not a single row has been
>> returned from the query when ADO.NET signals that the asynchronous
>> operation is complete. You still have to execute Read or Load to return
>> the rows. As you do, your application is blocked until the last row is
>> returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote
>> in message news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly
>> what it is that is synchronous. Are you saying that I cannot read any
>> rows until all rows has been returned? I.e., a FAST hint in the SQL
>> query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of
>> course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
>> ADO.NET only _executes_ the query async--the row-fetch operation is
>> synchronous unless you write your own backgroundworker thread routine
>> to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things
>> needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message
>> news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server
>> 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry
>> setting says that I'm using 2.8 but I can't find where I can download
>> an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>
>|||> - Asynchronous command execution is entirely implemented on the client interfaces, not in the
> server. It's completely unrelated to OPTION(FAST x) or FASTFIRSTROW
I think I having problems getting my point across. My point is that a developer might think:
"Asynchronous... Great. I can now submit my query using a FAST hint and read and present the rows to
the user as SQL Server output the rows in its out buffer. The user will see rows immediately and
doesn't have to wait for the whole set to be returned."
And this is not how ADO.NET asynchronous execution work. Unless there is some undocumented
AsyncGetRecord method.
So, the point is that the cost for the query can be *significant* higher using a FAST hint, and it
is sad if someone uses such hint and not only is the response time for that operation slower, the
resource consumption on the server is higher. In below example, the query with the FAST hint is uses
300 *times* more I/O:
USE AdventureWorks
SET STATISTICS IO ON
SELECT OrderQty, SalesOrderId, ProductID
FROM Sales.SalesOrderDetail
ORDER BY ProductID
--1241 I/O
SET STATISTICS IO ON
SELECT OrderQty, SalesOrderId, ProductID
FROM Sales.SalesOrderDetail
ORDER BY ProductID
OPTION(FAST 10)
--371771 I/O
This is not really an ADO.NET issue, it is only a caution of using the FAST hint, unless you program
in an environment which allow you to read the rows as they arrive in the input buffer (like ODBC
does). Oh, and btw, thanks for the info, enlightening. :-)
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"Pablo Castro [MS]" <pablocas@.online.microsoft.com> wrote in message
news:e$fR4z2KGHA.1312@.TK2MSFTNGP09.phx.gbl...
> I'd like to put some clarification and to confirm some of the comments in the thread, and then
> point to some resources. I'm assuming that since we're in the ADO.NET newsgroup, this is about
> ADO.NET in particular :)
> - As several folks pointed out, MARS and asynchronous command execution are different, unrelated
> things (they can be used to together, but that's another story)
> - Asynchronous command execution works against all versions of SQL Server that ADO.NET can talk to
> (7.0 and later). You get the same functionality against all of them.
> - Asynchronous command execution is *not* the same as old ADO's asynchronous execution, and it's
> *not* the same as using an asynchronous delegate (BegingInvoke) or the thread-pool.
> - Asynchronous command execution is entirely implemented on the client interfaces, not in the
> server. It's completely unrelated to OPTION(FAST x) or FASTFIRSTROW
> A few years ago, in the first beta of ADO.NET 2.0 and early pre-release versions of SQL Server,
> there used to be something called MDAC 9.0. That thing does not exist any more. ADO.NET is now
> self-contained, so you don't need any external libraries in order to use asynchronous command
> execution, MARS, or any other SQL Server feature from ADO.NET.
> For more information about asynchronous command execution you can read:
> http://msdn.microsoft.com/library/en-us/dnvs05/html/async2.asp
> --
> Pablo Castro
> Program Manager - ADO.NET Team
> Microsoft Corp.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
> news:OUF5hLpKGHA.3732@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous.
>> Yes, I wrote synchronous in the sense that you implied that the new "asynchronous" features of
>> ADO.NET 2.0 are not truly asynchronous. I.e., I was wondering which parts were still synchronous.
>>
>> You still have to execute Read or Load to return the rows. As you do, your application is
>> blocked until the last row is returned (Load method).
>> Which answers my question :-). You cannot read the rows and present them "as they come". I.e.,
>> the app behavior will be more like QA grid mode (synchronous behavior) compared to text mode
>> (truly asynchronous behavior).
>> I have a feeling that the SQL Server FAST hint is sometimes overused. The developer think that
>> he/she can gain something by using these hints: "I'll present the first few rows immediately",
>> where very few applications/API/programmers actually program in that sense. And when SQL Server
>> receives a FAST hint, the overall resource utilization can be significantly higher (using a
>> non-clustered index for an ORDER BY over a large set, for instance).
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:%23mUrrioKGHA.1124@.TK2MSFTNGP10.phx.gbl...
>> Synchronous is the opposite of asynchronous. It means that when you execute a synchronous
>> operation (as most are) the application is blocked until the operation is completed. When you
>> execute BeginExecuteReader, only the _query_ is executed asynchronously. Not a single row has
>> been returned from the query when ADO.NET signals that the asynchronous operation is complete.
>> You still have to execute Read or Load to return the rows. As you do, your application is
>> blocked until the last row is returned (Load method).
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Tibor Karaszi" <tibor_please.no.email_karaszi@.hotmail.nomail.com> wrote in message
>> news:eiN02bkKGHA.1192@.TK2MSFTNGP11.phx.gbl...
>> Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what it is that is
>> synchronous. Are you saying that I cannot read any rows until all rows has been returned? I.e.,
>> a FAST hint in the SQL query would be of no advantage, but probably lead to higher resource
>> utilization and slower response time (depending on the plans of course)?
>> --
>> Tibor Karaszi, SQL Server MVP
>> http://www.karaszi.com/sqlserver/default.asp
>> http://www.solidqualitylearning.com/
>> Blog: http://solidqualitylearning.com/blogs/tibor/
>>
>> "William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
>> news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
>> Good answers all.
>> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.NET only _executes_
>> the query async--the row-fetch operation is synchronous unless you write your own
>> backgroundworker thread routine to handle it.
>> MARS? Just leave it alone--you won't need it for 90% of the things needed to be done.
>> --
>> ____________________________________
>> William (Bill) Vaughn
>> Author, Mentor, Consultant
>> Microsoft MVP
>> INETA Speaker
>> www.betav.com/blog/billva
>> www.betav.com
>> Please reply only to the newsgroup so that others can benefit.
>> This posting is provided "AS IS" with no warranties, and confers no rights.
>> __________________________________
>> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
>> Two questions relating to this:
>> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
>> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says that I'm using
>> 2.8 but I can't find where I can download an update from.
>> Thanks if you can help with either of these questions.
>> Griff
>>
>>
>>
>
Multiple Active Result Sets (MARS)
Two questions relating to this:
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
GriffSorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting say
s
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac...ds/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.m...5/13/63199.aspx
________________________________________
__________________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.m...5/13/63199.aspx
________________________________________
__________________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac...ds/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what i
t is that is
synchronous. Are you saying that I cannot read any rows until all rows has b
een returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to hi
gher resource
utilization and slower response time (depending on the plans of course)?
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.
NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your
own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed
to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights
.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSF
TNGP12.phx.gbl...
>
1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
2 - My ASP.NET book says that I require MDAC 9.0. My registry setting says
that I'm using 2.8 but I can't find where I can download an update from.
Thanks if you can help with either of these questions.
GriffSorry - need to be a bit more specific here.
I'm wanting to implement the ability to have asynchronous command
execution....
Griff|||1. Yes for MARS you need Sql Server 2005
Your second question is not clear, please give more inputs...
Thanks,
Sree|||> I'm wanting to implement the ability to have asynchronous command
> execution....
You can execute SQL commands asynchronously in ADO.NET 2.0 (Visual Studio
2005) using BeginExecute../EndExecute... methods of the command object
regardless of the provider. Each concurrent command will need a separate
connection. You can also accomplish the same result on your own using
delegates and multiple threads in any version of ADO.NET. Old fashioned ADO
can also execute command asynchronously if you specify the adAsynchExecute
ExecuteOption.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||MARS is part of SQL Native Client (SQLNCI) and is a SQL 2005-only feature.
SQLNCI provides features above and beyond MDAC.
You can still execute asynchronous queries without SQL 2005/SQLNCI. See my
response to your other question.
Hope this helps.
Dan Guzman
SQL Server MVP
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||"Griff" wrote:
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
MARS is SQL Server 2005 only. Asynch communication can be done with either
SQL 2005 or 2000, but 2005 has better functionality built in. Note that most
of the functionality is included in SQL Server 2005 Express, which is a good
development option (may even be a good production option, depending on the
app); if you can find an ISP with SQL 2005 (I can suggest some), I would go
with SQL 2005 and use the newer model.
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting say
s
> that I'm using 2.8 but I can't find where I can download an update from.
2.8 is the latest MDAC:
http://msdn.microsoft.com/data/mdac...ds/default.aspx
I know the 9.x is important, but the reason skips my mind. If you have 2.8
with the proper .NET library installed, you are fine.
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************|||Asynchronous command is not the same as MARS.
Asynch command exec should work on SQL2k also.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.m...5/13/63199.aspx
________________________________________
__________________
"Griff" <howling@.the.moon> wrote in message
news:ejhcXwKKGHA.2900@.TK2MSFTNGP14.phx.gbl...
> Sorry - need to be a bit more specific here.
> I'm wanting to implement the ability to have asynchronous command
> execution....
> Griff
>|||> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
All that you need comes bundled up with SQL Server 2005 libraries.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.m...5/13/63199.aspx
________________________________________
__________________
"Cowboy (Gregory A. Beamer) - MVP" <NoSpamMgbworld@.comcast.netNoSpamM> wrote
in message news:AB190AE5-48A7-4604-B791-C85D4031F3EA@.microsoft.com...
> "Griff" wrote:
>
> MARS is SQL Server 2005 only. Asynch communication can be done with either
> SQL 2005 or 2000, but 2005 has better functionality built in. Note that
> most
> of the functionality is included in SQL Server 2005 Express, which is a
> good
> development option (may even be a good production option, depending on the
> app); if you can find an ISP with SQL 2005 (I can suggest some), I would
> go
> with SQL 2005 and use the newer model.
>
> 2.8 is the latest MDAC:
> http://msdn.microsoft.com/data/mdac...ds/default.aspx
> I know the 9.x is important, but the reason skips my mind. If you have 2.8
> with the proper .NET library installed, you are fine.
>
> --
> Gregory A. Beamer
> MVP; MCP: +I, SE, SD, DBA
> ***************************
> Think Outside the Box!
> ***************************|||Good answers all.
Just be aware that ADO.NET 2.0 async ops don't work like ADO classic.
ADO.NET only _executes_ the query async--the row-fetch operation is
synchronous unless you write your own backgroundworker thread routine to
handle it.
MARS? Just leave it alone--you won't need it for 90% of the things needed to
be done.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Griff" <howling@.the.moon> wrote in message
news:%23lKiyuKKGHA.3936@.TK2MSFTNGP12.phx.gbl...
> Two questions relating to this:
> 1 - Do I require SQL Server 2005 or can this work with SQL Server 2000?
> 2 - My ASP.NET book says that I require MDAC 9.0. My registry setting
> says that I'm using 2.8 but I can't find where I can download an update
> from.
> Thanks if you can help with either of these questions.
> Griff
>|||Hmm, regarding async in ADO.NET 2.0. I'm trying to understand exactly what i
t is that is
synchronous. Are you saying that I cannot read any rows until all rows has b
een returned? I.e., a
FAST hint in the SQL query would be of no advantage, but probably lead to hi
gher resource
utilization and slower response time (depending on the plans of course)?
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"William (Bill) Vaughn" <billvaRemoveThis@.nwlink.com> wrote in message
news:OSG$1UcKGHA.3272@.tk2msftngp13.phx.gbl...
> Good answers all.
> Just be aware that ADO.NET 2.0 async ops don't work like ADO classic. ADO.
NET only _executes_ the
> query async--the row-fetch operation is synchronous unless you write your
own backgroundworker
> thread routine to handle it.
> MARS? Just leave it alone--you won't need it for 90% of the things needed
to be done.
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no rights
.
> __________________________________
> "Griff" <howling@.the.moon> wrote in message news:%23lKiyuKKGHA.3936@.TK2MSF
TNGP12.phx.gbl...
>
Multiple Active Result Sets
Hi,
do u know
has sql server 2000 support MARS?
out of necessity i must use mars
do u know
has sql server 2000 support MARS?
No, MARS is a new feature supported by SQL Server 2005.|||h?mm ok
i ve a db (sql server 2000). and i want to fill 3 collections from db at the same time. i think i can do it with using mars. but it's no supported SQL server 2000.
how can i do this in sql server 2000?
thanks.
|||
You might consider using a stored procedure that has all three queries.
Execute the stored procedure with a datareader object, using the NEXT resultset option to populate each of your collections.
Or upgrade to SQL 2005 and use MARS.
|||I think ? can't do it with using stored procedure. because i want to fill collections at the same time.out of necessity i must use mars
|||
IF you are indeed using SQL 2000, you can NOT use MARS.
MARS is a new feature with SQL 2005.
Subscribe to:
Posts (Atom)